/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&family=Zen+Kaku+Gothic+Antique:wght@300;400;500;700;900&display=swap');

@import url("./svg.css");

:root{
/* color */
--color-text :#333333;
--color-main1:#19236D;
--color-main1-L:#e8e9f0;
--color-main1-MLL:#8c91b6;
--color-main1-ML:#5e6599;
--color-main2:#F68B0D;
--color-red  :#ed1c24;
/* font */
--font-jp: "Zen Kaku Gothic Antique", sans-serif;
--font-en: "Manrope", sans-serif;
--font-50-35: min(50px, max(35px, calc(1vw * 35 / 3.75)));
--font-30-24: min(30px, max(24px, calc(1vw * 24 / 3.75)));
--font-27-23: min(27px, max(23px, calc(1vw * 23 / 3.75)));
--font-25-20: min(25px, max(20px, calc(1vw * 20 / 3.75)));
--font-22-18: min(22px, max(18px, calc(1vw * 18 / 3.75)));
--font-20-16: min(20px, max(16px, calc(1vw * 16 / 3.75)));
--font-19-14: min(19px, max(14px, calc(1vw * 14 / 3.75)));
--font-16-14: min(16px, max(14px, calc(1vw * 14 / 3.75)));
--font-16-13: min(16px, max(13px, calc(1vw * 13 / 3.75)));
--font-16-12: min(16px, max(12px, calc(1vw * 12 / 3.75)));
--font-14-13: min(14px, max(13px, calc(1vw * 13 / 3.75)));
--font-14-11: min(14px, max(11px, calc(1vw * 11 / 3.75)));
--font-13-11: min(13px, max(11px, calc(1vw * 11 / 3.75)));
/* size */
--size-header-H:80px;
--size-side-pad:20px;
--size-footer-pad:120px;
}
@media screen and (max-width: 999px){
	:root{
	--size-header-H:70px;
	}
}

