@charset "UTF-8";
/*----------------------------
/ Foundation - reset
--------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;
}
body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video,
button, select, option, input, textarea {
	font-size: 100%;
}
ol, ul {list-style: none;}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}
q, blockquote {quotes: none;}
q:before, q:after,
blockquote:before, blockquote:after {
	content: "";
	content: none;
}
a img {border: none;}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
	display: block;
}
video {max-width: 100%;}



/*  --------------------------------------
デバイス振り分け(PC)
--------------------------------------  */
@media screen and (min-width:838px) {
.sp {display:none;}
body{
	font-family: 'Zen Kaku Gothic New', sans-serif;
	text-align : left;
	font-size:16px;
	color:#212123;
	min-height: 100vh;
	position: relative;
	box-sizing: border-box;
	overflow-x:hidden;
}
body.withtrace {
	padding-bottom: 180px;
}
body.subpage {
	padding-bottom: 24px;
}
a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
}
/* --------------------  ヘッダー */
header {
	margin:0 auto;
	padding:0 50px;
	max-width:1160px;
	max-height: 1039px;
	font-size:0;
	line-height:0;
}
header h1 {
	margin:0 auto;
	width:100%;
	font-size:0;
	line-height:0;
	position:relative;
}
header h1 img {width:100%;}
.navi {
	width:180px;
	height:90px;
	font-size:0;
	line-height:0;
	display: flex;
	position:absolute;
	top:0;
	left:0;
}
.logo  {
	margin:10px 0 0 5px;
	width:180px;
}
.nav01 {width: 60px;}
.home_title {
	width:40.51%;
	max-height:100px;

	position:absolute;
	top:30.55%;
	left:2.58%;
}
.home_news_wrap {
	width:48%;
	max-height:120px;
	text-align:left;

	position:absolute;
	top:60.82%;
	left:0;
}
.hn_title {
	margin:0 0 16px;
	padding:5px 0 6px 27px;
	width:63px;
	font-size:18px;
	line-height:18px;
	font-weight:600;
	color:#FFF;
	background:#002654;
}
.home_news_wrap ul {
	width:100%;
	font-size:14px;
	line-height:14px;
	font-weight:500;
}
.home_news_wrap li {
	margin:0 0 10px;
	padding:0 0 0 54px;
	position:relative;
}
li.newest:before {
	content: 'NEW';
	padding:3px 3px 5px 4px;
	width:24px;
	height:10px;
	font-size:10px;
	line-height:10px;
	font-weight:600;
	text-align:center;
	color:#FFF;
	background:#ce1126;
	position:absolute;
	top:-2px;
	left:12px;
}
.side_scroll {
	width:22px;
	font-size:0;
	line-height:0;

	color:#0f1110;
	transform: translateY(-50%) translateX(0);
	-webkit-transform: translateY(-50%) translateX(0);

	position:absolute;
	top:86%;
	left:0.5%;
}
.side_scroll::before {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #0f1110;
	animation: circle 1.8s ease-in-out infinite, cirlehide 1.8s ease-out infinite;

	position: absolute;
	bottom: 0;
	left: 7px;
}
.side_scroll::after {
	content: "";
	width: 1px;
	height: 82px;
	background: #0f1110;

	position: absolute;
	bottom: 0;
	left: 11px;
}
.side_scroll span {
	width:16px;
	height:32px;
	position: absolute;
	top: -120px;
	left: 4px;
}
.side_scroll span img {width:100%;}
@keyframes circle {
	0%   {bottom: 75px}
	100% {bottom: -5px}
}
@keyframes cirlehide {
	0%   {opacity: 0}
	50%  {opacity: 1}
	80%  {opacity: 0.9}
	100% {opacity: 0}
}
.home_person {
	width:62px;
	height:123px;
	position:absolute;
	bottom:2%;
	left:3.8%;
}
main {
	margin:0 auto;
	padding:0 50px;
	max-width:1160px;
}
.header_cover {
	margin:0 auto;
	max-width:1160px;
	height:70px;
}
.subnavi {
	width:100%;
	display: flex;
}
.subnavi img {width:100%;}
.sublogo  {
	margin:10px 0 0 5px;
	width:140px;
}
.subnav01 {width: 60px;}
.gnavi {
	margin:0 0 0 auto;
	/* width:calc(100% - 140px - 50px); */
}
.gnavi_list {
	width:420px;
	height:70px;
	display: flex;
}
.g_box {
	width:70px;
	height:70px;
	font-size:0;
	line-height:0;
}
.g_box img {width:100%;}
.g_box a {display:block;}
.g_box a:hover {
	background:#f9f9f9;
}