.col_main1,
.col_main1_ov:hover{color: var(--color-main1);}
.col_main2,
.col_main2_ov:hover{color: var(--color-main2);}
.col_W,
.col_W_ov:hover{color:#FFF;}

.bg_main1{background-color: var(--color-main1);color:#FFF;}
.bg_main1_L{background-color: var(--color-main1-L);}

.font_en{
	font-family: var(--font-en);
	font-weight: 900;
}
.con_pad{padding: 0 var(--size-side-pad);}

*[fs]{font-size: attr(fs px);}
*[fs="13"]{font-size: 13px;}
*[fs="13-11"]{font-size: var(--font-13-11);}
*[fs="14"]{font-size: 14px;}
*[fs="14-13"]{font-size: var(--font-14-13);}

#wpadminbar,
.skip-link.screen-reader-text{display: none;}

*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
html,body{
	padding: 0;
	margin: 0!important;
}
html{font-size: var(--font-16-13);}
body{
	color: var(--color-text);
	font-family: var(--font-jp);
	font-size: 1rem;
	font-weight: 400;
}
body *{line-height: 1.5em;}
a{
	text-decoration: none;
	color: inherit;
	transition: color 0.3s,
	opacity 0.3s;
}
a:focus{outline:none;}
h1, h2, h3, h4, h5, h6,
hr,dl,dt,dd,ul,li,p{
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5, h6{font-weight: 900;}
ul,li{list-style: none;}
hr{
	border: none;
	border-top:solid 1px var(--color-text);
}
img{display: block;}
img:not([src*="svg"]){object-fit: cover; max-width: 100%;}
img[src*="svg"]{width:100%;}
img[src*="svg"][h-base]{width: auto;height: 1em;}

header{
	position: fixed;
	top:0;
	left:0;
	width: 100%;
	max-width: 100vw;
	z-index: 1000;
}
header.white{background-color: #FFF;}
header:not(.white){background-color: rgba(255,255,255,0);}
header.loaded{transition: background-color 0.3s;}
header > .bg{position: absolute;}
header > .Wbase{position: relative;}
header .flex{
	height: var(--size-header-H);
	display: flex;
	justify-content: flex-end;
}
header .flex > *{
	display: grid;
	align-items: center;
}
header .flex .logo{
	flex-grow: 1;
	padding-left: min(100px,max(var(--size-side-pad),calc((100vw - 1200px - var(--size-side-pad)) / 2)));
	justify-items: start;
}
header .W100per .flex .logo{
	padding-left: max(var(--size-side-pad),calc((100vw - 1200px - var(--size-side-pad)) / 2));
}
header.white .logo *{color: var(--color-text);}
header:not(.white) .logo *{color:#FFF;}
header.loaded .logo *{transition: color 0.3s;}
header .logo,
footer .logo{display: flex;}
header .logo .set,
footer .logo .set{display: grid;}
header .logo .set{gap: 0.25rem;}
footer .logo .set{gap: 0.5rem;}
header .logo .set img{height: 27px;}
footer .logo .set img{height: 40px;}
header .logo .set a,
footer .logo .set a{
	gap: 0.5em;
	display: flex;
	align-items: center;
}
header .logo .set a{font-size: 20px;}
footer .logo .set a{font-size: 28px;}
header .logo .set h1,
footer .logo .set a div{
	font-size: 1em;
	font-weight: 900;
	gap: 0.5em;
	display: flex;
	align-items: baseline;
}
header .logo .set h1 font,
footer .logo .set a div font{font-size: calc(1em * 5 / 6);}
header .logo .set > div,
footer .logo .set > div{
	font-weight: 900;
	text-align: justify;
	text-align-last: justify;
}
header .logo .set > div{font-size: 11px;}
header .flex .pc_menu{
	font-size: 14px;
	font-weight: 700;
	width: 385px;
	max-width: 100vw;
	background-color: var(--color-main1);
	color: #FFF;
	gap:30px;
	display: flex;
	justify-content: center;
}
header .set{display: flex;}
header .set.s1{gap: 30px;}
header .flex .pc_menu .set.s2{gap: 20px;}
header .set.s1 .btn{
	cursor: pointer;
	gap: 0.5em;
	display: flex;
	align-items: center;
}
header .set.s1 .btn img[src*="arrow"]{height:0.5em;}

header .set.s1 .lang_set{position: relative;}
:root{
--flag-arrow:8px;
--flag-padT:3px;
--flag-padL:0;
--flag-W:24px;
--flag-H:18px;
--flag-gap:29px;
}
header .set.s1 .lang_set > .flag{
	display: none;
	position: absolute;
	top: calc(100% + var(--flag-arrow));
	right: 0;
}
header .set.s1 .lang_set > .flag > *{
	border: solid 1px var(--color-main1);
	background-color: #FFF;
	padding: 4px;
	gap:4px;
	position: relative;
	display: flex;
}
header .set.s1 .lang_set > .flag a{
	display: block;
	cursor: pointer;
	width: var(--flag-W);
	height: var(--flag-H);
	background-image: url("../img/common/flags.png");
	background-repeat: no-repeat;
}
header .set.s1 .lang_set > .flag a[title="English"]{background-position: calc(var(--flag-gap) * -4) calc(var(--flag-gap) * -12 + var(--flag-padT) * -1);}
header .set.s1 .lang_set > .flag a[title="Japanese"]{background-position: calc(var(--flag-gap) * -3) calc(var(--flag-gap) * -6 + var(--flag-padT) * -1);}
header .set.s1 .lang_set > .flag a[title="Portuguese"]{background-position: calc(var(--flag-gap) * -5) calc(var(--flag-gap) * -15 + var(--flag-padT) * -1)}
header .set.s1 .lang_set > .flag a[title="Spanish"]{background-position: 0 calc(var(--flag-gap) * -11 + var(--flag-padT) * -1)}
header .set.s1 .lang_set > .flag a[title="Vietnamese"]{background-position: 0 calc(var(--flag-gap) * -13 + var(--flag-padT) * -1)}

header .flex .pc_menu .set.s2 a{
	background-color: #FFF;
	width: 40px;
	height: 40px;
	border-radius: 100%;
	display: grid;
	justify-items: center;
	align-items: center;
}
header .flex .pc_menu .set.s2 a img[src*="tel"]{width:35%;}
header .flex .pc_menu .set.s2 a img[src*="mail"]{width:40%;}
header .flex .sp_menu{
	cursor: pointer;
	width: var(--size-header-H);
	background-color: var(--color-main2);
	color: #FFF;
	z-index: 3;
	justify-items: center;
	align-items: center;
}
header .flex .sp_menu *{transition: 0.3s;}
header .flex .sp_menu > *{
	width: 45%;
	height: 17.5%;
	display: grid;
	align-content: space-between;
	justify-items: start;
	align-items: center;
}
header .flex .sp_menu > * > *{
	width:100%;
	height:2px;
	background-color: #FFF;
}
header .flex .sp_menu > * > *:nth-child(2){width:75%;}
header.pop_show .flex .sp_menu > *{
	width: calc(45% / sqrt(2) + 0.55px);
	height: calc(45% / sqrt(2) + 0.55px);
	transform: rotate(360deg);
}
header.pop_show .flex .sp_menu > * > *{
	width:calc(100% * sqrt(2) - 2px);
	transform-origin: left center;
}
header.pop_show .flex .sp_menu > * > *:nth-child(1){transform: rotate(45deg);}
header.pop_show .flex .sp_menu > * > *:nth-child(2){transform: rotate(-45deg);}
@media screen and (max-width: 999px){
	header .flex .pc_menu{
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		height: var(--size-header-H);
	}
	header .set.s1 .lang_set .flag{
		top: auto;
		bottom: calc(100% + var(--flag-arrow));
	}
}
header .pop{
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	display: none;
	max-width: 100%;
}
header .pop .bg{
	width: 700px;
	max-width: 100%;
	height: 100vh;
	height: 100dvh;
	max-height: 100vh;
	max-height: 100dvh;
	background-color: var(--color-main2);
	overflow: auto;
}
header .pop .pad{padding: 70px var(--size-side-pad);}
header .pop .pad > .set{
	gap:2em;
	display: flex;
	flex-direction: column;
	align-items: center;
}
header .pop .set.s1,
header .pop hr,
header .pop .menu{width:475px; max-width: 100%;}
header .pop .set.s1{}
header .pop hr{
	opacity:0.5;
	border-color: #FFF;
}
header .pop .menu{
	gap: 1em;
	display: grid;
	justify-content: space-between;
	grid-template-columns:repeat(2,auto);
}
header .pop .menu a{
	font-size: min(20px ,max(14px, calc(1vw * 14 / 3.75)));
	font-weight: 900;
	display: grid;
}
header .pop .menu a .font_en{
	font-size: min(14px ,max(9px, calc(1vw * 9 / 3.75)));
	opacity:0.5;
}
/*
@media screen and (max-width: 999px){
	header .pop .menu a[href*="privacy"] > *:nth-child(1){max-width: 6em;}
}
*/


main{
	margin-top: 0!important;
	/* padding-top: var(--size-header-H); */
	min-height: 100vh;
	min-height: 100dvh;
}
.con_subt{
	gap:1em;
	display: grid;
}
.con_subt h2,
.con_subt h3{
	font-size: min(65px,max(45px,calc(1vw * 45 / 3.75)));
	line-height: 1em;
}
.con_subt h2 + *,
.con_subt h3 + *{
	font-size: min(20px,max(16px,calc(1vw * 16 / 3.75)));
	gap: 0.5em;
	display: flex;
	align-items: center;
}
.con_subt hr{
	width:2em;
	/* flex-grow: 1; */
	border-top:solid 2px var(--color-text);
}
.con_subt .col_main1 hr{border-color: var(--color-main1);}
.con_subt .col_main2 hr{border-color: var(--color-main2);}
.con_subt .col_W hr{border-color:#FFF;}
.con_subt.sc{gap:2em; margin-bottom: 3em;}
.con_subt.sc h2,
.con_subt.sc h3{font-size: min(50px,max(40px,calc(1vw * 40 / 3.75))); line-height: normal; white-space: pre-wrap;}
.con_subt.sc hr{width:100px; border-top:solid 3px var(--color-main1);}
.page .con_subt.sc h2,
.page .con_subt.sc h3{font-size: var(--font-50-35);}

.con_contact_btn{
	max-width: 100%;
	height: 100%;
	gap: 1em;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
}
.con_contact_btn a{
	font-size: min(20px,max(16px,calc(1vw * 16 / 3.75)));
	font-weight: 900;
	background-color: #FFF;	
	width: 22em;
	max-width: 100%;
	height: 4.5em;
	padding: 0 min(2em,calc(1% * 40 / 4.4));
	display: flex;
	justify-content: space-between;
}
header .con_contact_btn a{color: var(--color-main2);}
header .con_contact_btn a svg .textcol{fill:var(--color-main2);}
header .con_contact_btn a svg .textcol_stroke{stroke:var(--color-main2);}
footer .con_contact_btn a{
	font-size: min(20px, max(13px, calc(1vw * 13 / 3.75)));
	color: var(--color-main1);
	transition: color 0.3s,
	background-color 0.3s;
}
footer .con_contact_btn a svg .textcol{fill:var(--color-main1);}
footer .con_contact_btn a svg .textcol_stroke{stroke:var(--color-main1);}
footer .con_contact_btn a:hover{background-color:var(--color-main2); color:#FFF;}
footer .con_contact_btn a:hover svg .textcol{fill:#FFF;}
footer .con_contact_btn a:hover svg .textcol_stroke{stroke:#FFF;}
.con_contact_btn a *{line-height: 1em;}
.con_contact_btn a > *{
	display: grid;
	align-content: center;
	align-items: center;
	justify-items: center;
}
.con_contact_btn a .icon{width:calc(1em * 34 / 20);}
.con_contact_btn a .icon svg{
	width:100%;
	height:1.9em;
	object-fit: contain;
	object-position: center center;
}
.con_contact_btn .text{gap:0.5em;}
.con_contact_btn .tel .text > *:nth-child(1){font-size: calc(1em * 37 / 20);}
.con_contact_btn .tel .text > *:nth-child(2){font-size: 0.7em;}
.con_contact_btn a .arrow{width:1em;}

.con_sns_icon{
	font-size: var(--font-14-11);
	display: flex;
	justify-content: space-between;
	/*
	display: grid;
	grid-template-columns:repeat(3 ,1fr);
	*/
}
.con_sns_icon a{gap:0.5em; display: grid; justify-items: center;}
.con_sns_icon svg[fn*="insta"]{margin-top: 1px;}
header .con_sns_icon{gap:2em;}
header .con_sns_icon svg[fn*="insta"]{width:48px;}
header .con_sns_icon svg[fn*="fb"]{width:50px;}
footer .con_sns_icon{margin-top: auto;}
footer .con_sns_icon svg .textcol{fill:var(--color-main1);}

.mainpic{
	min-height: 500px;
	display: flex;
}
body.home .mainpic{
	min-height: 900px;
	height: 100vh;
	height: 100dvh;
}
.mainpic > *{flex-grow: 1;}
.mainpic .bg_grad{
	position: relative;
	color: #FFF;
	display: grid;
}
body.home .mainpic .bg_grad{padding-left: var(--size-side-pad);}
.mainpic .bg_grad .bg,
.mainpic .bg_grad .grad_naname{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.mainpic .bg_grad .bg{
	z-index: -2;
	opacity: 0.2;
}
.mainpic .bg_grad .grad_naname{
	z-index: -1;
	mix-blend-mode: color;
}
.mainpic .bg_grad .Wbase{
	padding-top: var(--size-header-H);	
	display: grid;
	align-content: center;
	justify-content: start;
}
body:not(.home) .mainpic .bg_grad .Wbase{
	width:calc(100% - var(--size-side-pad) * 2);
}
.mainpic .bg_grad .Wbase h2{
	font-size: min(65px,max(45px,calc(1vw * 45 / 3.75)));
	line-height: calc(1em * 120 / 65);
}
body.home .mainpic .bg_grad .Wbase h2{
	font-size: min(92px,max(57px,7vw));
	line-height: calc(1em * 120 / 92);
}
.mainpic .bg_grad .Wbase h2 + *{
	font-size: min(23px,max(14px,calc(1vw * 14 / 3.75)));
	margin-top: 0;
}
body.home .mainpic .bg_grad .Wbase h2 + *{
	font-size: min(27px,max(16px,calc(1vw * 16 / 3.75)));
	line-height: calc(1em * 50 / 27);
	margin-top: calc(1em * 40 / 27);
}
.mainpic .bg_grad .Wbase .catch{
	margin-top: 6em;
	line-height: 2em;
	font-size: var(--font-16-14);
}
@media screen and (min-width: 1000px){
	body.home .mainpic > *{width: 50%;}
	body.home .mainpic .bg_grad .Wbase{margin-right: 0;}
}
@media screen and (max-width: 999px){
	.mainpic{flex-direction: column;}
	.mainpic > *{width:100%;}
	body.home .mainpic .bg_grad{
		height: 700px;
		padding-bottom: 35px;
	}
}

.pan{}
.pan > *{
	font-size: 11px;
	padding: 1rem 0 6rem;
	gap: 0.5em;
	display: flex;
	flex-wrap: wrap;
}
@media screen and (max-width: 999px){
	.pan > *{padding: 1em 0 3em;}
}
.anchor{position: relative;}
.anchor > *{position: absolute; top:calc(var(--size-header-H) * -1);}

.btn_ov_grad{
	position: relative;
	width:334px;
	height:70px;
	padding: 0 30px;
	color: #FFF;
	font-weight: 900;
	z-index: 1;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.btn_ov_grad::before,
.btn_ov_grad::after{
	content: '';
	position: absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
}
.btn_ov_grad::before{
	background-color: var(--color-main2);
	z-index: -2;
}
.btn_ov_grad::after{
	background:-moz-linear-gradient(90deg, var(--color-main2), var(--color-main1));
  background:-webkit-linear-gradient(90deg, var(--color-main2), var(--color-main1));
  background:linear-gradient(90deg, var(--color-main2), var(--color-main1));
	z-index: -1;
	transition: 0.3s;
}
.btn_ov_grad:not(:hover)::after{
	width: 0;
	opacity: 0;
}
.btn_ov_grad .text{
	flex-grow: 1;
	text-align: center;
}
.btn_ov_grad .arrow{
	width:30px;
	height:30px;
	border-radius: 100%;
	background-color: #FFF;
	display: grid;
	align-items: center;
	justify-items: center;
}
.btn_ov_grad .arrow svg{width:1em;}
.btn_ov_grad:hover .arrow svg .textcol{fill:var(--color-main1);}
.btn_ov_grad:hover .arrow svg .textcol_stroke{stroke:var(--color-main1);}
@media screen and (max-width: 999px){
	.btn_ov_grad{
		font-size: 13px;
		width: 270px;
		height: 60px;
		padding: 0 20px;
	}
	.btn_ov_grad .arrow{
		width: 24px;
		height: 24px;
	}
}

footer{margin-top: calc(var(--size-footer-pad) * 3 / 2);}
footer .blue{background-color: var(--color-main1-L);}
footer .blue > *{padding-bottom: var(--size-footer-pad);}
footer .blue .box_contact,
footer .blue .box_contact > *{
	display: flex;	
	justify-content: center;
}
footer .blue .box_contact{
	padding-left: var(--size-side-pad);
	padding-right: var(--size-side-pad);
}
footer .blue .box_contact > *{
	color: #FFF;
	min-height:calc(var(--size-footer-pad) * 3);
	margin-top:calc(var(--size-footer-pad) * (-3) / 2);
}
footer .blue .box_contact > * > *{
	width: 100%;
	padding: min(60px,max(30px,calc(1vw * 30 / 3.75)));
	display: flex;
	justify-content: space-between;
}
footer .blue .box_contact .L{display: flex; flex-direction: column;}
footer .blue .box_contact .con_subt{margin-bottom: auto;}
footer .blue .box_contact .con_subt h3{
	font-size: min(55px,max(45px,calc(1vw * 45 / 3.75)));
}
footer .blue .box_contact .con_subt h3 + *{font-size: 16px;}
footer .blue .box_contact .con_subt + *{margin-top: 2em; line-height: 2em;}
footer .blue .con_pad{}
footer .blue .con_pad > *{display: flex; justify-content: space-between;}
footer .blue .con_pad > * > *{display: flex; flex-direction: column;}
footer .blue .con_pad .L .menu{
	gap: 1em;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	/*
	gap: 1em;
	display: grid;
	grid-template-columns:repeat(4,auto);
	*/
}
footer .blue .con_pad .L .menu + .menu{margin-top: 1em;}
footer .blue .con_pad .L .menu a{font-weight: 900;}
footer .blue .con_pad .L .menu div{width:5em;}
footer .blue .con_pad .L .logo{margin-top: 3em;}
footer .blue .con_pad .L .logo + *{margin-top: 2em;}
footer .blue .con_pad .border{
	min-width: 1px;
	min-height: 1px;
	background-color: #808080;
	/* border-left:solid 1px #808080; */
}
footer .blue .con_pad .R .con_subt + *{margin-top: 0.5em; margin-bottom: 2em;}
footer .group{padding: 0 var(--size-side-pad);}
footer .group > *{
	padding: 35px 0;
	min-height: 250px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	/*
	display: grid;
	grid-template-columns:repeat(4 ,1fr);
	*/
}
footer .group > * > *{width:250px;}
footer .group > * > *,
footer .group a{
	display: flex;
	justify-content: center;
	align-items: center;
}
footer .group img{width:100%; height:60px;}
footer .group img[src*=".svg"]{max-width: 80%; object-fit: contain; margin: auto;}
footer .copy{
	background-color: var(--color-main1);
	color:#FFF;
	padding: 0 var(--size-side-pad);
}
footer .copy > *{
	font-size: 10px;
	height: 82px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
@media screen and (min-width: 1000px){
	footer .blue .con_pad .L{width:52%;}
	footer .blue .con_pad .R{width:32%;}
	footer .blue .con_pad .R .con_subt + * br{display: none;}
}
@media screen and (max-width: 999px){
	footer{padding-bottom: var(--size-header-H);}
	footer .blue .box_contact > * > *,
	footer .blue .con_pad > *{
		gap: 30px;
		flex-direction: column;
	}
	footer .blue .box_contact{padding-bottom: 45px;}	
	footer .blue .con_pad{padding-bottom: 50px;}
	footer .blue .con_pad > *{flex-direction: column-reverse;}
	footer .blue .con_pad > * > *{align-items: center;}
	footer .blue .con_pad .R .con_subt + *{text-align: center;}
	footer .con_sns_icon{font-size:10px; width:205px;}
	footer .con_sns_icon svg{width:45px;}
	footer .con_sns_icon svg[fn*="insta"]{width:43px;}
	footer .blue .con_pad .L .menu{
		gap: 1.5em 3em;
		justify-content: center;
	}
	footer .blue .con_pad .L .menu > div{display: none;}
	footer .logo .set a{font-size: 24px;}
	footer .logo .set img{height:1.5em;}
	footer .group > *{
		width:335px;
		max-width: 100%;
		gap: 5px;
		justify-content: space-between;
	}
	footer .group > * > *{
		flex-grow:1;
		width:160px;
	}
	footer .group img{height:45px;}
}


.pc_vanish{}
.sp_vanish{}
.im_vanish{display:none!important;}
.pc_br_del{}
.sp_br_del{}
.vanish_branch{}
.vanish_branch_onoff{}
@media screen and (min-width: 1000px) {
	.pc_vanish,
	.pc_br_del br,
	.pc_div_del div,
	.vanish_branch img[src*="-sp."],
	.vanish_branch_onoff img[src*="-sp."]{display:none!important;}
}
@media screen and (max-width: 999px) {
	.sp_vanish,
	.sp_br_del br,
	.sp_div_del div,
	.vanish_branch img[src*="-pc."],
	.vanish_branch_onoff img:not([src*="-sp."]){display:none!important;}
}
.v_hidden{visibility:hidden;}

:root{
--motion-transition:1s;
--motion-delay:1s;
}
*[class*="motion_"],
*[class*="anime_"] *[delay]{
	transition: transform var(--motion-transition),
	opacity var(--motion-transition);
}
.motion_fuwa:not(.moved),
.anime_fuwa:not(.moved) *[delay]{
	transform: translateY(10vh);
	transform: translateY(10dvh);
	opacity: 0;
}
/*
//ボツ
*[class*="anime_"]{counter-reset: number 0;}
*[class*="anime_"] > *:not([delay]){
	counter-increment: number 1;
	transition-delay: calc(var(--motion-delay) * counter(number));
}
*/
*[class*="anime_"] *[delay="1"]{transition-delay: var(--motion-delay);}
*[class*="anime_"] *[delay="2"]{transition-delay: calc(var(--motion-delay) * 2);}
*[class*="anime_"] *[delay="3"]{transition-delay: calc(var(--motion-delay) * 3);}
*[class*="anime_"] *[delay="4"]{transition-delay: calc(var(--motion-delay) * 4);}
*[class*="anime_"] *[delay="5"]{transition-delay: calc(var(--motion-delay) * 5);}
*[class*="anime_"] *[delay="6"]{transition-delay: calc(var(--motion-delay) * 6);}
*[class*="anime_"] *[delay="7"]{transition-delay: calc(var(--motion-delay) * 7);}
*[class*="anime_"] *[delay="8"]{transition-delay: calc(var(--motion-delay) * 8);}
*[class*="anime_"] *[delay="9"]{transition-delay: calc(var(--motion-delay) * 9);}

.Wbase{
	width: 100%;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
.Wbase.W400{max-width: 400px;}
.Wbase.W500{max-width: 500px;}
.Wbase.W600{max-width: 600px;}
.Wbase.W700{max-width: 700px;}
.Wbase.W800{max-width: 800px;}
.Wbase.W1200{max-width: 1200px;}
.Wbase.W1400{max-width: 1400px;}
.Wbase.mgnL0{margin-left: 0;}
.Wbase.mgnR0{margin-right: 0;}

.textL{text-align: left;}
.textR{text-align: right;}
.textC{text-align: center;}
.textJ{text-align: justify;}
.textJJ{text-align: justify; text-align-last: justify;}
@media screen and (max-width: 999px){
	.sp_textL{text-align: left;}
	.sp_textR{text-align: right;}
	.sp_textC{text-align: center;}
	.sp_textJ{text-align: justify;}
}

.grad_normal{
	background:-moz-linear-gradient(90deg, var(--color-main2), var(--color-main1));
  background:-webkit-linear-gradient(90deg, var(--color-main2), var(--color-main1));
  background:linear-gradient(90deg, var(--color-main2), var(--color-main1));
}
.grad_naname{
	background:-moz-linear-gradient(45deg, var(--color-main2), var(--color-main1) 50%);
  background:-webkit-linear-gradient(45deg, var(--color-main2), var(--color-main1) 50%);
  background:linear-gradient(45deg, var(--color-main2), var(--color-main1) 50%);
}

.prewrap{white-space: pre-wrap;}

.padL_ov1400{padding-left: max(20px,calc((100vw - 1400px) / 2));}
.padR_ov1400{padding-right: max(20px,calc((100vw - 1400px) / 2));}

/* 印刷用CSS */
/*
@media print{
  印刷用CSSの定義を指定する
}
※印刷時は
「@media screen and (min-width: 1000px)」
「@media screen and (max-width: 999px)」内のスタイルは効かなくなる
*/
@media print{
	/*
	body > div .H_head,
	.pc_vanish{
		display:none!important;
	}
	*/
	header{position:relative;}
	main{padding-top: 0;}
}