/* ---------------------------
BREADCRUMBS
--------------------------  */
.breadcrumbs {
	margin:20px auto;
	padding: 10px 50px 0 70px;
	max-width: 1140px;
	font-size: 12px;
	line-height: 12px;
	font-weight:600;
	text-align: left;
}
.breadcrumbs ul {
	width:100%;

	display: -webkit-flex;
	display: flex;
}
.breadcrumbs li:not(:first-child) {
	padding:0 0 0 30px;
	position:relative;
}
.breadcrumbs li:not(:first-child):before {
	content: '';
	width: 12px;
	height:12px;
	background-image:url("/img/icon_b12arr.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:2px;
	left:9px;
}
.layer a {
	display:inline-block;
	color:#002654;
	text-decoration:none;
	position:relative;
}
.layer a:hover:after {
	width: 100%;
}
.layer a:after  {
	position: absolute;
	bottom: -5px;
	left: 0;
	content: '';
	width: 0;
	height: 1px;
	background-color: #002654;
	transition: .3s;
}
.curtlayer {
	color:#CCCCCC;
}


/* ===============================
CONTENT
=============================== */
.intro,
.sec01,
.sec02,
.sec06img {
	margin:0 auto;
	width:100%;
	font-size:0;
	line-height:0;
}
.sec01 {max-height:3070px;}
.sec02 {margin:0 auto 100px;}
.sec03 {
	margin:0 auto;
	width:100%;
}
.sec04 {margin:120px auto 0;}
.sec06img {margin:180px auto 0;max-height: 380px;}
.intro img,
.sec01 img,
.sec02 img,
.sec03 img,
.sec04 img,
.sec06img img {width:100%;}
.qa {
	margin:0 auto;
	padding:0 15.5%;
	width:69%;
	max-width:800px;
}
section h2,
.start_wrap h2 {
	font-size:28px;
	line-height:28px;
	font-weight:900;
	text-align:center;
	position:relative;
}
section h2.subpagetitle {
	font-size:42px;
	line-height:42px;
	font-weight:900;
	text-align:center;
	position:relative;
}
section h2 span {
	font-size:20px;
	line-height:42px;
	font-weight:900;
	text-align:center;
	display:block;
}
.title_man,
.title_man2 {
	margin:55px auto 80px;
	padding:0 0 0 73px;
	text-align:left;
}
.title_man:before,
.title_man2:before {
	content: '';
	width: 60px;
	height:114px;
	background-image:url("../img/title_person.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:-35px;
	left:3px;
	z-index:100;
}
.title_man:after,
.title_man2:after {
	content: '';
	width: 100%;
	height:120px;
	background-image:url("../img/pc/top_title_btm.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	bottom:-52px;
	left:0px;
	z-index:90;
}
.title_woman {
	margin:55px auto 80px;
	padding:0;
	width:210px;
	text-align:left;
}
.title_woman:before {
	content: '';
	width: 60px;
	height:114px;
	background-image:url("../img/title_person_qa.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:-38px;
	left:-70px;
}
.works_wrap {
	margin:0 auto 30px;
	width:100%;

	display:flex;
	justify-content:space-between;
}
.works_inner {
	width:31.04%;
	max-width:360px;
	color:#343434;
}
.wi_img {
	width:100%;
	font-size:0;
	line-height:0;
}
.wi_img img {width:100%;}
.works_inner h3 {
	margin:20px auto 15px;
	font-size:18px;
	line-height:18px;
	font-weight:700;
	text-align:left;
}
.works_inner p {
	font-size:14px;
	line-height:25px;
	font-weight:600;
	text-align:justify;
}
.works_note {
	padding:0;
	font-size:14px;
	line-height:20px;
	font-weight:600;
	text-align:left;
}
.sec03 ul {
	width:100%;
	display: flex;
	flex-wrap : wrap;
}
.sec03 li {
	width:calc(100% / 8);
	height:100px;
	font-size:18px;
	line-height:20px;
	font-weight:600;
	text-align:center;
}
.sec03 li a {
	width:100%;
	height:98px;
	color:#343434;
	border:1px solid #f2f2f2;
	background:#FFF;
	text-decoration:none;

	display: flex;
	justify-content: center;
	align-items: center;

	transition: all 0.5s ease 0s;
}
.sec03 li a:hover {
	background: #f9f9f9;
}
.sec03 li:not(:nth-child(8n)) {
	margin:0 0.86% 0 0
}
.s03li_sub {
	display:block;
	padding:8px 0 0;
	font-size:12px;
	line-height:12px;
}
.trackrecord {
	margin:0 auto;
	padding:0 8.6%;
	width:82.8%;
	display: flex;
	flex-wrap : wrap;
}
.trackrecord li {
	margin:0 0 25px 0;

	width:calc((100% - 6.25%) / 3);
	background: #FFF;
	border-radius: 10px;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
	position:relative;
}
.trackrecord li:not(:nth-child(3n)) {
	margin:0 3.125% 25px 0
}
.trackrecord li a {
	display:block;
	padding:25px 20px 20px 20px;
	width:calc(100% - 40px);
	text-decoration:none;
	transition: all 0.5s;
}
.trackrecord li a:hover {
	text-decoration:none;
	background:#f9f9f9;
}
.items {
	width:100%;
	display: flex;
}
.items_image {max-width:100px;}
.items_value {
	margin:0 0 0 16px;
	width:calc(100% - 100px - 16px);
	height:100px;
}
.value_recorstar,
.value_recors {
	width:100%;
}
.value_recorstar div:nth-child(1),
.value_recors div:nth-child(1) {
	padding:0 0 10px;
	font-size:12px;
	line-height:12px;
	font-weight:700;
	text-align:left;
	color:#212123;
}
.value_recorstar div:nth-child(2) {
	margin:0 0 12px;
	width:100%;
	font-size:0;
	line-height:0;
}
.value_recorstar img {width:100%;}
.value_recors div:nth-child(2) {
	width:100%;
	font-size:18px;
	line-height:18px;
	font-weight:700;
	text-align:right;
	color:#212123;
}
.items_brand {
	padding:10px 0 0 0;
	font-size:12px;
	line-height:12px;
	font-weight:500;
	text-align:left;
	color:#212123;
}
.items_name {
	padding:4px 0 3px 0;
	font-size:16px;
	line-height:20px;
	font-weight:700;
	text-align:left;
	color:#212123;
}
.items_no {
	padding:0 0 0 0;
	font-size:12px;
	line-height:12px;
	font-weight:500;
	text-align:left;
	color:#212123;
}
.items_date {
	padding:12px 0 0;
	font-size:10px;
	line-height:12px;
	font-weight:700;
	text-align:right;
	color:#212123;
}
.items_date span {
	position:absolute;
	right:20px;
	bottom:15px;
}
.home_btnarea {
	margin:60px 0 120px;
	max-width:1160px;
}
.link_btn_01 {
	margin:0 auto;
	width:460px;
	font-size:18px;
	line-height:18px;
	font-weight:900;
}
.link_btn_01 a,
.join_bonus_btn a {
	margin:0;
	padding:13px 0 15px;
	width:100%;
	color:#FFF;
	text-decoration:none;
	background:#002654;
	border:2px solid #002654;
	border-radius:3px;

	transition:0.5s all;

	display: -webkit-flex;
	display: flex;
	align-items: center;
}
.link_btn_01 a:hover,
.join_bonus_btn a:hover {
	color:#002654;
	background:#FFF;
}
.link_btn_01 div,
.join_bonus_btn div {
	padding:0 0 0 16px;
	width:calc(100% - 48px);
	text-align:center;
	position:relative;
}
.link_btn_01 span,
.join_bonus_btn span {
	margin:0 16px 0 0;
	width:16px;
	height:16px;
	text-indent:-10000px;
	background:url(../img/icon_arr16.svg) no-repeat center center;
	transition:0.5s all;
}
.link_btn_01 a:hover span,
.join_bonus_btn a:hover span {
	background:url(../img/icon_arr16ov.svg) no-repeat center center;
	transition:0.5s all;
}
.qa ul {
	width:100%;
	color:#343434;
	text-align:justify;
}
.qa ul:not(:first-of-type) {
	border-top:1px solid #E2E2E2;
}
.qa ul li:nth-child(1) {
	margin:10px 0 0;
	padding:25px 0 0 60px;
	width:calc(100% - 60px);
	font-size:20px;
	line-height:26px;
	font-weight:600;
	position:relative;
}
.qa ul li:nth-child(2) {
	margin:0 0 30px;
	padding:22px 0 0 60px;
	width:calc(100% - 60px);
	font-size:18px;
	line-height:30px;
	font-weight:600;
	position:relative;
}
.qa ul li:nth-child(1):before,
.qa ul li:nth-child(2):before {
	content: '';
	width: 38px;
	height:38px;
	background-size: 100%;
	background-repeat: no-repeat;
	position:absolute;
	top:17px;
	left:5px;
}
.qa ul li:nth-child(1):before {
	background-image:url("../img/icon_faq_q.svg");
}
.qa ul li:nth-child(2):before {
	background-image:url("../img/icon_faq_a.svg");
}
.sec05 {
	margin:180px auto 0;
	width:100%;
	max-width:1160px;
}
.shop_info {
	width:100%;
	display: flex;
}
.shop_imgwrap {
	margin:0 4% 0 0;
	width:38%;
}
.shop_image {
	margin:0 0 20px;
	width:100%;
}
.shop_image img {width:100%;}
.owner_infowrap {
	width:100%;
	display:flex;
}
.owner_img {
	margin:0 6% 0 0;
	width:80px;	
}
.owner_image {
	width:80px;
	height:80px;
	font-size:0;
	line-height:0;
	border:3px solid #efefef;
	border-radius:50%;
	overflow:hidden;
}
.owner_image img {
	width:80px;
	height:80px;
	object-fit: cover;
}
.owner_name {
	padding:10px 0 0;
	font-size:13px;
	line-height:13px;
	font-weight:700;
	color:#1A1A1C;
	text-align:center;
}
.owner_msg {
	padding:20px;
	width:calc(100% - 92px - 4%);
	font-size:14px;
	line-height:24px;
	font-weight:700;
	color:#343434;
	background-color:#FFF;
	border-radius:10px;
	position:relative;
	box-sizing: border-box;
	display:inline-block;
	box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.15);
	position:relative;
}
.owner_msg:before {
	content: "";
	position: absolute;
	top: 25%;
	left: -18px;
	margin-top: -10px;
	border: 10px solid transparent;
	border-right: 10px solid #FFF;
	filter: drop-shadow(-5px 0px 5px rgba(0, 0, 0, 0.1));
}
.owner_msg p {
	padding:20px 0 0;
	font-size:10px;
	line-height:10px;
	font-weight:900;
	color:#007396;
}
.shop_inner {
	width:58%;
}
.sec05 ul {
	padding:0;
	width:100%;
	text-align:left;
	color:#262626;
}
.sec05 li {
	width:100%;
	margin-bottom: 30px;
	padding-bottom: 27px;
	border-bottom: 1px solid #F2F2F0;

	display: flex;
	align-items: center;
}
.sec05 li:first-child {
	padding-top: 25px;
	border-top: 1px solid #F2F2F0;
}
.sec05 li div:nth-child(1) {
	padding:0 0 0 10px;
	width: calc(8em - 10px);
	font-size:16px;
	line-height:26px;
	font-weight:600;
}
.sec05 li div:nth-child(2) {
	width: calc(100% - 8em);
	font-size:18px;
	line-height:26px;
	font-weight:600;
}
.sec05 span {
	font-size:14px;
}


/* ===============================
TOOL
=============================== */
.start_wrap {
	margin:60px auto;
	width:100%;
}
.sw_title_woman {
	margin:0 auto 30px;
	padding:0;
	width:600px;
	text-align:center;
	position:relative;
}
.sw_title_woman span:before {
	content: '';
	width: 60px;
	height:114px;
	background-image:url("../img/title_person_qa.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:-38px;
	left:-20px;
}
.step01,
.step02,
.step03,
.step04 {
	margin:0 auto 60px;
	padding:30px;
	width:calc(780px - 60px - 2px);
	border:1px solid #E2E2E2;
	border-radius:6px;
}
.step03 ul li {
	margin:0 0 20px;
	padding:0 0 20px;
	width:100%;
	display:flex;
	align-items: center;
}
.step03 li:not(:last-child) {
	border-bottom: 1px solid #e5e5e5;
}
.step04 h2 {
	margin:0 0 30px;
	font-size:20px;
	line-height:30px;
	font-weight:600;
	text-align:left;
	color:#002654;
}
.step04 p {
	font-size:16px;
	line-height:26px;
	font-weight:600;
}
.sw_img100 {
	width:100%;
	font-size:0;
	line-height:0;
}
.sw_img100 img {width:100%;}
.offer,
.region,
.local {
	margin:30px 0 20px 0;
	padding:10px 5px 20px 44px;
	font-size:18px;
	line-height:18px;
	font-weight:bold;
	border-bottom: 1px solid #e5e5e5;
	position:relative;
}
.offer:before,
.region:before,
.local:before {
	width: 22px;
	height:22px;

	position:absolute;
	top:42%;
	left:16px;
	transform: translate(0,-50%);
}
.offer:before {content: url("../img/icon_one.svg");}
.region:before {content: url("../img/icon_two.svg");}
.local:before {content: url("../img/icon_three.svg");}
.offer_box,
.region_box {
	margin:0 auto 40px;
	width:calc(100% - 0px);
	display:flex;
	flex-wrap: wrap;
}
.offer_box input[type=checkbox],
.region_box input[type=radio] {display: none;}
.offer_box input[type="checkbox"].cb01:checked + label,
.region_box input[type="radio"].cb01:checked + label {
	background: #3a77b4;
	border: 1px solid #3a77b4;
	color: #ffffff;
}
.cl01:hover {
	color:#FFF;
	transition: all 0.3s ease 0s;
	background-color: #333333;
	border: 1px solid #333333;
}
.cl01 {
	margin: 0 0 15px 10px;
	height:60px;
	font-size:15px;
	line-height:15px;
	font-weight:600;
	text-align: center;
	cursor: pointer;
	color: #333333;
	transition: all 0.3s ease 0s;
	border: 1px solid #e5e5e5;
	border-radius: 4px;

	display: flex;
	justify-content: center;
	align-items: center;
}
.cl01 span {font-size:12px;}
.offer_box  > .cl01 {width:calc(33.33% - 15px);}
.region_box > .cl01 {width:calc(25% - 15px);}
.sw_submitwrap {
	width:100%;
	position:relative;
}
.sw_submit {
	margin: 0 auto;
	width:60%;
	height:45px;
	font-size:15px;
	line-height:15px;
	font-weight:600;
	text-align: center;
	color: #333333;
	background:#e5e5e5;
	border:2px solid #e5e5e5;
	border-radius:23px;
	position:relative;

	display: flex;
	justify-content: center;
	align-items: center;
}
.sw_submit span {
	width:16px;
	height:16px;
	text-indent:-10000px;
	background:url(../img/icon_arr16of.svg) no-repeat center center;
	transition:0.5s all;
	position:absolute;
	top:50%;
	right:16px;
	transform:translateY(-50%);
}
.ready {
	cursor: pointer;
	color: #FFF;
	background:#002654;
	border:2px solid #002654;
	transition: all 0.5s ease 0s;
}
.ready:hover {
	color:#002654;
	background:#FFF;
}
.ready span {
	width:16px;
	height:16px;
	text-indent:-10000px;
	background:url(../img/icon_arr16.svg) no-repeat center center;
	transition:0.5s all;
}
.ready:hover span {
	background:url(../img/icon_arr16ov.svg) no-repeat center center;
	transition:0.5s all;
}
.sw_submit a {
	display: flex;
	justify-content: center;
	align-items: center;
	width:100%;
	height:45px;
	color:#FFF;
	text-decoration:none;
	transition:0.5s all;
}
.sw_submit a:hover {color:#002654;}
.nx3 div {
	width:100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.bkstep1,
.bkstep2 {
	position:absolute;
	top:50%;
	left:5px;
	transform: translateY(-50%);
}
.bkstep1 span,
.bkstep2 span {
	margin: 0 auto;
	padding:0 0 0 30px;
	height:45px;
	font-size:15px;
	line-height:15px;
	font-weight:600;
	text-align: center;
	color: #333333;
	cursor: pointer;
	transition:0.5s all;
	position:relative;

	display: flex;
	align-items: center;
}
.bkstep1 span:hover,
.bkstep2 span:hover {
	color: #3a77b4;
	transition:0.5s all;
}
.bkstep1 span:before,
.bkstep2 span:before {
	content: '';
	width: 16px;
	height:16px;
	background-image:url("../img/icon_arrow_l.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:50%;
	left:5px;
	transform: translateY(-50%);
}


/* ===============================
SITE LIST & DETAILS
=============================== */
.website {
	margin: 0;
	width: 100%;
	display: grid;
	grid-gap: 0 0;
}
.website {
	grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
	border-left:1px solid #e6e6e6;
}
.website li {
	padding:0;
	width:100%;
	min-width:200px;
	border-bottom:1px solid #e6e6e6;
	border-right:1px solid #e6e6e6;
	transition: all 0.5s ease 0s;
}
.website > li:nth-child(-n+4) {
	border-top:1px solid #e6e6e6;
}
.website_list {
	display:flex;
}
.website_list a {
	display:block;
	padding:10px 10px 10px 10px;
	width:calc(100% - 20px);
	text-decoration:none;
	transition: all 0.5s;
}
.website_list a:hover {
	text-decoration:none;
	background:#f9f9f9;
}
.website_inner {
	color:#002654;
}
.eyecatch {
	margin:0 auto 8px;
	max-width:100%;
	max-height:180px;
	border-radius:6px;
	font-size:0;
	line-height:0;

	overflow:hidden;
}
.eyecatch img {
	width:100%;
	height:180px;
	object-fit: cover;
	object-position:0 0;
	transition:0.5s all;
}
.website_list a:hover img.scaleimg {
	transform:scale(1.05,1.05);
	transition:0.5s all;
}
.ws_title {
	margin:10px auto 5px;
	min-height:3.25em;
	font-size:16px;
	line-height:24px;
	font-weight:600;
	text-align:left;
}
.ws_box {
	margin:0 0 3px;
	display:flex;
	align-items:center;
}
.ws_kind {
	padding:5px 10px 6px;
	width:40px;
	font-size:10px;
	line-height:10px;
	font-weight:600;
	text-align:center;
	color:#FFF;
	background:#002654;
	border-radius:3px;
	display: flex;
	justify-content:center;
	align-items: center;
}
.ws_submemo {
	margin:0 0 0 auto;
	padding:2px 0 0;
	font-size:10px;
	line-height:10px;
	font-weight:500;
	color:#757575;
}
.ws_level {
	width:calc(60% - 40px - 20px);
	font-size:0;
	line-height:0;
}
.ws_level img {width:100%;}

.ws_memo {
	padding:5px;
	width:calc(100% - 10px - 2px);
	min-height:4.5em;
	font-size:12px;
	line-height:18px;
	font-weight:500;
	text-align:justify;
	border:1px solid #E2E2E2;
	background:#F9F9F9;
}
.ws_total {
	padding:10px 0;
	font-size:24px;
	line-height:24px;
	font-weight:700;
	text-align:right;
	color:#E80027;
}
.ws_total span {
	color:#002654;
	font-size:12px;
}
.ws_upd {
	font-size:12px;
	line-height:12px;
	font-weight:500;
	color:#757575;
	text-align:left;
}
/* detailpage */
.detail_h1 {
	padding:0 0 5px 18px;
	font-size:28px;
	line-height:36px;
	font-weight:900;
	color:#002654;
}
.detail_dateinfo {
	padding:0 0 80px 18px;
	font-size:14px;
	line-height:14px;
	font-weight:500;
	color:#A0A0A0;
	display:flex;
	align-items:center;
}
.detail_dateinfo li {
	margin:0 20px 0 0;
	padding:0 0 0 18px;
	position:relative;
}
.detail_dateinfo li::before {
	content: '';
	width: 14px;
	height:14px;
	background-size: 100%;
	background-repeat: no-repeat;
	position:absolute;
	top:1px;
	left:0;
}
.detail_dateinfo li:nth-child(1)::before {
	background-image:url("/img/icon_w_reg.svg");
}
.detail_dateinfo li:nth-child(2)::before {
	background-image:url("/img/icon_w_upd.svg");
}

/* heading summary */
/* h2 */
.heading_h2a {
	margin:0 0 30px;
	position: relative;
	font-size: 24px;
	line-height:36px;
	font-weight:600;
	color:#343434;
}
.heading_h2a::before {
	content:attr(data-number);
	display:block;
	color:#DCDFE2;
	font-size:30px;
	font-weight:900;
}
.heading_h2a::after {
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100px;
	height:1px;
	background-color:#DCDFE2;
}
.heading_h2b {
	margin:0 0 20px;
	font-size:20px;
	font-weight: 700;
	padding: 0.8em 1em;
	border: 3px solid #002654;
	background-image: linear-gradient(45deg, #fff 0 10%, #002654 10%);
	color: transparent;
	position: relative;
}
.heading_h2b:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(45deg, #002654 10%, #fff 0 10%);
	content: '';
	z-index: -1;
}
.sakura_section h3 {
	margin:0 0 15px;
	font-size:18px;
	line-height:26px;
	font-weight: 700;
	padding: 1em;
	  --x-gradient: linear-gradient(90deg, #E2E2E2 0 100%);
	  --y-gradient: linear-gradient(#E2E2E2 0 15px, transparent 0 calc(100% - 15px), #E2E2E2 calc(100% - 15px));
	background-image:var(--x-gradient), var(--y-gradient), var(--x-gradient), var(--y-gradient);
	background-repeat: no-repeat;
	background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
	background-position: top, right, bottom, left;
	position: relative;
}
.payment_body h3 {
	margin:0 0 30px;
	font-size:18px;
	line-height:26px;
	font-weight: 700;
	border-bottom: 2px solid #e3e3e3;
	padding: 0.3em;
	margin-bottom: 0.3em;
	position: relative;
}
.payment_body h3::after {
	content: '';
	background-color: #002654;
	width: 2em;
	height: 2px;
	position: absolute;
	bottom: -2px;
	left: 0;
	z-index: 1;
}
.heading_h3a {
	margin:0 0 15px;
	font-size: 20px;
	line-height:70px;
	font-weight:700;
	position: relative;
}
.heading_h3a::before {
	content: attr(data-number);
	display: inline-block;
	margin-right: 10px;
	color: #CE1126;
	font-size: 50px;
	font-weight:900;
	border-bottom: 2px solid #CE1126;
}
.heading_h3sakura {
	display:inline-block;
	margin:0 0 25px;
	padding: 5px 0 10px 24px;
	font-size:18px;
	line-height:22px;
	font-weight:700;
	color: #002654;
	background:#FFF;
	border-bottom:2px solid #002654;
	position: relative;
}
.heading_h3sakura::before {
	content: '';
	width: 21px;
	height:21px;
	background-image:url("/img/icon_person.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:7px;
	left:0;
}
.heading_h3sakura:after {
	content: '';
	width: 40px;
	height:35px;
	background-image:url("/img/pc/border_h2.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:4px;
	right:-40px;
/* 	position: absolute;
	content: '';
	right: -40px;
	top: 2px;
	border: none;
	border-left: solid 40px #FFF;
	border-bottom: solid 35px transparent;
	z-index:0; */
  }
.alertRed {
	padding: 0 0 0 20px;
	font-size:14px;
	line-height:22px;
	font-weight:700;
	color: #CE1126;
	position: relative;
}
.alertRed::before {
	content: '';
	width: 17px;
	height:17px;
	background-image:url("/img/icon_alert.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:3px;
	left:0;
}
/* common parts */
.howtotrick,
.opinion {
	margin:0 auto 60px;
	font-size: 15px;
	line-height:28px;
	font-weight:600;
	text-align:justify;
}
.howtotrick strong,
.opinion strong {font-weight:700;}
.box_addcolor01 {
	margin:0 auto 15px;
	padding:20px;
	width:calc(100% - 40px);
	font-weight:500;
	background:#f9f9f9;
	border:1px solid #CCCCCC;
}
.overview {
	margin:0 auto 80px 0;
	max-width:760px;
}
.common_read {
	padding:20px 15px 20px;
	font-size:24px;
	line-height:36px;
	font-weight:900;
	text-align:center;
	border-top:2px solid #343434;
	border-bottom:2px solid #343434;
}
.common_read span,
.shift_change span {
	font-size:36px;
	color:#CE1126;
}
.shift_change {
	padding:20px 15px 20px;
	font-size:24px;
	line-height:36px;
	font-weight:900;
	text-align:center;
}
.ov_img_title {
	display:inline-block;
	padding:10px 15px 5px;
	font-size:12px;
	line-height:12px;
	font-weight:600;
	color:#757575;
	background:#f9f9f9;
	border-radius:5px 5px 0 0;
}
.ov_url_title {
	padding:10px 15px 0;
	font-size:12px;
	line-height:12px;
	font-weight:600;
	color:#757575;
	background:#f9f9f9;
}
.ov_img_wrap {
	margin:0 0 30px;
	padding:20px 0;
	width:100%;
	background:#f9f9f9;
	display:flex;
	justify-content:space-around;
}
.ov_img_wrap div {
	width:250px;
	font-size:0;
	line-height:0;
	border:1px solid #757575;
}
.ov_img_wrap img {width:100%}
.outline {
	margin:0 auto 30px;
	padding:15px;
	width:calc(100% - 30px - 4px);
	font-size:14px;
	line-height:22px;
	font-weight:600;
	color:#CE1126;
	text-align:justify;
	border:2px solid #CE1126;
}
.sakura_thumbnails {
	margin:-50px auto 30px;
	padding:40px 0 30px;
	width:calc(100% - 4px);
	border:2px solid #002654;
}
.sakura_thumbox {
	margin:0 auto;
	width:95%;
	display:flex;
	flex-wrap:wrap;
}
.sakura_pic {
	padding:15px 10px 10px;
	width:calc((100% / 5) - 20px);
	cursor:pointer;
	position:relative;
}
.sakura_pic img {width:100%;}
.balpic::before{
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	left: 50%;
	transform: translateX(-50%);
	bottom: -2px;
	border-right: 8px solid transparent;
	border-bottom: 10px solid #002654;
	border-left: 8px solid transparent;
}
.balpic::after{
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
	border-right: 8px solid transparent;
	border-bottom: 10px solid #FFF;
	border-left: 8px solid transparent;
}
.sakura_object {display:none;}
.balarti {display:block;}
.sakura_object {
	margin:0 auto 0;
	padding:20px;
	width:calc(95% - 56px - 4px);
	background:#FFF;
	border:2px solid #002654;
	border-radius:5px;
}
.outline_list {
	margin:0 0 30px;
	width:calc(100% - 3px);
	color:#343434;
	border-top:1px solid #CED5DB;
	border-left:1px solid #CED5DB;
}
.outline_list > li {
	display:flex;
}
.outline_list_title,
.outline_list_title_black {
	padding:15px;
	width:8em;
	font-size:14px;
	line-height:14px;
	font-weight:500;
	text-align:center;
	background:#E7F1F7;
	border-bottom:1px solid #CED5DB;
	border-right:1px solid #CED5DB;

	display: flex;
	justify-content: center;
	align-items: center;
}
.outline_list_title_black {
	color:#FFF;
	background:#151615;
}
.outline_list_content,
.outline_list_content_fred {
	padding:15px;
	width:calc(100% - 8em - 3px - 60px);
	font-size:14px;
	line-height:18px;
	font-weight:700;
	text-align:left;
	border-bottom:1px solid #CED5DB;
	border-right:1px solid #CED5DB;
}
.outline_list_content_fred {
	color:#CE1126;
}
.narrow {
	padding:2px 15px;
}
.payment_body {
	font-size:14px;
	line-height:24px;
	font-weight:500;
}
.cardslist {
	margin:5px auto 5px 0;
	width:60%;
	text-align:left;
	color:#343434;
}
.cards {
	display: none;
}
.cardkey,
.urlsum {
	position: relative;
}
.cardkey span::before,
.cardkey span::after,
.urlsum span::before,
.urlsum span::after {
	position:absolute;
	content:'';
	top:1px;
	right:20px;
	bottom:0;
	width:12px;
	height:2px;
	margin:auto;
	background:#343434;
}
.cardkey span::after,
.urlsum span::after {
	transform:rotate(-90deg);
	transition:transform 0.3s;
}
.cardkey.cardactive span::after,
.urlsum.cardactive span::after {transform:rotate(0deg);}
.cards {
	padding: 12px 20px 10px;
	width:calc(100% - 40px);
	font-size:14px;
	line-height:22px;
	font-weight:500;
	background-color: #FFF;
	border: 1px solid #D8D8D8;
}
.cardkey,
.urlsum {
	padding: 12px 45px 10px 45px;
	margin: 10px 0 0;
	width:calc(100% - 90px);
	font-size:16px;
	line-height:16px;
	font-weight:700;
	border: 1px solid #D8D8D8;
	background: linear-gradient(#ffffff 0%, #eee 100%);
	position: relative;
	cursor: pointer;
}
.cardkey::before {
	content: '';
	width: 24px;
	height:24px;
	background-image:url("/img/icon_card.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:9px;
	left:10px;
}
.urlsum::before {
	content: '';
	width: 24px;
	height:24px;
	background-image:url("/img/icon_url.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:9px;
	left:10px;
}
.detail_content_wrap {
	margin:0 auto;
	width:100%;
	display:flex;
}
.detail_leftwrap {
	width:65.5%;
	min-height:150vh;
}
.main_sentence {
	margin:0 auto 30px;
	padding:20px;
	width:calc(100% - 40px - 12px);
	border-top:36px solid #002654;
	border-left:6px solid #002654;
	border-right:6px solid #002654;
	border-bottom:6px solid #002654;
}
.sidebox {
	margin:0 0 0 30px;
	padding:0;
	width:calc(34.5% - 30px);
}
.expectation {
	margin:0 auto 30px;
	padding:15px;
	width:calc(100% - 30px - 30px);
	background:#002654;
	border:15px solid #f9f9f9;
}
.expectation > div:not(:last-child) {
	margin:0 0 15px;
}
.exp_box {
	display:flex;
	align-items:center;
}
.exp_txt {
	font-size:16px;
	line-height:16px;
	font-weight:600;
	color:#FFF;	
}
.exp_level,
.exp_total {
	margin:0 0 0 auto;
	width:150px;
}
.exp_level img {width:100%;}
.exp_total {
	padding:10px 5px 10px 0;
	width:calc(220px - 6px - 5px);
	font-size:24px;
	line-height:24px;
	font-weight:900;
	text-align:right;
	color:#CE1126;
	background:#FFF;
	border-radius:5px;
}
.exp_memo {
	padding:5px 10px;
	width:calc(100% - 20px);
	font-size:12px;
	line-height:18px;
	font-weight:700;
	color:#CE1126;
	background:#f2f2f2;
}
.exp_memo p {
	padding-left:1em;
	text-indent:-1em;
}
.stepwrap {
	margin:-90px auto 0;
	width:100%;
	display:flex;
	position: sticky;
	top:0;
	z-index:180;
}
.stepwrap div {
	width:calc(((100% - 6px) / 4));
	height:60px;
}
.stepwrap div:not(:last-child) {
	margin:0 2% 0 0;
	width:calc(((100% - 6px) / 4) - 2%);
}
.stepwrap div a {
	display:block;
	width:100%;
	height:100%;
	font-size:18px;
	line-height:18px;
	font-weight:600;
	color:#002654;
	background:#FFF;
	border:3px solid #002654;
	text-decoration:none;
	transition:0.5s all;
}
.act1 a,
.act2 a,
.act3 a,
.act4 a,
.stepwrap div a:hover {
	color:#FFF!important;
	background:#002654!important;
}
.stepwrap div a p {
	width:100%;
	height:100%;
	display: flex;
	justify-content:center;
	align-items: center;
}
.panel {display: none;}
.panel.active {display: block;}

[id="1"],
[id="2"],
[id="3"],
[id="4"] {
	margin-top:-90px;
	padding-top:90px;
}
.steplead_wrap {
	margin:30px 0 0 0;
	font-size:14px;
	line-height:26px;
	font-weight:600;
}
.sakura_section {
	margin:0 auto 30px;
	width:100%;
}
.sakura_section table {
	margin:0 auto 20px;
	width:100%;
}
.sakura_section table td:nth-child(1) {
	padding:10px 10px 10px 0;
	width:26.5%;
	vertical-align:top!important;
}
.sakura_section table td:nth-child(1) img {
	max-width:180px;
}
.sakura_section table td:nth-child(2) {
	padding:10px 0 10px 10px;
	width:73.5%;
	color:#343434;
	vertical-align:top!important;
}
.sakura_section strong {font-weight:600!important;}
.sakura_name {
	margin:0 0 15px;
	font-size: 18px;
	line-height:30px;
	font-weight:700;
}
.sakura_name::before {
	content: '登場人物';
	display: block;
	color: #757575;
	font-size: 10px;
	line-height:10px;
}
.sakura_name::after {
	content: '';
	display: block;
	width: 40px;
	height: 1px;
	background-color: #757575;
}
.sakura_read {
	padding:10px;
	width:calc(100% - 20px - 2px);
	font-size: 14px;
	line-height:24px;
	font-weight:500;
	text-align:justify;
	border:1px solid #CCCCCC;
}
.sakura_read_bk {
	padding:10px;
	width:calc(100% - 20px - 2px);
	font-size: 14px;
	line-height:24px;
	font-weight:500;
	text-align:justify;
	background:#f9f9f9;
	border:1px solid #CCCCCC;
}
.characters {
	margin:5px 0 0 auto;
	padding:0 0 0 20px;
	font-size: 14px;
	line-height:14px;
	font-weight:600;
	text-align:right;
	color:#1E50A2;
}
.characters span {position:relative;}
.characters span:before {
	content: '';
	width: 15px;
	height:15px;
	background-image:url("/img/icon_tag_b.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:3px;
	left:-17px;
}
.especially {
/* 	margin:60px 0 0; */
	width:100%;
}
.especiallytitle {
	margin:0 5px 15px;
	padding: 0.5em 1em;
	font-size: 18px;
	line-height:18px;
	font-weight: 700;
	text-align:center;
	color:#CE1126;
	outline: 3px solid #CE1126;
	outline-offset: 5px;
	background:
	linear-gradient(-45deg, transparent 0 20px, #fff 20px calc(100% - 20px), transparent calc(100% - 20px)),
	repeating-linear-gradient(-45deg, #CE1126 0 2px, #fff 2px 6px);
}
.especially ul {width:100%;}
.especially li {
	padding:5px 0 5px 24px;
	font-size:16px;
	line-height:26px;
	font-weight:700;
	text-align:justify;
	color:#002654;
	position:relative;
}
.especially li:before {
	content: '';
	width: 21px;
	height:21px;
	background-image:url("/img/icon_check_blue.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:8px;
	left:0;
}
.especiallybox {
	font-size:14px;
	line-height:26px;
	font-weight:700;
	text-align:justify;
	color:#CE1126;
}
.mokuji_title {
	padding:5px 0 15px 24px;
	font-size:16px;
	line-height:16px;
	font-weight:700;
	text-align:justify;
	color:#002654;
	border-bottom:1px solid #002654;
	position:relative;
}
.mokuji_title:before {
	content: '';
	width: 21px;
	height:21px;
	background-image:url("/img/icon_toc.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:3px;
	left:0;
}
.mokuji_inner {
	margin:0 auto 30px;
	padding:15px;
	width:calc(100% - 30px);
}
.mokuji_inner li {
	font-size:14px;
	line-height:20px;
	font-weight:700;
	text-align:justify;
	color:#002654;
	cursor:pointer;
	position:relative;
}
.mokuji_inner li:before {
	content: '';
	width: 16px;
	height:16px;
	background-image:url("/img/icon_toci.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:13px;
	left:5px;
}
.mokuji_inner a {
	display:block;
	width:100%;
	color:#002654;
	text-decoration:none;
}
.mokuji_inner span {
	display:inline-block;
	padding:10px 0 10px 30px;
	position:relative;

	color:#002654;
	text-decoration:none;

}
.mokuji_inner a:hover span:after {
	width:calc(100% - 30px);
}
.mokuji_inner a span:after {
	position: absolute;
	bottom: 5px;
	left: 30px;
	content: '';
	width: 0;
	height: 2px;
	background-color: #002654;
	transition: .3s;
}



/* ===============================
CONTACT
=============================== */
.pagefor_form {
	margin:0 auto;
	max-width:1160px;
}
.sum_formlist {
	margin:0 auto;
	padding:0 15.5%;
	width:69%;
	max-width:800px;
}
.sum_formlist ul {
	padding:32px 0 0;
	width:100%;
	font-size:20px;
	line-height:26px;
	text-align:left;
	color:#262626;
}
.sum_formlist li {
	width:100%;
	display: -webkit-flex;
	display: flex;
	margin-bottom: 35px;
	padding-bottom: 32px;

	display: -webkit-flex;
	display: flex;
	align-items: center;
}
.sum_formlist li:not(:last-child) {
	border-bottom: 1px solid #EFEFEF;
}
.f_ttl {
	padding:0 0 0 10px;
	width: calc(12em - 10px);
	line-height:20px;
	font-weight:600;
}
.f_ttl span {
	color:#FF4F73;
	font-size:12px;
}
.f_txt {
	width: calc(100% - 12em);
	line-height:26px;
}
.f_txt p {
	margin:4px 0 0;
	font-size:15px;
	line-height:18px;
	font-weight:500;
	color: #343434;
}
.f_txt span {
	font-size:12px;
	color: #343434;
}
.f_radioflat {
	display: flex;
	flex-wrap : wrap;
}
/* FORM */
.f_txt input[type='text']{ outline: none;}
.f_txt input[type='text']{
	width:90%;
	height:40px;
	padding: 5px 12px;
	font-size:16px;
	border-radius: 4px;
	border: 1px solid #D6D6D6;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}
.f_txt {position:relative;z-index:10;}
.formchb {
	padding:5px 0;
	display: flex;
	flex-wrap: wrap;
}
.formchb label {
	margin-right: 40px;
	padding:8px 0;
	font-size:18px;
	line-height:26px;
	font-weight:600;
	color: #343434;
}
.formchb input{display: none;}
.formchb input + div{
	padding-left: 33px;
	position:relative;
}
.formchb input + div::before{
	content: "";
	background-image: url(../img/check.svg);
	background-size: contain;
	display: block;
	position: absolute;
	top: 1px;
	left: 0;
	width: 25px;
	height: 25px;
}
.formchb input:checked + div{
	color: #343434;
}
.formchb input:checked + div::after{
	content: "";
	background-image: url(../img/checked.svg);
	background-size: contain;
	display: block;
	position: absolute;
	top: 1px;
	left: 0;
	width: 25px;
	height: 25px;
}
.f_txt textarea {
	width:90%;
	height: 180px;
	padding: 12px 12px 0 12px;
	font-size:16px;
	border-radius: 4px;
	border: 1px solid #D6D6D6;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}
.f_txt textarea:focus {
	outline: none;
}
.cnt_btn {
	margin:0 auto;
	width:400px;
}
.cnt_btn input[type='image'] {
	margin: 0 auto 50px;
	padding: 1em 0;
	width:100%;
	cursor: pointer;
	transition:opacity 0.5s;
}
.cnt_btn input[type='image']:hover {
	opacity:0.7;
}
.error {
	margin:30px 0 30px;
	font-size:14px;
	text-align:left;
}
.thanks {
	margin:20px auto 700px;
	width:100%;
	font-size:18px;
	line-height:26px;
	font-weight:600;
}
.thanks a {
	color:#c1272d;
	text-decoration:none;
}
.thanks a:hover {
	color:#c1272d;
	text-decoration:underline;
}


/* ===============================
FOOTER
=============================== */
/* footer {
	margin:80px auto 110px;
	padding:0;
	max-width: 1160px;
	font-size:14px;
	line-height:26px;
	font-weight:600;
	text-align:center;
	color:#343434;

	position:relative;
} */
footer {
	margin:0 auto;
	width:100%;
	background:#002654;
	color:#FFF;
	font-size:14px;
	line-height:14px;
	font-weight:700;
	text-align:left;

	position: absolute;
	bottom: 0;
	left:0;
	z-index:1;
}
.footer p {
	margin:0 auto;
	max-width:1160px;
}
.traceadd {
	margin:0 auto;
	padding:10px 0 120px;
	max-width:1160px;
}
.tracedis {
	margin:0 auto;
	padding:10px 0 8px;
	width:1160px;
}
.trace {
	margin:0;
	padding:15px 0;
	width:100%;
	font-size:0;
	line-height:0;
	background: rgba(0,38,84,0.9);

	position:fixed;
	bottom:0;
	left:0;
	z-index:200;
}
.f_menu {
	position:absolute;
	top:0;
	right:15px;
}
.f_menu a {
	color:#262626;
	text-decoration:none;
	transition:0.5s all;
}
.f_menu a:hover {
	color:#b50016;
	text-decoration:under-line;
}
.trace div {
	margin:0 auto;
	width:540px;
	height:80px;
}
.trace img {
	width:100%;
}
.pagetop,
.subpagetop {
	width: 50px;
	height: 50px;
	z-index: 150;
	background:#FFF;
	border-radius: 50%;
	border: 2px solid #0f1110;
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
	line-height: 1;
	transition:0.5s all;
	cursor: pointer;

	position:fixed;
	bottom:-150px;
	right:20px;
}
.pagetop:hover,
.subpagetop:hover {
	transform: scale(1.08);
}
.pagetop img,
.subpagetop img {
	animation: scroll 3.0s infinite;
	width: 16px;
	display: block;
}
@keyframes scroll {
	0% {transform: translateY(0);}
	60% {transform: translateY(0);}
	70% {transform: translateY(-5px);}
	80% {transform: translateY(0);}
	90% {transform: translateY(-5px);}
	100% {transform: translateY(0);}
}
.chat {
	width: 80px;
	height:80px;
	font-size:0;
	line-height:0;
	cursor:pointer;

	position:fixed;
	bottom:15px;
	right:15px;
	z-index:500;
}
.line {
	width: 80px;
	height:80px;
	font-size:0;
	line-height:0;
	cursor:pointer;

	position:fixed;
	bottom:15px;
	right:110px;
	z-index:500;
}
/* ===============================
CHAT
=============================== */
.chat_wrap {
	padding:20px;
	width:calc(200% - 40px - 5px);
	max-width:455px;
	height:70%;
	background:#FFF;
	border-radius: 5px 0 0 5px;
	border-top:5px solid #e5e5e5;
	border-bottom:5px solid #e5e5e5;
	border-left:5px solid #e5e5e5;

	position:fixed;
	bottom:110px;
	right: -550px;
	z-index:1000;
	transition: all 0.6s;
}
.chat_cover {
	width:100%;
	height:100%;
	position:relative;	
}
.chatarea {
	width:100%;
	max-height:calc(100% - 60px);
	overflow-y: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.chatarea::-webkit-scrollbar {
	display:none;
}
.staff_chat {
	margin:0 auto 20px 0;
	width:88%;

	display: -webkit-flex;
	display: flex;
	position: relative;
}
.chatstaff {
	margin:0 4.5% 0 0;
	width:40px;
	height:40px;
	font-size:0;
	line-height:0;
	border:3px solid #efefef;
	border-radius:50%;
	overflow:hidden;
}
.chatstaff img {
	width:100%;
	height:100%;
	object-fit: cover;
}
.chat_msg {
	padding:10px 20px;
	max-width:calc(100% - 40px - 4.5%);
	background-color:#f1f1f1;
	border-radius:10px;
	position:relative;
	box-sizing: border-box;
	display:inline-block;
}
.chat_msg::before {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-radius: 50%;
	transform: rotate(45deg);
	top: 10px;
	border-right: 25px solid transparent;
	border-bottom: 25px solid transparent;
}
.chat_msg::after {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-radius: 50%;
	transform: rotate(45deg);
	top: 20px;
	border-right: 25px solid transparent;
	border-bottom: 25px solid transparent;
}
.chat_msg::before {
	left: -15px;
	border-left: 25px solid #f1f1f1;
	border-top: 25px solid transparent;
}
.chat_msg::after {
	left: -25px;
	border-left: 25px solid #ffffff;
	border-top: 25px solid transparent;
}
.chat_lead {
	font-size:14px;
	line-height:22px;
	font-weight:700;
	text-align:justify;
}
.chat_img {
	margin:0 20px 20px auto;
	width:calc(88% - 20px);
	font-size:0;
	line-height:0;
}
.chat_img img {
	width:100%;
	border-radius:10px;
}
.ref_text {
	margin:2px auto 0;
	width:80%;
	font-size:10px;
	line-height:10px;
	color:#b8b8b8;
	text-align:right;
}
.user_chat {
	margin:0 0 20px auto;
	padding:0 4.5% 0 0;
	width:80%;

	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}
.uchat_msg {
	padding:10px 20px;
	max-width:calc(100% - 4.5%);
	background-color:#ccf7ff;
	border-radius:10px;
	position:relative;
	box-sizing: border-box;
	display:inline-block;
}
.uchat_msg::before {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-radius: 50%;
	transform: rotate(45deg);
	top: 10px;
	border-right: 25px solid transparent;
	border-bottom: 25px solid transparent;
}
.uchat_msg::after {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-radius: 50%;
	transform: rotate(45deg);
	top: 20px;
	border-right: 25px solid transparent;
	border-bottom: 25px solid transparent;
}
.uchat_msg::before {
	left: auto;
	right: -15px;
	border-left: 25px solid transparent;
	border-top: 25px solid #ccf7ff;
}
.uchat_msg::after {
	left: auto;
	right: -25px;
	border-left: 25px solid transparent;
	border-top: 25px solid #ffffff;
}
.input_position {
	padding:0;
	width:100%;
	position:absolute;
	left:0;
	bottom:1px;
}
.input_area {
	padding:5px 0 0;
	width:100%;
	background:#FFF;
	display: flex;
	align-items:end;
}
.msg_field {
	width:calc(100% - 30px - 90px);
	font-size:16px;
	line-height:28px;
}
.picup,
.enter {
	margin:0 0 0 10px;
	width:45px;
	height:45px;
	font-size:0;
	line-height:0;
}
.picup {display:block;}
.picup input[type=file] {
	display: none;
}
.picup label {cursor: pointer;}
.enter {margin:0 10px;}
.picup img,
.enter input[type=image] {width:100%;}
.fname {
	padding:5px 0 0;
	display:none;
	font-size:10px;
	line-height:10px;
}
.fnameOn {display:block;}
.flex_textarea {
	position: relative;
	font-size: 1rem;
	line-height: 1.8;
}
.FlexTextarea__dummy {
	overflow: hidden;
	visibility: hidden;
	box-sizing: border-box;
	padding: 5px 10px;
	min-height: 45px;
	white-space: pre-wrap;
	word-wrap: break-word;
	overflow-wrap: break-word;
	border: 1px solid;
}
.flex_textarea textarea {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	overflow: hidden;
	box-sizing: border-box;
	padding: 5px 10px;
	width: 100%;
	height: 100%;
	background-color: transparent;
	border: 1px solid #b6c3c6;
	border-radius: 4px;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	resize: none;

	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}
.flex_textarea textarea:focus {
	outline: none;
}


/* ===============================
COMMERCE & COMMON(NORMAL-PAGE)
=============================== */
.normalpage,
.normalpage_sheet {
	margin:0 auto;
	padding:0 15.5%;
	width:69%;
	max-width:800px;
}
.normalpage ul,
.normalpage_sheet ul {
	width:100%;
	text-align:justify;
}
.normalpage_sheet ul:not(:first-of-type) {
	border-top:1px solid #d10010;
}
.normalpage_sheet ul li:nth-child(1) {
	margin:10px 0 0;
	padding:25px 0 0 10px;
	width:calc(100% - 10px);
	font-size:18px;
	line-height:26px;
	font-weight:600;
	position:relative;
}
.normalpage_sheet ul li:nth-child(2) {
	margin:0 0 30px;
	padding:22px 0 0 10px;
	width:calc(100% - 10px);
	font-size:14px;
	line-height:18px;
	font-weight:600;
	position:relative;
}
.emsg {
	margin:0 auto;
	padding:10px 15.5% 30px;
	width:69%;
	max-width:800px;
	font-size:13px;
	line-height:26px;
	font-weight:500;
	color:#e50000;
	text-align:left;
}
.cmsg {
	margin:0 auto;
	padding:10px 15.5% 30px;
	width:69%;
	font-size:14px;
	line-height:26px;
	font-weight:600;
	color:#0f1110;
	text-align:left;
}

/* --------------------  aタグ処理 画像透過リンク */
.navi a img,
.btn02 a img,
.trace a img,
.picup img,
.enter input[type=image],
.chat img,
.line img,
.sakura_pic img {transition:opacity 0.5s;}

.navi a:hover img,
.btn02 a:hover img,
.trace a:hover img,
.picup:hover img,
.enter input[type=image]:hover,
.chat:hover img,
.line:hover img,
.sakura_pic:hover img {opacity:0.7;}
.w15 {width:15%;}
.w20 {width:20%;}
.w30 {width:30%;}
.w50 {width:50%;}


}/* end */

/*  --------------------------------------
デバイス振り分け(SP)
--------------------------------------  */
@media screen and (max-width:837px) {
.pc {display:none;}
body{
	background : #FFF;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	width:100%;
	font-size:3.4vw;
	text-align : left;
	position: relative;
	box-sizing: border-box;
}
body.withtrace {
	min-height: calc(100vh - 0vw);
	padding-bottom: 24vw;
}
body.subpage {
	min-height: calc(100vh - 0vw);
	padding-bottom: 0vw;
}

/*  --------------------------------------
Header
--------------------------------------  */
header {
	margin:0 auto;
	width:100%;
	font-size:0;
	line-height:0;
}
header h1 {
	margin:0 auto;
	padding:0;
	width:100%;
	font-size:0;
	line-height:0;
	position:relative;
}
header h1 img {width:100%;}
.navi {
	width:36.25vw;
	height:10.4vw;
	font-size:0;
	line-height:0;
	display: flex;
	position:absolute;
	top:0;
	left:0;
}
.logo  {
	margin:1vw 0 0 1vw;
	width:27.5vw;
}
.nav01 {width: 10.4vw;}

main {
	margin:0 auto;
	width:100%;
}
.header_cover {
	margin:0 auto;
	width:100%;
}
.subnavi {
	width:100%;
	height:15vw;
	font-size:0;
	line-height:0;
	display: flex;
}
.subnavi img {width:100%}
.sublogo  {
	margin:1.5vw 0 0 1vw;
	width:25vw;
}
.subnav01 {width:11.6vw}
.link_keyparts {
	margin:4vw auto 0;
}
.link_keyparts a {
	padding: 1em 0;
	display: inline-block;
	width:100%;
	background: #0f1110;
	border:none;
	border-radius: 7vw;
	color: #FFF;
	cursor: pointer;
	transition: all 0.3s ease 0s;
	font-size:3.6vw;
	line-height:3.6vw;
	font-weight:bold;
	text-decoration:none;
	text-align:center;
}
.gnavi {
	margin:0 0 0 auto;
	/* width:calc(100% - 140px - 50px); */
}
.gnavi_list {
	width:72vw;
	height:10vw;
	display: flex;
}
.g_box {
	width:12vw;
	height:12vw;
	font-size:0;
	line-height:0;
}
.g_box img {width:100%;}

header h1 img,
.logo img {width:100%;}


/* ---------------------------
BREADCRUMBS
--------------------------  */
.breadcrumbs {
	margin:0 auto;
	padding: 2vw 0 0;
	width: 96%;
	font-size: 2.8vw;
	line-height: 2.8vw;
	font-weight:bold;
	text-align: left;
}
.breadcrumbs ul {
	width:100%;

	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap        : wrap;
}
.breadcrumbs li:not(:first-child) {
	padding:0 0 3vw 6vw;
	position:relative;
}
.breadcrumbs li:not(:first-child):before {
	content: '';
	width: 2.5vw;
	height:2.5vw;
	background-image:url("/img/icon_b12arr.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:0.5vw;
	left:2vw;
}
.layer a {
	display:inline-block;
	color:#002654;
	text-decoration:none;
	position:relative;
}
.curtlayer {
	color:#CCCCCC;
}


/* =========================================
CONTENT
========================================= */
.intro,
.sec01,
.sec06img {
	margin:0 auto;
	width:100%;
	font-size:0;
	line-height:0;
}
.sec02,
.sec03 {
	margin:0 auto;
	width:100%;
}
.sec02 {margin:0 auto 15vw;}
.sec01 {max-height:calc(100vw * 4.7816);}

.sec04 {margin:15vw auto 0;}
.sec06img {margin:15vw auto 0;max-height: calc(100vw * 0.3255);}
.intro img,
.sec01 img,
.sec02 img,
.sec03 img,
.sec04 img,
.sec06img img {width:100%;}
.qa {
	margin:15vw auto 0;
	width:94%;
}
section h2 {
	margin:8vw auto 6vw;
	font-size:5.4vw;
	line-height:8vw;
	font-weight:900;
	text-align:center;
	position:relative;
}
section h2 span {
	font-size:3.8vw;
	line-height:6.4vw;
	font-weight:900;
	text-align:center;
	display:block;
}
.title_man {
	margin:8vw auto 12vw;
	padding:0 0 0 12vw;
	text-align:left;
}
.title_man2 {
	margin:8vw auto 10vw;
	padding:0 0 0 12vw;
	text-align:left;
}
.title_man:before,
.title_man2:before {
	content: '';
	width: 100%;
	height:19vw;
	background-image:url("../img/sp/title_person.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
}
.title_man:before  {left:0;top:-2vw;}
.title_man2:before {left:0;top: 3vw;}

.title_woman {
	margin:8vw auto 10vw;
	padding:0;
	width:60vw;
	text-align:center;
}
.title_woman:before {
	content: '';
	width: 10vw;
	height:19vw;
	background-image:url("../img/title_person_qa.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:-4vw;
	left:-1vw;
}
.works_wrap {
	margin:0 auto 6vw;
	width:96%;
}
.works_inner {
	width:100%;
	color:#343434;
}
.works_inner:not(:last-child) {
	margin:0 0 6vw;
}
.wi_img {
	width:100%;
	font-size:0;
	line-height:0;
	border-radius:5px;
	overflow: hidden;
}
.wi_img img {width:100%;}
.works_inner h3 {
	margin:4.2vw auto 3.2vw;
	font-size:4vw;
	line-height:4vw;
	font-weight:700;
	text-align:left;
}
.works_inner p {
	font-size:3.2vw;
	line-height:5.4vw;
	font-weight:600;
	text-align:justify;
}
.works_note {
	margin:0 auto;
	width:93%;
	padding:0;
	font-size:2.8vw;
	line-height:4.6vw;
	font-weight:600;
	text-align:left;
	padding-left:1em;
	text-indent:-1em;
}
.sec03 ul {
	margin:0 auto;
	width:98%;
	display: flex;
	flex-wrap : wrap;
}
.sec03 li {
	margin:0 0 2vw 0;
	width:calc((100% - 6vw) / 4);
	height:15vw;
	font-size:3.2vw;
	line-height:3.2vw;
	font-weight:600;
	text-align:center;
}
.sec03 li:nth-child(n+33) {
	display:none;
}
.sec03 li a {
	width:100%;
	height:15vw;
	color:#343434;
	border:1px solid #f2f2f2;
	background:#FFF;
	text-decoration:none;

	display: flex;
	justify-content: center;
	align-items: center;
}
.sec03 li:not(:nth-child(4n)) {
	margin:0 2vw 2vw 0
}
.s03li_sub {
	display:block;
	padding:1vw 0 0;
	font-size:2.4vw;
	line-height:2.4vw;
}
.trackrecord {
	margin:0 auto;
	padding:0 3%;
	width:94%;
	display: flex;
	flex-wrap : wrap;
}
.trackrecord li {
	margin:0 0 4vw 0;
	width:calc((100% - 4%) / 2);
	background: #FFF;
	border-radius: 10px;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
	position:relative;
}
.trackrecord li:nth-child(odd) {
	margin:0 4% 4vw 0
}
.trackrecord li a {
	display:block;
	padding:3vw 3vw 2.5vw 3vw;
	width:calc(100% - 6vw);
	text-decoration:none;
}
.items {
	width:100%;
	display: flex;
}
.items_image {width:16vw;}
.items_image img {width:100%;}
.items_value {
	margin:0 0 0 2vw;
	width:calc(100% - 18vw);
}
.value_recorstar,
.value_recors {
	width:100%;
}
.value_recorstar div:nth-child(1),
.value_recors div:nth-child(1) {
	padding:0 0 0.5vw;
	font-size:2.4vw;
	line-height:2.4vw;
	font-weight:500;
	text-align:left;
	color:#212123;
}
.value_recorstar div:nth-child(2) {
	margin:1vw 0 2vw;
	width:100%;
	font-size:0;
	line-height:0;
}
.value_recorstar img {width:100%;}
.value_recors div:nth-child(2) {
	width:100%;
	font-size:3.6vw;
	line-height:3.6vw;
	font-weight:900;
	text-align:right;
	color:#212123;
}
.items_brand {
	padding:1vw 0 0.5vw 0;
	font-size:2.2vw;
	line-height:2.2vw;
	font-weight:700;
	text-align:left;
	color:#212123;
}
.items_name {
	padding:0.8vw 0 1vw 0;
	font-size:3vw;
	line-height:4vw;
	font-weight:900;
	text-align:left;
	color:#212123;
}
.items_no {
	padding:0 0 0 0;
	font-size:2.6vw;
	line-height:2.6vw;
	font-weight:700;
	text-align:left;
	color:#212123;
}
.items_date {
	padding:5.6vw 0 0;
	font-size:2.6vw;
	line-height:2.6vw;
	font-weight:700;
	text-align:right;
	color:#212123;
}
.items_date span {
	position:absolute;
	right:3vw;
	bottom:2.5vw;
}
.home_btnarea {
	margin:5vw 0 10vw;
	width:100%;
}
.link_btn_01 {
	margin:0 auto;
	width:80%;
	font-size:4vw;
	line-height:4vw;
	font-weight:600;
}
.link_btn_01 a,
.join_bonus_btn a {
	margin:0;
	padding:3vw 0 3.6vw;
	width:100%;
	color:#FFF;
	text-decoration:none;
	background:#002654;
	border:2px solid #002654;
	border-radius:3px;

	transition:0.5s all;

	display: -webkit-flex;
	display: flex;
	align-items: center;
}
.link_btn_01 div,
.join_bonus_btn div {
	padding:0 0 0 7vw;
	width:calc(100% - 10vw);
	text-align:center;
	position:relative;
}
.link_btn_01 span,
.join_bonus_btn span {
	margin:0 4vw 0 0;
	width:3vw;
	height:3vw;
	text-indent:-10000px;
	background:url(../img/icon_arr16.svg) no-repeat center center;
	background-size: 100%;
	transition:0.5s all;
}
.qa ul {
	width:100%;
	text-align:justify;
}
.qa ul:not(:first-of-type) {
	border-top:1px solid #E2E2E2;
}
.qa ul li:nth-child(1) {
	margin:2vw 0;
	padding:2vw 0 0 8vw;
	width:calc(100% - 8vw);
	font-size:3.6vw;
	line-height:5.4vw;
	font-weight:600;
	position:relative;
}
.qa ul li:nth-child(2) {
	margin:0 0 4vw;
	padding:2vw 0 0 8vw;
	width:calc(100% - 8vw);
	font-size:3.2vw;
	line-height:4.6vw;
	font-weight:600;
	position:relative;
}
.qa ul li:nth-child(1):before,
.qa ul li:nth-child(2):before {
	content: '';
	width: 6vw;
	height:6vw;
	background-size: 100%;
	background-repeat: no-repeat;
	position:absolute;
	top:1.4vw;
	left:0;
}
.qa ul li:nth-child(1):before {
	background-image:url("../img/icon_faq_q.svg");
}
.qa ul li:nth-child(2):before {
	background-image:url("../img/icon_faq_a.svg");
}
.sec05 {
	margin:15vw auto 0;
	width:100%;
}
.shop_info {
	margin:0 auto;
	width:94%;
}
.shop_imgwrap {
	margin:0 auto;
	width:80%;
}
.shop_image {
	margin:0 auto 3vw;
	width:100%;
}
.shop_image img {width:100%;}
.owner_infowrap {
	width:100%;
	display:flex;
}
.owner_img {
	margin:0 8% 0 0;
	width:10vw;	
}
.owner_image {
	width:10vw;
	height:10vw;
	font-size:0;
	line-height:0;
	border:3px solid #efefef;
	border-radius:50%;
	overflow:hidden;
}
.owner_image img {
	width:10vw;
	height:10vw;
	object-fit: cover;
}
.owner_name {
	padding:2vw 0 0;
	font-size:3vw;
	line-height:3vw;
	font-weight:700;
	color:#1A1A1C;
	text-align:center;
}
.owner_msg {
	padding:3vw 3vw 4vw 3vw;
	width:calc(100% - 14vw);
	font-size:3vw;
	line-height:5.2vw;
	font-weight:700;
	color:#343434;
	background-color:#FFF;
	border-radius:2vw;
	position:relative;
	box-sizing: border-box;
	display:inline-block;
	box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.15);
	position:relative;
}
.owner_msg:before {
	content: "";
	position: absolute;
	top: 25%;
	left: -3.8vw;
	margin-top: -2vw;
	border: 2vw solid transparent;
	border-right: 2vw solid #FFF;
	filter: drop-shadow(-5px 0px 5px rgba(0, 0, 0, 0.1));
}
.owner_msg p {
	padding:2vw 0 0;
	font-size:2.8vw;
	line-height:2.8vw;
	font-weight:900;
	color:#007396;
}
.sec05 ul {
	padding:4vw 0 0;
	width:100%;
	text-align:left;
	color:#262626;
}
.sec05 li {
	width:100%;
	margin-bottom: 4vw;
	padding-bottom: 4vw;
	border-bottom: 1px solid #E2E2E2;
}
.sec05 li:first-child {
	padding-top: 4vw;
	border-top: 1px solid #E2E2E2;
}
.sec05 li div:nth-child(1) {
	padding:0 0 1vw 1.5vw;
	width: calc(100% - 1.5vw);
	font-size:2.8vw;
	line-height:4vw;
	font-weight:600;
}
.sec05 li div:nth-child(2) {
	padding:0 0 0 1.5vw;
	width: calc(100% - 1.5vw);
	font-size:3.8vw;
	line-height:3.8vw;
	font-weight:600;
}
.sec05 span {
	font-size:2.8vw;
}
.trace {
	margin:0;
	padding:3vw 0 2.5vw;
	width:100%;
	font-size:0;
	line-height:0;
	background: rgba(0,38,84,0.9);

	position:fixed;
	bottom:0;
	left:0;
	z-index:200;
}
.trace div {
	margin:0 auto;
	width:80%;
/* 	margin:0 auto 0 2vw;
	width:calc(100% - 22vw);
	width:calc(100% - 31vw); */
}
.trace img {
	width:100%;
}


/* ===============================
TOOL
=============================== */
.start_wrap {
	margin:8vw auto;
	width:100%;
}
.start_wrap h2 {
	margin:8vw auto 6vw;
	font-size:4.2vw;
	line-height:8vw;
	font-weight:900;
	text-align:center;
	position:relative;
}
.sw_title_woman {
	padding:0;
	width:92%;
}
.sw_title_woman span:before {
	content: '';
	width: 10vw;
	height:19vw;
	background-image:url("../img/title_person_qa.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:-4vw;
	left:-2vw;
}
.step01,
.step02,
.step03 {
	margin:0 auto;
	padding:4vw 2vw;
	width:calc(92% - 8vw - 2px);
	border:1px solid #E2E2E2;
	border-radius:2vw;
}
.step03 ul {
	margin:4vw 0 0;
}
.step03 ul li {
	margin:0 0 5vw;
	padding:0 0 5vw;
	width:100%;
}
.step03 li:not(:last-child) {
	border-bottom: 1px solid #e5e5e5;
}
.step04 {
	margin:0 auto 10vw;
	padding:4vw 6vw;
	width:calc(90% - 12vw - 2px);
	border:1px solid #E2E2E2;
	border-radius:2vw;
}
.step04 h2 {
	margin:0 0 4vw;
	font-size:4vw;
	line-height:6.4vw;
	font-weight:600;
	text-align:left;
	color:#002654;
}
.step04 p {
	font-size:3.4vw;
	line-height:6.4vw;
	font-weight:600;
}
.sw_img100 {
	width:100%;
	font-size:0;
	line-height:0;
}
.sw_img100 img {width:100%;}
.offer,
.region,
.local {
	margin:4vw 0 3vw 0;
	padding:2vw 0 3vw 7vw;
	font-size:4vw;
	line-height:4vw;
	font-weight:600;
	border-bottom: 1px solid #e5e5e5;
	position:relative;
}
.offer:before,
.region:before,
.local:before {
	width: 4vw;
	height:4vw;

	position:absolute;
	top:37%;
	left:0;
	transform: translate(0,-50%);
}
.offer:before {content: url("../img/icon_one.svg");}
.region:before {content: url("../img/icon_two.svg");}
.local:before {content: url("../img/icon_three.svg");}
.offer_box,
.region_box {
	margin:0 auto 6vw;
	width:calc(100% - 0px);
	display:flex;
	flex-wrap: wrap;
}
.offer_box input[type=checkbox],
.region_box input[type=radio] {display: none;}
.offer_box input[type="checkbox"].cb01:checked + label,
.region_box input[type="radio"].cb01:checked + label {
	background: #3a77b4;
	border: 1px solid #3a77b4;
	color: #ffffff;
}
.cl01 {
	margin: 0 0 2vw 1vw;
	height:14vw;
	font-size:3.4vw;
	line-height:3.4vw;
	font-weight:600;
	text-align: center;
	cursor: pointer;
	color: #333333;
	transition: all 0.3s ease 0s;
	border: 1px solid #e5e5e5;
	border-radius: 1.5vw;

	display: flex;
	justify-content: center;
	align-items: center;
}
.cl01 span {font-size:2.8vw;}
.offer_box  > .cl01 {width:calc(50% - 2vw);}
.region_box > .cl01 {width:calc(25% - 2vw);}
.sw_submitwrap {
	width:100%;
	position:relative;
}
.sw_submit {
	margin: 0 auto;
	width:62%;
	height:11vw;
	font-size:4vw;
	line-height:4vw;
	font-weight:900;
	text-align: center;
	color: #333333;
	background:#e5e5e5;
	border:2px solid #e5e5e5;
	border-radius:8vw;
	position:relative;

	display: flex;
	justify-content: center;
	align-items: center;
}
.sw_submit span {
	width:5vw;
	height:5vw;
	text-indent:-10000px;
	background:url(../img/icon_arr16of.svg) no-repeat center center;
	transition:0.5s all;
	position:absolute;
	top:50%;
	right:2vw;
	transform:translateY(-50%);
}
.ready {
	cursor: pointer;
	color: #FFF;
	background:#002654;
	border:2px solid #002654;
	transition: all 0.5s ease 0s;
}
.ready span {
	width:5vw;
	height:5vw;
	text-indent:-10000px;
	background:url(../img/icon_arr16.svg) no-repeat center center;
	transition:0.5s all;
}
.sw_submit a {
	display: flex;
	justify-content: center;
	align-items: center;
	width:100%;
	height:11vw;
	color:#FFF;
	text-decoration:none;
	transition:0.5s all;
}
.nx3 div {
	width:100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.bkstep1,
.bkstep2 {
	position:absolute;
	top:50%;
	left:-2vw;
	transform: translateY(-50%);
}
.bkstep1 span,
.bkstep2 span {
	margin: 0 auto;
	padding:0 0 0 6vw;
	height:8.6vw;
	font-size:3vw;
	line-height:3vw;
	font-weight:600;
	text-align: center;
	color: #333333;
	cursor: pointer;
	transition:0.5s all;
	position:relative;

	display: flex;
	align-items: center;
}
.bkstep1 span:hover,
.bkstep2 span:hover {
	color: #3a77b4;

	transition:0.5s all;
}
.bkstep1 span:before,
.bkstep2 span:before {
	content: '';
	width: 3vw;
	height:3vw;
	background-image:url("../img/icon_arrow_l.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:50%;
	left:2vw;
	transform: translateY(-50%);
}


/* ===============================
SITE LIST & DETAILS
=============================== */
.website {
	margin: 0 auto 12vw;
	width: 96%;
	display: grid;
	grid-gap: 0 0;
}
.website {
	grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
	border-top:1px solid #e6e6e6;
	border-left:1px solid #e6e6e6;
}
.website li {
	padding:0;
	width:100%;
	border-bottom:1px solid #e6e6e6;
	border-right:1px solid #e6e6e6;
	transition: all 0.5s ease 0s;
}
.website_list {
	display:flex;
}
.website_list a {
	display:block;
	padding:2vw 2vw 1vw 2vw;
	width:calc(100% - 4vw);
	text-decoration:none;
}
.website_inner {
	color:#002654;
	display:flex;
	flex-wrap: wrap;
}
.eyecatch {
	margin:0 auto 0.5vw;
	max-width:30vw;
	max-height:30vw;
	border-radius:6px;
	font-size:0;
	line-height:0;

	overflow:hidden;
}
.eyecatch img {
	width:30vw;
	height:30vw;
	object-fit: cover;
	object-position:0 0;
	transition:0.5s all;
}
.ws_title {
	margin:-1vw auto 4.5vw;
	width:100%;
	font-size:3.95vw;
	line-height:6vw;
	font-weight:600;
	text-align:left;
}
.ws_box {
	margin:0 0 1vw 2.5vw;
	width:calc(100% - 30vw - 2.5vw);
	display:flex;
	align-items: center;
	flex-wrap: wrap;
}
.ws_kind {
	padding:1.5vw 2vw 1.5vw;
	width:12vw;
	font-size:2.8vw;
	line-height:2.8vw;
	font-weight:600;
	text-align:center;
	color:#FFF;
	background:#002654;
	border-radius:3px;
	display: flex;
	justify-content:center;
	align-items: center;
}
.ws_submemo {
	margin:0 0 0 auto;
	padding:0;
	font-size:2.8vw;
	line-height:2.8vw;
	font-weight:500;
	color:#757575;
}
.ws_level {
	margin:0 0 0.5vw;
	width:20vw;
	font-size:0;
	line-height:0;
}
.ws_level img {width:100%;}

.ws_memo {
	padding:1.5vw;
	width:calc(100% - 3vw - 2px);
	font-size:3vw;
	line-height:4.6vw;
	font-weight:500;
	text-align:justify;
	font-feature-settings: "palt";
	border:1px solid #E2E2E2;
	background:#F9F9F9;
}
.ws_total {
	padding:1vw 0 0;
	width:calc(100% - 12vw);
	font-size:5vw;
	line-height:5vw;
	font-weight:700;
	text-align:right;
	color:#E80027;
}
.ws_total span {
	color:#002654;
	font-size:2.8vw;
}
.ws_upd {
	padding:1.8vw 0 0;
	width:12vw;
	font-size:2.8vw;
	line-height:2.8vw;
	font-weight:700;
	color:#757575;
	text-align:center;
}
/* detailpage */
.detail_h1 {
	margin:0 auto 2vw;
	width:96%;
	padding:0;
	font-size:5vw;
	line-height:6.5vw;
	font-weight:900;
	color:#002654;
}
.detail_dateinfo {
	margin:0 auto 8vw;
	padding:0;
	width:96%;
	font-size:2.8vw;
	line-height:2.8vw;
	font-weight:500;
	color:#A0A0A0;
	display:flex;
	align-items:center;
}
.detail_dateinfo li {
	margin:0 4vw 0 0;
	padding:0 0 0 3.3vw;
	position:relative;
}
.detail_dateinfo li::before {
	content: '';
	width: 2.8vw;
	height:2.8vw;
	background-size: 100%;
	background-repeat: no-repeat;
	position:absolute;
	top:0.25vw;
	left:0;
}
.detail_dateinfo li:nth-child(1)::before {
	background-image:url("/img/icon_w_reg.svg");
}
.detail_dateinfo li:nth-child(2)::before {
	background-image:url("/img/icon_w_upd.svg");
}
.quickreview {
	margin:0 auto;
	width:100%;
	background:#002654;
	display:flex;
	align-items:center;
}
.qv_notice {
	margin:0 auto;
	padding:2vw 0;
	width:100%;
	font-size:2.8vw;
	line-height:2.8vw;
	font-weight:700;
	text-align:right;
	color:#CE1126;
}
.qv_level,
.qv_value {position:relative;}
.qv_level {
	width:28%;
	font-size:0;
	line-height:0;
}
.qv_value {
	width:40%;
}
.qv_level_text,
.qv_value_text {
	padding:0.6vw 1vw 1vw;
	font-size:2.6vw;
	line-height:2.6vw;
	font-weight:600;
	color:#FFF;
	text-align:left;
}
.qv_value_text {
	margin:0 0 0 auto;
	text-align:right;
}
.qv_level_img {
	padding:1vw 1vw 1.6vw;
	width:calc(100% - 2vw - 8px);
	border:4px solid #002654;
}
.qv_level_img img {width:100%;}
.qv_value_num {
	padding:1vw 1vw 1.5vw 2vw;
	width:calc(100% - 3vw - 8px);
	font-size:4vw;
	line-height:4vw;
	font-weight:900;
	color:#CE1126;
	text-align:right;
	background:#FFF;
	border:4px solid #002654;
}
/* heading summary */
/* h2 */
.heading_h2a {
	margin:0 0 8vw;
	position: relative;
	font-size: 4.2vw;
	line-height:6.5vw;
	font-weight:600;
	color:#343434;
}
.heading_h2a::before {
	content:attr(data-number);
	display:block;
	color:#DCDFE2;
	font-size:6vw;
	font-weight:900;
}
.heading_h2a::after {
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:15vw;
	height:1px;
	background-color:#DCDFE2;
}
.heading_h2b {
	margin:0 0 4vw;
	font-size:4vw;
	font-weight: 700;
	padding: 0.8em 1em;
	border: 3px solid #002654;
	background-image: linear-gradient(45deg, #fff 0 15%, #002654 15%);
	color: transparent;
	position: relative;
}
.heading_h2b:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(45deg, #002654 15%, #fff 0 15%);
	content: '';
	z-index: -1;
}
.sakura_section h3 {
	margin:0 0 4vw;
	font-size:4vw;
	line-height:6.5vw;
	font-weight: 700;
	padding: 1em;
	  --x-gradient: linear-gradient(90deg, #E2E2E2 0 100%);
	  --y-gradient: linear-gradient(#E2E2E2 0 15px, transparent 0 calc(100% - 3vw), #E2E2E2 calc(100% - 3vw));
	background-image:var(--x-gradient), var(--y-gradient), var(--x-gradient), var(--y-gradient);
	background-repeat: no-repeat;
	background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
	background-position: top, right, bottom, left;
	position: relative;
}
.payment_body h3 {
	margin:0 0 4vw;
	font-size:4vw;
	line-height:6.5vw;
	font-weight: 700;
	border-bottom: 2px solid #e3e3e3;
	padding: 0.3em;
	margin-bottom: 0.3em;
	position: relative;
}
.payment_body h3::after {
	content: '';
	background-color: #002654;
	width: 2em;
	height: 2px;
	position: absolute;
	bottom: -2px;
	left: 0;
	z-index: 1;
}
.heading_h3a {
	margin:0 0 4vw;
	font-size: 4vw;
	line-height:12vw;
	font-weight:700;
	position: relative;
}
.heading_h3a::before {
	content: attr(data-number);
	display: inline-block;
	margin-right: 3vw;
	color: #CE1126;
	font-size: 10vw;
	font-weight:900;
	border-bottom: 2px solid #CE1126;
}
.heading_h3sakura {
	margin:0;
	padding: 2vw 2vw 1vw 7.5vw;
	font-size:4vw;
	line-height:6vw;
	font-weight:700;
	color: #002654;
	position: relative;
	border-top: 2px solid #002654;
	border-right: 2px solid #002654;
	border-left: 2px solid #002654;
}
.heading_h3sakura::before {
	content: '';
	width: 5vw;
	height:5vw;
	background-image:url("/img/icon_person.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:2.5vw;
	left:2vw;
}
.alertRed {
	margin:2vw 0 0 0;
	padding: 0 0 0 4.5vw;
	font-size:2.8vw;
	line-height:4.2vw;
	font-weight:700;
	color: #CE1126;
	position: relative;
}
.alertRed::before {
	content: '';
	width: 4vw;
	height:4vw;
	background-image:url("/img/icon_alert.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:0.2vw;
	left:0;
}
/* common parts */
.howtotrick,
.opinion {
	margin:0 0 8vw;
	font-size: 3.4vw;
	line-height:5.8vw;
	font-weight:600;
	text-align:justify;
}
.howtotrick strong,
.opinion strong {font-weight:700;}
.box_addcolor01 {
	margin:0 auto 4vw;
	padding:3vw;
	width:calc(100% - 6vw);
	font-weight:500;
	background:#f9f9f9;
	border:1px solid #CCCCCC;
}
.common_read {
	padding:5vw 1vw 5vw;
	width:calc(100% - 2vw);
	font-size:5.5vw;
	line-height:8.4vw;
	font-weight:900;
	text-align:center;
	letter-spacing: -0.02em;
	border-top:2px solid #343434;
	border-bottom:2px solid #343434;
}
.common_read span,
.shift_change span {
	font-size:7vw;
	color:#CE1126;
}
.shift_change {
	padding:5vw 1vw 5vw;
	width:calc(100% - 2vw);
	font-size:6vw;
	line-height:8.4vw;
	font-weight:900;
	text-align:center;
}
.shift_change div:nth-child(1) {
	margin:0 0 6vw;
}
.overview {
	margin:0 auto 16vw 0;
	max-width:100%;
}
.ov_img_title {
	display:inline-block;
	padding:2vw 3vw;
	font-size:2.6vw;
	line-height:2.6vw;
	font-weight:600;
	color:#757575;
	background:#f9f9f9;
	border-radius:5px 5px 0 0;
}
.ov_url_title {
	padding:2vw 3vw 0;
	font-size:2.6vw;
	line-height:2.6vw;
	font-weight:600;
	color:#757575;
	background:#f9f9f9;
}
.ov_img_wrap {
	margin:0 0 0;
	padding:3vw 2vw;
	width:calc(100% - 4vw);
	background:#f9f9f9;
	display:flex;
	justify-content:space-around;
}
.ov_img_wrap div {
	width:46%;
	font-size:0;
	line-height:0;
	border:1px solid #757575;
}
.ov_img_wrap img {width:100%}
.outline {
	margin:0 auto 4vw;
	padding:3vw;
	width:calc(100% - 6vw - 4px);
	font-size:3vw;
	line-height:4.5vw;
	font-weight:600;
	color:#CE1126;
	text-align:justify;
	border:2px solid #CE1126;
}
.sakura_thumbnails {
	margin:0 auto 4vw;
	padding:2vw 0 4vw;
	width:calc(100% - 4px);
	border-bottom:2px solid #073974;
	border-right:2px solid #073974;
	border-left:2px solid #073974;
}
.sakura_thumbox {
	margin:0 auto;
	width:95%;
	display:flex;
	flex-wrap:wrap;
}
.sakura_pic {
	padding:2vw 2vw 1vw;
	width:calc((100% / 5) - 4vw);
	position:relative;
}
.sakura_pic img {width:100%;}
.balpic::before  {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	border-right: 1.5vw solid transparent;
	border-bottom: 2vw solid #002654;
	border-left: 1.5vw solid transparent;
}
.balpic::after{
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	bottom: -0.8vw;
	left: 50%;
	transform: translateX(-50%);
	border-right: 1.5vw solid transparent;
	border-bottom: 2vw solid #FFF;
	border-left: 1.5vw solid transparent;
}
.sakura_object {display:none;}
.balarti {display:block;}
.sakura_object {
	margin:0 auto 0;
	padding:5vw 2.5vw 4vw;
	width:calc(91% - 5vw);
	background:#FFF;
	border:2px solid #002654;
	border-radius:5px;
}
.outline_list {
	margin:0 auto 8vw;
	width:calc(100% - 3px);
	color:#343434;
	border-top:1px solid #CED5DB;
	border-left:1px solid #CED5DB;
}
.outline_list > li {
	width:100%;
	display:flex;
}
.outline_list_title,
.outline_list_title_black {
	padding:4vw;
	width:5em;
	font-size:3vw;
	line-height:3vw;
	font-weight:500;
	text-align:center;
	background:#E7F1F7;
	border-bottom:1px solid #CED5DB;
	border-right:1px solid #CED5DB;

	display: flex;
	justify-content: center;
	align-items: center;
}
.outline_list_title_black {
	color:#FFF;
	background:#151615;
}
.outline_list_content,
.outline_list_content_fred {
	padding:4vw;
	width:calc(100% - 5em - 16vw);
	font-size:3vw;
	line-height:4.5vw;
	font-weight:700;
	text-align:left;
	border-bottom:1px solid #CED5DB;
	border-right:1px solid #CED5DB;
}
.outline_list_content_fred {
	color:#CE1126;
}
.narrow {
	padding:0.5vw 4vw;
}
.payment_body {
	margin:0 auto 4vw;
	font-size:3vw;
	line-height:5.5vw;
	font-weight:500;
}
.cardslist {
	margin:1vw auto 1vw 0;
	width:80%;
	text-align:left;
	color:#343434;
}
.cards {
	display: none;
}
.cardkey,
.urlsum {
	background-color: #FFF;
	padding: 2vw 8vw 2vw 4vw;
	margin: 0;
	cursor: pointer;
	position: relative;
}
.cardkey span::before,
.cardkey span::after,
.urlsum span::before,
.urlsum span::after {
	position:absolute;
	content:'';
	top:1px;
	right:5vw;
	bottom:0;
	width:3vw;
	height:2px;
	margin:auto;
	background:#343434;
}
.cardkey span::after,
.urlsum span::after {
	transform:rotate(-90deg);
	transition:transform 0.3s;
}
.cardkey.cardactive span::after,
.urlsum.cardactive span::after {transform:rotate(0deg);}
.cards {
	font-size:3vw;
	line-height:4.5vw;
	font-weight:500;
	background-color: #FFF;
	border: 1px solid #D8D8D8;
	padding: 1vw 4vw 1vw;
}
.cardkey,
.urlsum {
	padding-left: 8vw;
	font-size:3.5vw;
	line-height:3.5vw;
	font-weight:700;
	border: 1px solid #D8D8D8;
	background: linear-gradient(#ffffff 0%, #eee 100%);
	position: relative;
}
.cardkey::before {
	content: '';
	width: 5vw;
	height:5vw;
	background-image:url("/img/icon_card.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:1.5vw;
	left:2vw;
}
.urlsum::before {
	content: '';
	width: 5vw;
	height:5vw;
	background-image:url("/img/icon_url.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:1.5vw;
	left:2vw;
}
.detail_content_wrap {
	margin:0 auto;
	width:96%;
}
.detail_leftwrap {
	width:100%;
}
.main_sentence {
	margin:0 auto 8vw;
	padding:4vw 2vw;
	width:calc(100% - 4vw - 12px);
	border-top:36px solid #002654;
	border-left:6px solid #002654;
	border-right:6px solid #002654;
	border-bottom:6px solid #002654;
}
.sidebox {
	margin:0 auto 8vw;
	padding:3vw 0;
	width:100%;
}
.expectation {
	margin:0 auto 4vw;
	padding:3vw;
	width:calc(100% - 6vw - 8vw);
	background:#002654;
	border:4vw solid #f9f9f9;
}
.expectation > div:not(:last-child) {
	margin:0 0 3vw;
}
.exp_box {
	display:flex;
	align-items:center;
}
.exp_txt {
	font-size:4vw;
	line-height:4vw;
	font-weight:600;
	color:#FFF;	
}
.exp_level,
.exp_total {
	margin:0 0 0 auto;
	width:32vw;
}
.exp_level img {width:100%;}
.exp_total {
	padding:1.5vw 2vw 2.5vw 0;
	width:calc(50vw - 2vw);
	font-size:24px;
	line-height:24px;
	font-weight:900;
	text-align:right;
	color:#CE1126;
	background:#FFF;
	border-radius:5px;
}
.exp_memo {
	padding:1.5vw 2vw;
	width:calc(100% - 4vw);
	font-size:2.6vw;
	line-height:4.2vw;
	font-weight:700;
	color:#CE1126;
	background:#f2f2f2;
}
.exp_memo p {
	padding-left:1em;
	text-indent:-1em;
}
.stepwrap {
/* 	margin:-24vw 0 0 -3.6vw;
	width:calc(100% + 7.5vw); */
	margin:-24vw 0 0 -3.4vw;
	width:calc(100% + 7vw);
	display:flex;
	position: sticky;
	top:0;
	z-index:180;
}
.stepwrap div {
	width:calc(((100% - 6px) / 4) - 2.25%);
	height:16vw;
}
.stepwrap div:not(:last-child) {
	margin:0 3% 0 0;
	width:calc(((100% - 6px) / 4) - 2.25%);
}
.stepwrap div a {
	display:block;
	width:100%;
	height:100%;
	font-size:3vw;
	line-height:3vw;
	font-weight:600;
	color:#002654;
	background:#FFF;
	border:3px solid #002654;
	text-decoration:none;
	transition:0.5s all;
}
.act1 a,
.act2 a,
.act3 a,
.act4 a,
.stepwrap div a:hover {
	color:#FFF!important;
	background:#002654!important;
}
.stepwrap div a p {
	width:100%;
	height:100%;
	display: flex;
	justify-content:center;
	align-items: center;
}
.panel {display: none;}
.panel.active {display: block;}

[id="1"],
[id="2"],
[id="3"],
[id="4"] {
	margin-top:-24vw;
	padding-top:24vw;
}
.steplead_wrap {
	margin:8vw 0 0 0;
	font-size:3vw;
	line-height:4.5vw;
	font-weight:600;
}
.sakura_section {
	margin:0 auto 8vw;
	width:100%;
}
.sakura_section table {
	margin:0 auto 5vw;
	width:100%;
}
.sakura_section table td:nth-child(1) {
	padding:2vw 1vw 2vw 0;
	width:calc(25% - 1vw);
	vertical-align:top!important;
}
.sakura_section table td:nth-child(1) img {
	width:20vw;
	height:20vw;
}
.sakura_section table td:nth-child(2) {
	padding:2vw 0 2vw 1vw;
	width:calc(75% - 1vw);
	color:#343434;
	vertical-align:top!important;
}
.sakura_section strong {font-weight:600!important;}
.sakura_name {
	margin:0 0 2vw;
	font-size: 3.5vw;
	line-height:8vw;
	font-weight:700;
}
.sakura_name::before {
	content: '登場人物';
	display: block;
	color: #757575;
	font-size: 2.6vw;
	line-height:1.6vw;
}
.sakura_name::after {
	content: '';
	display: block;
	width: 8vw;
	height: 1px;
	background-color: #757575;
}
.sakura_read {
	padding:2vw;
	width:calc(100% - 4vw - 2px);
	font-size: 3vw;
	line-height:5.6vw;
	font-weight:500;
	text-align:justify;
	border:1px solid #CCCCCC;
}
.sakura_read_bk {
	padding:2vw;
	width:calc(100% - 4vw - 2px);
	font-size: 3.2vw;
	line-height:5.6vw;
	font-weight:500;
	text-align:justify;
	background:#f9f9f9;
	border:1px solid #CCCCCC;
}
.characters {
	margin:2vw 0 0 auto;
	padding:0 0 0 5vw;
	font-size: 2.8vw;
	line-height:2.8vw;
	font-weight:600;
	text-align:right;
	color:#1E50A2;
}
.characters span {position:relative;}
.characters span:before {
	content: '';
	width: 4vw;
	height:4vw;
	background-image:url("/img/icon_tag_b.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:0.3vw;
	left:-4.8vw;
}
.especially {
/* 	margin:12vw 0 0; */
	width:100%;
}
.especiallytitle {
	margin:0 2vw 4vw;
	padding: 0.5em 1em;
	font-size: 4vw;
	line-height:4vw;
	font-weight: 700;
	text-align:center;
	color:#CE1126;
	outline: 3px solid #CE1126;
	outline-offset: 5px;
	background:
	linear-gradient(-45deg, transparent 0 20px, #fff 20px calc(100% - 20px), transparent calc(100% - 20px)),
	repeating-linear-gradient(-45deg, #CE1126 0 2px, #fff 2px 6px);
}
.especially ul {width:100%;}
.especially li {
	padding:1vw 0 1vw 5vw;
	font-size:3.5vw;
	line-height:6vw;
	font-weight:700;
	text-align:justify;
	color:#002654;
	position:relative;
}
.especially li:before {
	content: '';
	width: 4.5vw;
	height:4.5vw;
	background-image:url("/img/icon_check_blue.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:1.9vw;
	left:0;
}
.especiallybox {
	font-size:3vw;
	line-height:5.6vw;
	font-weight:700;
	text-align:justify;
	color:#CE1126;
}
.mokuji_title {
	padding:2vw 0 2vw 6vw;
	font-size:4vw;
	line-height:4vw;
	font-weight:700;
	text-align:justify;
	color:#002654;
	border-bottom:1px solid #002654;
	position:relative;
}
.mokuji_title:before {
	content: '';
	width: 5vw;
	height:5vw;
	background-image:url("/img/icon_toc.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:1vw;
	left:0;
}
.mokuji_inner {
	margin:0 auto 4vw;
	padding:4vw;
	width:calc(100% - 8vw);
}
.mokuji_inner li {
	font-size:3.5vw;
	line-height:5.5vw;
	font-weight:700;
	text-align:justify;
	color:#002654;
	cursor:pointer;
	position:relative;
}
.mokuji_inner li:before {
	content: '';
	width: 4vw;
	height:4vw;
	background-image:url("/img/icon_toci.svg");
	background-size: 100%;
	background-repeat: no-repeat;

	position:absolute;
	top:3.6vw;
	left:1vw;
}
.mokuji_inner a {
	display:block;
	width:100%;
	color:#002654;
	text-decoration:none;
}
.mokuji_inner span {
	display:inline-block;
	padding:10px 0 10px 30px;
	position:relative;

	color:#002654;
	text-decoration:none;

}





/* ===============================
CONTACT
=============================== */
.pagefor_form {
	margin:0 auto;
	width:100%;
}
.sum_formlist {
	margin:0 auto;
	width:94%;
}
.sum_formlist ul {
	padding:5vw 0 0;
	width:100%;
	font-size:4vw;
	line-height:6vw;
	text-align:left;
	color:#262626;
}
.sum_formlist li {
	width:100%;
	margin-bottom: 3vw;
	padding-bottom: 3vw;
}
.sum_formlist li:not(:last-child) {
	border-bottom: 1px solid #EFEFEF;
}
.f_ttl {
	padding:0 0 1vw 1vw;
	width: calc(100% - 1vw);
	font-size:3.8vw;
	line-height:4vw;
	font-weight:600;
}
.f_ttl span {
	color:#FF4F73;
	font-size:2.8vw;
}
.f_txt {
	width: 100%;
	line-height:6vw;
}
.f_txt span {
	font-size:2.8vw;
	color: #343434;
}
.f_radioflat {
	display: flex;
	flex-wrap : wrap;
}
/* FORM */
.f_txt input[type='text']{ outline: none;}
.f_txt input[type='text']{
	width:calc(100% - 26px);
	height:40px;
	padding: 5px 12px;
	font-size:16px;
	border-radius: 4px;
	border: 1px solid #D6D6D6;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}
.f_txt {position:relative;z-index:10;}
.formchb {
	padding:1vw 0;
	display: flex;
	flex-wrap: wrap;
}
.formchb label {
	margin-right: 5vw;
	padding:2vw 0;
	font-size:3.2vw;
	line-height:5.2vw;
	font-weight:600;
	color: #343434;
}
.formchb input{display: none;}
.formchb input + div{
	padding:0 0 0 6.6vw;
	position:relative;
}
.formchb input + div::before{
	content: "";
	background-image: url(../img/check.svg);
	background-size: contain;
	display: block;
	position: absolute;
	top: 0.2vw;
	left: 0;
	width: 5.2vw;
	height: 5.2vw;
}
.formchb input:checked + div{
	color: #343434;
}
.formchb input:checked + div::after{
	content: "";
	background-image: url(../img/checked.svg);
	background-size: contain;
	display: block;
	position: absolute;
	top: 0.2vw;
	left: 0;
	width: 5.2vw;
	height: 5.2vw;
}
.f_txt textarea {
	width:calc(100% - 26px);
	height: 180px;
	padding: 12px 12px 0 12px;
	font-size:16px;
	border-radius: 4px;
	border: 1px solid #D6D6D6;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}
.f_txt textarea:focus {
	outline: none;
}
.cnt_btn {
	margin:0 auto;
	width:70%;
}
.cnt_btn input[type='image'] {
	margin: 0 auto 8vw;
	padding: 1em 0;
	width:100%;
	cursor: pointer;
	transition:opacity 0.5s;
}
.error {
	margin:6vw 0;
	font-size:3vw;
	text-align:left;
}
.thanks {
	margin:6vw auto 60vh;
	width:100%;
	font-size:3.2vw;
	line-height:6vw;
	text-align:left;
}
.thanks a {
	color:#c1272d;
	text-decoration:none;
}

/* footer {
	margin:8vw auto 18vw;
	padding:0;
	width:100%;
	font-size:3.2vw;
	line-height:3.2vw;
	font-weight:600;
	text-align:center;
	color:#343434;
} */
footer {
	margin:0 auto;
	padding:0;
	width:100%;
	background:#002654;
	color:#FFF;
	font-size:2.8vw;
	line-height:2.8vw;
	font-weight:600;
	text-align:left;

	position: absolute;
	bottom: 0;
	left:0;
	z-index:1;
}
.traceadd {
	margin:0 auto;
	padding:2vw 0 20vw 2vw;
	display:flex;
}
.tracedis {
	margin:0 auto;
	padding:2vw 0 2vw 2vw;
	display:flex;
}
.f_menu {
	margin:0 2vw 0 auto;
}
.f_menu a {
	color:#FFF;
	text-decoration:none;
	transition:0.5s all;
}
.pagetop,
.subpagetop {display:none;}
#pagetop {
	width: 16vw;
	height:16vw;
	position: fixed;
	bottom: -30vw;
	right: 2vw;
	z-index:190;
}
#pagetop img {width:100%;}
#pagetop a {
	margin:0 auto;
	width: 16vw;
	height:16vw;
	display: block;
}
#pagetop a:hover {
	margin:0 auto;
	width: 16vw;
	height:16vw;
	display: block;
}
.chat {
	width: 11.5vw;
	height:11.5vw;
	font-size:0;
	line-height:0;

	position:fixed;
	bottom:2.6vw;
	right:2vw;
	z-index:500;
}
.line {
	width: 11.5vw;
	height:11.5vw;
	font-size:0;
	line-height:0;

	position:fixed;
	bottom:2vw;
	right:15.5vw;
	z-index:500;
}
.chat img,
.line img {width:100%;}


/* =========================================
CHAT
========================================= */
.chat_wrap {
	padding:3vw;
	width:calc(100% - 6vw - 5px);
	max-width:85%;
	height:70%;
	background:#FFF;
	border-radius: 5px 0 0 5px;
	border-top:5px solid #e5e5e5;
	border-bottom:5px solid #e5e5e5;
	border-left:5px solid #e5e5e5;

	position:fixed;
	bottom:16vw;
	right: -110vw;
	z-index:1000;
	transition: all 0.6s;
}
.chat_cover {
	width:100%;
	height:100%;
	position:relative;	
}
.chatarea {
	width:100%;
	max-height:calc(100% - 13vw);
	overflow-y: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.chatarea::-webkit-scrollbar {
	display:none;
}
.staff_chat {
	margin:0 auto 4vw 0;
	width:94%;

	display: -webkit-flex;
	display: flex;
	position: relative;
}
.chatstaff {
	margin:0 4.5% 0 0;
	width:8vw;
	height:8vw;
	font-size:0;
	line-height:0;
	border:3px solid #efefef;
	border-radius:50%;
	overflow:hidden;
}
.chatstaff img {
	width:100%;
	height:100%;
	object-fit: cover;
}
.chat_msg {
	padding:2vw 3vw;
	max-width:calc(100% - 6vw - 7.7%);
	background-color:#f1f1f1;
	border-radius:2.5vw;
	position:relative;
	box-sizing: border-box;
	display:inline-block;
}
.chat_msg::before {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-radius: 50%;
	transform: rotate(45deg);
	top: 2vw;
	border-right: 4vw solid transparent;
	border-bottom: 4vw solid transparent;
}
.chat_msg::after {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-radius: 50%;
	transform: rotate(45deg);
	top: 4vw;
	border-right: 4vw solid transparent;
	border-bottom: 4vw solid transparent;
}
.chat_msg::before {
	left: -2.4vw;
	border-left: 4vw solid #f1f1f1;
	border-top: 4vw solid transparent;
}
.chat_msg::after {
	left: -4vw;
	border-left: 4vw solid #ffffff;
	border-top: 4vw solid transparent;
}
.chat_lead {
	font-size:3vw;
	line-height:5.2vw;
	font-weight:700;
	text-align:justify;
}
.chat_img {
	margin:0 5vw 4vw auto;
	width:calc(88% - 5vw);
	font-size:0;
	line-height:0;
}
.chat_img img {
	width:100%;
	border-radius:5vw;
}
.ref_text {
	margin:1.4vw auto 0;
	width:90%;
	font-size:2.2vw;
	line-height:2.2vw;
	color:#b8b8b8;
	text-align:right;
}
.user_chat {
	margin:0;
	padding:0 4vw 0 0;
	width:calc(100% - 6vw);
	display: flex;
    justify-content: flex-end;
}
.uchat_msg {
	margin:0 0 4vw auto;
	padding:3vw;
	max-width:calc(80% - 6vw - 4vw);
	background-color:#ccf7ff;
	border-radius:2.5vw;
	position:relative;
	display:inline-block;
}
.uchat_msg::before {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-radius: 50%;
	transform: rotate(45deg);
	top: 2vw;
	border-right: 4vw solid transparent;
	border-bottom: 4vw solid transparent;
}
.uchat_msg::after {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-radius: 50%;
	transform: rotate(45deg);
	top: 4vw;
	border-right: 4vw solid transparent;
	border-bottom: 4vw solid transparent;
}
.uchat_msg::before {
	left: auto;
	right: -2.4vw;
	border-left: 4vw solid transparent;
	border-top: 4vw solid #ccf7ff;
}
.uchat_msg::after {
	left: auto;
	right: -4vw;
	border-left: 4vw solid transparent;
	border-top: 4vw solid #ffffff;
}
.input_position {
	padding:0;
	width:100%;
	position:absolute;
	left:0;
	bottom:0;
	z-index:500;
}
.input_area {
	padding:2vw 0 0;
	width:100%;
	background:#FFF;
	display: flex;
	align-items: end;
}
.msg_field {
	width:calc(100% - 6vw - 20vw);
	font-size:16px;
	line-height:28px;
}
.picup,
.enter {
	margin:0 0 0 2vw;
	width:10vw;
	height:10vw;
	font-size:0;
	line-height:0;
}
.picup {display:block;}
.picup input[type=file] {
	display: none;
}
.enter {margin:0 2vw;}
.picup img,
.enter input[type=image] {width:100%;}
.fname {
	padding:2vw 0 0;
	display:none;
	font-size:2.6vw;
	line-height:2.6vw;
}
.fnameOn {display:block;}
.flex_textarea {
	position: relative;
	font-size: 1rem;
	line-height: 1.8;
}
.FlexTextarea__dummy {
	overflow: hidden;
	visibility: hidden;
	box-sizing: border-box;
	padding: 2vw 3vw;
	min-height: 10vw;
	max-height:80vw;
	white-space: pre-wrap;
	word-wrap: break-word;
	overflow-wrap: break-word;
	border: 1px solid;
}
.flex_textarea textarea {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	overflow: hidden;
	box-sizing: border-box;
	padding: 2vw 3vw;
	width: 100%;
	height: 100%;
	background-color: transparent;
	border: 1px solid #b6c3c6;
	border-radius: 4px;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	resize: none;

	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}
.flex_textarea textarea:focus {
	outline: none;
}


/* ===============================
COMMERCE & COMMON(NORMAL-PAGE)
=============================== */
.normalpage,
.normalpage_sheet {
	margin:15vw auto 0;
	width:94%;
}
.normalpage ul,
.normalpage_sheet ul {
	width:100%;
	text-align:justify;
}
.normalpage_sheet ul:not(:first-of-type) {
	border-top:1px solid #d10010;
}
.normalpage_sheet ul li:nth-child(1) {
	margin:2vw 0;
	padding:2vw 0 0 2vw;
	width:calc(100% - 2vw);
	font-size:3.6vw;
	line-height:5.4vw;
	font-weight:600;
	position:relative;
}
.normalpage_sheet ul li:nth-child(2) {
	margin:0 0 4vw;
	padding:2vw 0 0 2vw;
	width:calc(100% - 2vw);
	font-size:3vw;
	line-height:4.6vw;
	font-weight:600;
	position:relative;
}
.emsg {
	margin:5vw auto;
	width:94%;
	font-size:3vw;
	line-height:5.2vw;
	font-weight:600;
	color:#e50000;
	text-align:left;
}
.cmsg {
	margin:5vw auto;
	width:94%;
	font-size:3vw;
	line-height:5.2vw;
	font-weight:600;
	color:#0f1110;
	text-align:left;
}

.w15 {width:15%;}
.w30 {width:30%;}
.w50 {width:50%;}


}/* sp end */
.onchat {right:0;}
.home_news_wrap li,
.items_name,
.ws_memo p,
.ws_title P {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
}
.home_news_wrap li,
.items_name {
	-webkit-line-clamp: 1;
}
.ws_memo p {
	-webkit-line-clamp: 3;
}
.ws_title P {
	-webkit-line-clamp: 2;
}
.heading_h2b {
	-webkit-background-clip: text;
}