@charset "UTF-8";
/*
Theme Name: そらまめらんど
Theme URI: https://xeory.jp/extension
Template: xeory_extension
Description: そらまめらんど
Author: WorldUtility
Version: 1.0.0
*/


:root{
	--base-color:#251e1c;
	--main:#fdf502;
    --red:#e7301e;
	--yellow:#fdf502;
	--brown:#804F21;
	--white:#FFFFFF;
	--bggray:#E6ECF8;
	--bgwhite:#F7F4F1;

	--shs: "source-han-sans-japanese", sans-serif;
	--oswald: "Oswald", sans-serif;

	--g-poly:polygon(55px 0, calc(100% - 55px) 0, 100% 45px, 100% calc(100% - 45px), calc(100% - 55px) 100%, 55px 100%, 0 calc(100% - 45px), 0 45px);
	--m-poly:polygon(16px 0, calc(100% - 16px) 0, 100% 14px, 100% calc(100% - 14px), calc(100% - 16px) 100%, 16px 100%, 0 calc(100% - 14px), 0 14px);

	--transition:all .7s ease;
	--transition--long:all 1.4s ease;
}

body,
body.home{
	font-family:var(--shs);
	font-weight:600;
	color:var(--base-color);
	background:var(--main);
	overflow-x: hidden;
}

.whitesec{
	color:var(--base-color);
	background:var(--bgwhite);
}

.osw{
	font-family:var(--oswald);
	font-weight:400;
	font-style:normal;
	letter-spacing: 0.12em;
}


/* RESET*/
p,h1,h2,h3,h4,h5,h6,li,span,small,em,dt,dd,th,td{
	line-height:1.6;
	letter-spacing:0.0125em;
	padding:0;
	margin:0;
}
a,a:hover{
    color:var(--base-color);
  text-decoration:none;
}
ul,ol,dl{
  padding:0;
  margin:0;
}


/* COMMON */
.wrap,
body.home .wrap,
#footer .wrap{
	width:100%;
	max-width:1240px;
	padding:0 20px;
	margin:0 auto;
}


.padding-top{
	padding-top:100px;
}
.padding-bottom{
	padding-bottom:100px;
}
.padding-tb{
	padding:100px 0;
}

.center{
	text-align:center;
}
.right{
	text-align:right;
}

.flex{
	display:flex;
	flex-wrap:wrap;
}
.jc-sb{
	justify-content:space-between;
}
.jc-center{
	justify-content:center;
}
.al-center{
	align-items:center;
}
.al-end{
	align-items:flex-end;
}
.fd-row-r{
	flex-direction:row-reverse;
}
.fd-col-r{
	flex-direction:column-reverse;
}

.ps-re{
	position:relative;
}
.ps-ab{
	position:absolute;
}
.ps-fix{
	position:fixed;
}
.ps-st{
	position:sticky;
}


.vert{
	-ms-writing-mode:tb-rl;
	writing-mode:vertical-rl;
}



/* COMMON PARTS */
.common-titlelink a{
	display:inline-flex;
	gap:30px;
	color:var(--base-color);
}
.common-titlelink a::after{
	content:'';
	position:relative;
	width:41px;
	height:41px;
	background-image:url('img/common/icon-arrow-white.svg');
	background-size:contain;
	background-position:center;
	background-repeat:no-repeat;
	transition:var(--transition);
	top:8px;
}
.common-titlelink a:hover{
	opacity:1;
}
.common-titlelink a:hover::after{
	transform:rotate(360deg);
}
.common-titlelink__lines--en{
	font-size:54px;
	line-height:1;
}
.common-titlelink__lines--jp{
	font-size: 18px;
    line-height: 2;
}
.common-titlelink.white a{
	color:#FFF;
}
.common-titlelink.white a::after{
	filter:brightness(0) invert(1);
}

.common-bigbtn a{
	display:inline-flex;
	align-items:center;
	justify-content: space-between;
	width:585px;
	height:187px;
	color:var(--base-color);
	background:var(--main);
	clip-path:var(--m-poly);
	padding: 0 60px;
}
.common-bigbtn__lines{
	text-align:left;
}
.common-bigbtn__lines--jp{
	font-size:16px;
}
.common-bigbtn__lines--en{
	font-size: 60px;
    line-height: 1.2;
}
.common-bigbtn a::after{
	content:'';
	position:relative;
	width:41px;
	height:41px;
	background-image:url('img/common/icon-arrow-white.svg');
	background-size:contain;
	background-position:center;
	background-repeat:no-repeat;
	transition:var(--transition);
	top:8px;
}
.common-bigbtn a:hover::after{
	transform:rotate(360deg);
}

.page-title{
	margin-bottom:60px;
}
.page-title--en{
	position:relative;
	font-size:36px;
	text-align:center;
	padding-bottom:10px;
}
.page-title--en::before{
	content:'';
	position:absolute;
	bottom:0;
	left:calc(50% - 35px);
	width:70px;
	height:3px;
	background:var(--base-color);
}
.page-title--jp{
	text-align:center;
	margin-top:12px;
}

.page-title.left .page-title--en,
.page-title.left .page-title--jp{
	text-align:left;
}
.page-title.left .page-title--en::before{
	left:0;
}

.page-title.red{
	color:var(--base-color);
}
.page-title.red .page-title--en::before{
	background:var(--base-color);
}


.page-title-japanese{
	margin-bottom:60px;
}
.page-title-japanese--jp{
	position:relative;
	font-size:31px;
	font-weight: 900;
	text-align:center;
	padding-bottom:10px;
    color:var(--base-color);
}
.page-title-japanese--jp::before{
	content:'';
	position:absolute;
	bottom:0;
	left:calc(50% - 35px);
	width:70px;
	height:3px;
	background:var(--base-color);
}
.page-title-japanese.white .page-title-japanese--jp{
	color:#FFF;
}
.page-title-japanese.white .page-title-japanese--jp::before{
	background:#FFF;
}



.modaal-overlay{
	z-index:9997 !important;
}


/* HEADER */
#header a{
	color:var(--base-color);
}
#header{
	color:#FFF;
	background:#FFF;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:9997;
    height:0;

    transition:var(--transition);
}
.header-logo{
	position:absolute;
	top:40px;
	left:40px;
    transition:var(--transition);
}
.header-logo img{
    transition:var(--transition);
}
.header-menu{
	position:absolute;
	top:0;
	right:0;
	display:flex;
	gap:30px;
	align-items:center;
	justify-content:flex-end;
}
.header-menu__ul{
	display:flex;
	align-items:center;
	gap:36px;
}
.header-menu__ul--li a,
.hm-toggle{
	color:var(--base-color);
	font-size:22px;
	font-weight: 500 !important;
}
.has-hmtoggle{
	position:relative;
}
.header-menu__secul{
	position:absolute;
	width:220px;
	height:0;
	top: calc(100% + 22px);
    left: -16px;
    overflow:hidden;
    transition:var(--transition);
    margin-top:8px;
    background:#FFF;
    padding:0 16px !important;
}
.has-hmtoggle.open .header-menu__secul{
	height:110px;
    padding:2px 16px !important;
}
.header-menu__secul li a{
	display:flex;
	align-items:flex-end;
	gap:6px;
	padding:8px 0 12px;
	font-size:18px;
    white-space:nowrap;
}
.hm-num{
	font-size:28px;
	line-height:1.2;
}
.header-menu__contact{
	display:flex;
	align-items:center;
	justify-content:center;
	width:123px;
	height:123px;
	background: var(--base-color);
    transition:var(--transition);
}
.header-menu__contact--text{
	display: inline-block;
	font-size: 22px;
	background: linear-gradient(90deg, #00a0df 0%, #232288 20%, #e3007e 40%, #e51f1f 60%, #feed00 80%, #00974b 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

@media only screen and (max-width:1440px){
    .header-menu__ul--li a{
        filter:drop-shadow(0 0 2px #FFF);
    }
}

@media only screen and (min-width:992px){
    #header.scrolled{
        height:80px;
        background:#FFF;
    }
    #header.scrolled .header-logo{
        top:12px;
    }
    #header.scrolled .header-logo img{
        max-height:60px;
    }
    #header.scrolled .header-menu__contact{
        height:80px;
    }
}


/* HEADER */
#aside-reserve{
	position:fixed;
	top:calc(50% - 95px);
	right:0;
	z-index:9997;
	width:82px;
	height:190px;
}
#aside-reserve a{
	display:flex;
	width:100%;
	height:100%;
	border-top-left-radius:18px;
	border-bottom-left-radius:18px;
	padding-left:12px;
	color:var(--brown);
	background:var(--yellow);
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:20px;
}
.aside-reserve--text{
	writing-mode:vertical-rl;
	-ms-writing-mode:tb-rl;
}
#aside-reserve a::after{
	content:'';
	position:relative;
	width:16px;
	height:16px;
	background-image:url('img/common/icon-arrow-brown.svg');
	background-size:contain;
	background-position:center;
	background-repeat:no-repeat;
	transition:var(--transition);
}
#aside-reserve a:hover::after{
	transform:rotate(360deg);
}


.main-aside__snsbanners{
    position:fixed;
    z-index:9;
}
.aside-snsbanner a{
    display:block;
}
@media only screen and (max-width:991px){
    .main-aside__snsbanners{
        width:100%;
        bottom:0;
        left:0;
    }
    .aside-snsbanners{
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:0;
    }
    .aside-snsbanner a{
        display:flex;
        align-items:center;
        justify-content:center;
        padding:10px;
        height:100%;
    }
    .aside-snsbanner.line a{
        background:#06c755;
    }
    .aside-snsbanner.line a img{
        height:44px;
    }
    .aside-snsbanner.instagram a{
        background:#ce1390;
    }
    .aside-snsbanner.instagram a img{
        height:39px;
    }
}
@media only screen and (max-width:480px){
    .aside-snsbanner.line a img{
        height:30px;
    }
    .aside-snsbanner.instagram a img{
        height:27px;
    }
}
@media only screen and (min-width:992px){
    .main-aside__snsbanners{
        right:0;
        top:174px;
    }
    .aside-snsbanner{
        width:60px;
    }
    .aside-snsbanner:not(:last-child){
        margin-bottom:12px;
    }
}
@media only screen and (min-width:1440px){
    .aside-snsbanner{
        width:82px;
    }
}


/* FOOTER */
#footer{
    color: var(--base-color);
	border:0;
}
#footer a,
#footer a:hover {
    color: var(--base-color);
}
.footer-sec01,
.footer-sec02,
.footer-sec03{
	padding:60px 0;
}
.footer-s1__links{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:0;
}
.footer-s1__link{
	padding:20px 0;
}
.footer-s1__link:nth-of-type(1){
	padding-right:60px;
	border-right:1px solid var(--base-color);
}
.footer-s1__link:nth-of-type(2){
	padding-left:60px;
}
.footer-s1__link--text{
	font-weight: 900 !important;
  font-size: 56px;
  line-height: 1.4;
  margin-bottom: 1.5em !important;
}

.footer-menus{
	display:flex;
	gap:30px;
	justify-content:space-between;
}
.footer-menu--en{
	font-size:24px;
}
.footer-menu--jp{
    font-size:14px;
}
.footer-menu__innerul{
	margin-top:20px !important;
}
.footer-menu__innerul--li a{
	display:flex;
	align-items:flex-end;
	gap:4px;
	padding:4px 0;
	border-bottom:1px solid var(--base-color);
}
.footer-menu__innerul--li--num{
	font-size:24px;
}
.footer-menu__innerul--subul{
	margin:10px 0 30px !important;
}
.footer-menu__innerul--subul--li a{
	border-bottom:0;
	font-size:12px;
	padding:2px 9;
}
.footer-menu__innerul--subul--li a::before{
	content:'> ';
}

.footer-s2__bottom{
	margin-top:-100px;
}
.footer-s2__bottom--banner{
	text-align:right;
}
.footer-s2__bottom--banner a{
	display:inline-flex;
	align-items:center;
	gap:40px;
	padding:24px;
	border-radius:14px;
	color:var(--brown) !important;
	background:var(--yellow);
}
.footer-s2__bottom--banner a::after{
	content:'';
	position:relative;
	width:16px;
	height:16px;
	background-image:url('img/common/icon-arrow-brown.svg');
	background-size:contain;
	background-position:center;
	background-repeat:no-repeat;
	transition:var(--transition);
	top:2px;
}
.footer-s2__bottom--banner a:hover{
	opacity:1;
}
.footer-s2__bottom--banner a:hover::after{
	transform:rotate(360deg);
}

.footer-s2__bottom--link{
	margin-top:30px;
	text-align:right;
}

.footer-s2__snsbanner{
    margin-bottom:16px;
    text-align:right;
}
.footer-s2__snsbanner img{
    width:100%;
    max-width:305px;
}

@media only screen and (max-width:991px){
    .footer-s2__snsbanners{
        display:none;
    }
}

.footer-sec03{
	padding:60px 0 20px;
}
.footer-logo{
	text-align:center;
	margin-bottom:20px;
}
.footer-logo__img{
	margin-bottom:20px;
}
.footer-logo__h1{
	font-size:20px;
	font-weight:bold !important;
}
.copyright{
	text-align:right;
	padding-right:20px;
}


/* TOP */
.top-mv{
    padding:0;
}
.top-mv__inner{
	overflow:hidden;
	height:calc(100vw / 1920 * 1070);
}
.top-mv__mainimg{
	z-index: 1;
    width: calc(100% / 1920 * 768);
    left: 50%;
    top: 50%;
    transform:translate(-44%,-50%);
}
.top-mvlineamin{
	z-index:2;
}
.top-mv__line01{
    width:24.3%;
    left: 24%;
    top: 3%;
}
.top-mv__line02{
	width: 3.3%;
    left: 18%;
    top: 26%;
}
.top-mv__line03{
	width: 18.4%;
    left: 72%;
    top: 25%;
}
.top-mv__line04{
	width: 24%;
	left: -0.6%;
    top: 74%;
}
.top-mv__line05{
	width: 12.8%;
    left: 68%;
    top: 68%;
}
.top-mv__line06{
	width: 6.8%;
    left: 85%;
    top: 35%;
}
.top-mv__topics{
	z-index:4;
	bottom: 80px;
    right: 0;
    background: #FFF;
}
.top-mv__topics a{
	position:relative;
	display: flex;
    color: var(--base-color);
    gap: 40px;
    align-items: center;
    padding: 20px 30px;
}
.top-mv__topics--head{
	font-size: 24px;
}
.top-mv__topics--contents{
	position:relative;
	display:flex;
	gap:14px;
	align-items:center;
	padding-right:50px;
}
.top-mv__topics--contents::before{
	content:'';
	position:absolute;
	width:22px;
	height:22px;
	background-image:url('img/common/icon-arrow-white.svg');
	background-size:contain;
	background-position:center;
	background-repeat:no-repeat;
	transition:var(--transition);
	right:0;
	top:calc(50% - 11px);
}
.top-mv__topics--contents--date,
.top-mv__topics--contents--title{
	font-size:14px;
}
.top-mv__topics--contents--cat span.cat{
	display:inline-block;
	font-size:11px;
	line-height:1.2;
	color:var(--main);
	background:var(--base-color);
	padding:4px 8px;
	border-radius:6px;
	white-space:nowrap;
}
.top-mv__topics--contents--title{
	width:100%;
	max-width: 400px;
	white-space:nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* MVANIM */
.top-mv__mainimg img{
	opacity:0;
	transform:translateY(100px) scale(1.1);
	filter:blur(50px);
	transition:var(--transition);
}
.top-mv.scrollin .top-mv__mainimg img{
	opacity:1;
	transform:translateY(0) scale(1);
	filter:blur(0);
}
.top-mvlineamin img{
	opacity:0;
	filter:blur(60px);
	transform:scale(1.2);
	transform-origin:center;
	transition:var(--transition--long);
}
.top-mv.scrollin .top-mvlineamin img{
	opacity:1;
	filter:blur(0);
	transform:scale(1);
}
.top-mv__line01 img{
	transition-delay:0.7s;
}
.top-mv__line02 img{
	transition-delay:1.4s;
}
.top-mv__line03 img{
	transition-delay:2.1s;
}
.top-mv__line04 img{
	transition-delay:1.4s;
}
.top-mv__line05 img{
	transition-delay:2.1s;
}
.top-mv__line06 img{
	transition-delay:2.4s;
}
/* MVANIM END */

.top-s1__maintitle{
    margin:0 auto;
    max-width:8.1em;
	font-size: 134px;
    font-weight: 900;
    line-height: 1.2;
}
@media only screen and (min-width:992px){
    .top-s1__maintitle{
        white-space:nowrap;
    }
}
.top-s1__maintitle small{
    font-size:46px;
    display:block;
}
.top-s1__belt{
	margin:80px 0;
}

.top-maintext{
	font-size:20px;
	line-height:2;
}

.top-boxel{
	padding:20px;
}
.top-boxel__bg{
	width:100%;
	height:calc((100vw - 40px) * 0.47872340425);
	overflow:hidden;
	clip-path:var(--g-poly);
	background:#FFF;
	z-index:1;
}
.top-boxel__bg img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	opacity:0;
	filter:blur(100px);
	transform:scale(1.1);
	transform-origin:center;
	transition:var(--transition);
}
.top-boxel.scrollin .top-boxel__bg img{
	opacity:1;
	filter:blur(0);
	transform:scale(1);
}
.top-boxel__message{
	position:absolute;
	z-index:2;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}
.top-boxel__message--text{
	font-size: 5.8vw;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
    -webkit-text-stroke: 0.05em var(--main);
    text-stroke: 0.05em var(--main);
    paint-order: stroke;
}

.top-belts__belt01{
	margin-bottom:-60px;
	position:relative;
	z-index:2;
}

.top-s3__head{
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
	gap: 30px;
	margin-bottom:60px;
}
.top-s3__head--title--text{
	font-size:80px;
	font-weight:900;
	line-height: 1.2;
}

.top-service__bg{
	width:100%;
	height:100%;
	top:0;
	left:0;
	overflow:hidden;
	z-index:1;
}
.top-service__bg img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	opacity:0;
	filter:blur(100px);
	transform:scale(1.1);
	transform-origin:center;
	transition:var(--transition);
}
.top-service.scrollin .top-service__bg img{
	opacity:1;
	filter:blur(0);
	transform:scale(1);
}
.top-service .wrap{
	position:relative;
	z-index:2;
}
.top-service__box{
	width:50%;
}
.top-service__box .common-titlelink a::after{
	content: none;
}
.top-service__title{
	font-size:72px;
	font-weight:900;
	line-height:1.2;
	margin-bottom:40px;
}
.top-service__menus{
	display:grid;
	grid-template-columns:1fr;
	gap:20px;
	width:100%;
	max-width:270px;
	margin-bottom:80px;
}
.top-service__menu>a{
	display:flex;
	align-items:flex-end;
	gap:6px;
	color:var(--base-color);
	padding:6px 0;
	border-bottom:1px solid var(--base-color);
	font-size:17px;
}
.top-service__menu--num{
	font-size:32px;
	line-height:1.3;
}
.top-service__menu--ul{
	padding-left:52px;
	margin-top:10px;
}
.top-service__menu--ul li{
	line-height:1.2;
}
.top-service__menu--ul a{
	color:var(--base-color);
	font-size:12px;
	line-height:1.2;
}
.top-service__menu--ul a::before{
	content:'> ';
}

.top-service__box__title {
    margin-bottom:40px;
}



/* COMMON PAGE */
.common-mv{
	padding:20px;
}
.common-mv__inner{
	clip-path:var(--g-poly);
	background:var(--bggray);
	padding:10vw 0;
}
.common-mv__title{
	width:90%;
    max-width:1300px;
	margin:0 auto;
}
.common-mv__title--en{
	color:var(--base-color);
    font-weight:500;
	font-size:120px;
}
.common-mv__title--jp{
	font-size:18px;
}
.common-mv__bg{
	width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.common-mv__bg img{
	width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity:0;
    filter:blur(60px);
    tranform-origin:center;
    transform:scale(1.2);
    transition:var(--transition);
}
.common-mv.scrollin .common-mv__bg img{
	opacity:1;
	filter:blur(0);
	transform:scale(1);
}

.short-mv .common-mv__inner{
	padding:100px 0;
}



/* COMPANY */
.company-mv{
	margin-bottom:100px;
}
.company-mv__hv{
	width: 90vw;
    bottom: -100px;
    left: calc(50% - 45vw);
}

.company-dls dl{
	display:flex;
	font-size:18px;
	align-items:center;
}
.company-dls dl dt{
	padding:18px 0;
	width:150px;
}
.company-dls dl dd{
	width:calc(100% - 150px);
	padding:18px 0;
	padding-left:100px;
	border-top: 2px solid rgba(0,0,0,0.3);
}
.company-dls dl:last-of-type dd{
	border-bottom: 2px solid rgba(0,0,0,0.3);
}
.company-dls dl dd a{
	color:#FFF;
	text-decoration:underline;
}

.access-map__wrap{
	padding: 20px;
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom:60px;
}
.access-map{
	overflow:hidden;
	clip-path:var(--g-poly);
}
.company-s3__address--text{
	text-align:center;
	font-size:23px;
}
.company-s3__address--text em{
	display:block;
	font-size:44px;
}
.company-s3__address--text a{
	color:var(--base-color);
	text-decoration:underline;
}

.history-ul{
	position:relative;
	padding-left:80px;
}
.history-ul::before{
	content:'';
	position:absolute;
	top:30px;
	left:29px;
	width:2px;
	height:100%;
	background:var(--brown);
}
.history-li{
	position:relative;
	display:flex;
	gap:24px;
}
.history-li:not(:last-of-type){
	margin-bottom:30px;
}
.history-li::after{
	content:'';
	position:absolute;
	top:26px;
	left:-44px;
	width:20px;
	height:2px;
	background:var(--brown);
}
.history-li::before{
	content:'';
	position:absolute;
	left:-56px;
	top:21px;
	width:12px;
	height:12px;
	border-radius:50%;
    border:1px solid var(--base-color);
	background:var(--main);
}
.history-date{
	font-size:20px;
	width:180px;
	letter-spacing: 0.5em;
}
.history-date em{
	font-size:30px;
}
.history-text{
	font-size:18px;
	line-height:2;
	padding-top:8px;
}
.history-tl--img{
	position:relative;
}
.history-tl--img img{
	position:absolute;
	max-width:90px;
	right:0;
}
.history-tl--img.n1 img,
.history-tl--img.n3 img{
	right:140px;
}




/* CONCEPT */


.concept-s1__mainwidewrap{
    padding:0 20px;
}
@media only screen and (min-width:992px){
    .concept-s1__mainwidewrap{
        padding:0 50px;
    }
}
@media only screen and (min-width:1440px){
    .concept-s1__mainwidewrap{
        padding:0 150px;
    }
}
@media only screen and (max-width:991px){
    .concept-sec01{
        overflow:hidden;
    }
    .concept-s1__maintext img{
        max-width:unset;
        width:106%;
    }
}

.concept-s1__textflex{
    display:grid;
    grid-template-columns: repeat(2,1fr);
    gap:50px;
    margin-top:150px;
}
.concept-s1__textflex__text:nth-of-type(2){
    padding-top:84px;
}
.concept-s1__textflex__text:nth-of-type(1) img{
    max-width:430px;
}
.concept-s1__textflex__text:nth-of-type(2){
    text-align:right;
}
.concept-s1__textflex__text:nth-of-type(2) img{
    max-width:520px;
}

.concept-sec01{
    padding-bottom:350px;
}
.concept-s1__belt{
	width:100%;
	bottom:90px;
	left:0;
}
.concept-s1__belt img{
    margin-right:3vw;
}

.concept-s2__flex:not(:last-of-type){
	margin-bottom:80px;
}
.concept-s2__flex--cont{
	width:calc(100% - 440px);
	padding-right:60px;
}
.concept-s2__flex--img{
	width:440px;
	text-align:right;
}
.concept-s2__flex--cont--title{
	font-size:50px;
	font-weight:900;
	line-height:1.2;
	margin-bottom:50px;
}
.concept-s2__flex--cont--text{
	font-size:20px;
}
.concept-s2__belt{
	right:30px;
	top:0;
	height:100%;
	width: 98px;
}

.concept-s3__mainbox{
	padding:20px;
}
.concept-s3__mainbox--inner{
	clip-path:var(--g-poly);
	background:var(--bggray);
	overflow:hidden;
	height:calc((100vw - 40px) * 0.47872340425);
}
.concept-s3__mainbox--bg{
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index:1;
}
.concept-s3__mainbox--bg img{
	width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity:0;
  filter:blur(60px);
  tranform-origin:center;
  transform:scale(1.2);
  transition:var(--transition);
}
.concept-s3__mainbox.scrollin .concept-s3__mainbox--bg img{
	opacity:1;
	filter:blur(0);
	transform:scale(1);
}
.concept-s3__mainbox--title,
.concept-s3__mainbox--name{
	position:absolute;
	z-index:2;
	font-weight:900;
    -webkit-text-stroke: 0.05em var(--main);
    text-stroke: 0.05em var(--main);
    paint-order: stroke;
}
.concept-s3__mainbox--title{
	font-size: 5.8vw;
  top: calc(50% - 3.9vw);
  left: 0;
  text-align: center;
  width: 100%;
}
.concept-s3__mainbox--name{
	font-size: 4vw;
  line-height: 1.2;
  left: calc(50% - 5vw);
  bottom: 3vw;
  width: 10vw;
}
.concept-s3__maintext{
	margin:0 auto;
	margin-top:50px;
	width:100%;
	max-width:800px;
	line-height:2;
	font-size:20px;
	margin-bottom:60px;
}
.concept-s3__belt{
	width:100%;
	left:0;
	bottom:0;
}

.concept-s3__maintitle{
	font-size:3.4vw;
	font-weight:bold;
	text-align:center;
	margin:1.5em 0 1em;
}
.concept-s3__moviethumb{
	text-align:center;
	margin-bottom:60px;
}
.concept-s3__moviethumb a{
	overflow:hidden;
	display:inline-block;
	text-align:center;
}
.concept-s3__moviethumb a img{
	transform:scale(1);
	transform-origin:center;
	transition:var(--transition);
	width:100%;
	max-width:1200px;
}
.concept-s3__moviethumb a:hover img{
	transform:scale(1.1);
}

.concept-s4__moviethumb{
	text-align:center;
}
.concept-s4__moviethumb a img{
	transform:scale(1);
	transform-origin:center;
	transition:var(--transition);
}
.concept-s4__moviethumb a:hover img{
	transform:scale(1.1);
}





/* SERVICE 01 -- DOOR */

.service-mv{
    position:relative;
}
.service01door-mv__bg__hv{
    position:absolute;
    width:30%;
    right:5%;
    bottom:-5%;
}
@media only screen and (min-width:992px){
    .service01door-mv__bg__hv{
        width:calc(396/1920*100%);
        right:14%;
        bottom:-5%;
    }
}

.s01door-sec01__title{
	display:flex;
	align-items:flex-end;
	margin-bottom:30px;
	gap:6px;
}
.s01door-sec01__title--num{
	font-size:60px;
	font-weight:500;
	line-height:1;
}
.s01door-sec01__title--text{
	font-size:23px;
	font-weight:bold;
}
.s01door-sec01__subtitle{
	font-size:28px;
	font-weight:bold;
	line-height:1.5;
}
@media only screen and (min-width:768px){
    .s01door-sec01__subtitle{
        font-size:42px;
    }
}
.s01door-menus{
	position:relative;
	margin-top:60px;
}
.s01door-menus__logo{
	text-align:center;
}
.s01door-menus__menu{
	position:absolute;
}
.s01door-menus__menu a{
	color:#FFF;
}
.s01door-menus__menu--box--num{
	-webkit-text-stroke:1px #FFF;
	line-height:1;
	font-weight:bold;
	color:transparent;
}
.s01door-menus__menu--box--title{
	font-weight:bold;
	text-align:center;
}
.bigmenu .s01door-menus__menu--box--num{
	font-size:58px;
}
.bigmenu .s01door-menus__menu--box--title{
	font-size:19px;
}
.bigmenu .s01door-menus__menu--box--title small{
	display:block;
}
.smallmenu .s01door-menus__menu--box--num{
	font-size:32px;
}
.smallmenu .s01door-menus__menu--box--title{
	font-size:16px;
}
.s01door-menus__menu.n1{
	top:60px;
	left:0;
}
.s01door-menus__menu.n2{
	top:-200px;
	left:54%;
}
.s01door-menus__menu.n3{
	top:120px;
	right:0;
}
.s01door-menus__menu.n4{
	top:420px;
	left:19%;
}
.s01door-menus__menu--box{
	border:5px solid #FFF;
	border-radius:50%;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:10px;
}
.bigmenu .s01door-menus__menu--box{
	gap:16px;
}
.n1 .s01door-menus__menu--box{
	width:257px;
	height:257px;
}
.n2 .s01door-menus__menu--box{
	width:176px;
	height:176px;
}
.n3 .s01door-menus__menu--box{
	width:276px;
	height:276px;
}
.n4 .s01door-menus__menu--box{
	width:203px;
	height:203px;
}
.s01door-menus__menu--hv{
	position:absolute;
	pointer-events:none;
}
.s01door-menus__menu--hv.hv01{
	bottom:0;
	right:-50px;
}
.s01door-menus__menu--hv.hv02{
	top:20%;
	left:-50px;
}
.s01door-menus__menu--hv.hv03{
	top:-30%;
	left:-10px;
}
.s01door-menus__menu--hv.hv04{
	bottom:-30px;
	left:50%;
}


.s01door-menus{
    display:grid;
    grid-template-columns:1fr;
    gap:80px;
}
@media only screen and (min-width:768px){
    .s01door-menus{
        grid-template-columns:repeat(3,1fr);
        gap:40px;
    }
}
@media only screen and (min-width:992px){
    .s01door-menus{
        gap:120px;
    }
}
.s01door-menu{
    position:relative;
}
.s01door-menu__hv{
    pointer-events:none;
    position:absolute;
}
.s01door-menu__hv.menu01{
    width:55%;
    bottom:-4%;
    right:-27%;
}
.s01door-menu__hv.menu02{
    width: 34%;
    top: 12%;
    left: -13%;
}
.s01door-menu__hv.menu03{
    width: 52%;
    top: -36%;
    left: -19%;
}





/* SERVICE 01 */
.service-title{
	display:flex;
	gap:24px;
	align-items:center;
	margin-bottom:60px;
}
.service-title--num{
	font-size: 80px;
    color: transparent;
    -webkit-text-stroke: 2px #FFF;
    text-stroke: 2px #FFF;
}
.service-title--en{
	font-size: 50px;
    line-height: 1.3;
}
.service-title--jp{
	font-size: 18px;
    font-weight: 900;
}

.service-head__flex{
	gap:50px;
	align-items:center;
}
.service-head__flex--cont{
	width:calc(100% - 584px);
}
.service-head__flex--cont--title{
	font-size:32px;
	font-weight:900;
	margin-bottom:30px;
}
.service-head__flex--cont--text{
	font-size:18px;
	line-height:2;
}
.service-head__flex--img{
	width:534px;
    text-align:right;
}


.s01-s2__flex--cont{
	width:770px;
}
.s01-s2__flex--img{
	width:calc(100% - 830px);
}
.s01-s2__flex--img img{
	max-width:unset;
	width:calc(100% + (100vw - 1200px) / 2 * 2);
}
.s01-s2__flex--cont--title{
	color:var(--base-color);
	font-size:64px;
	font-weight:900;
	line-height:1.2;
	margin-bottom:40px;
}
.s01-s2__flex--cont--subtitle{
	width:225px;
	border-bottom:2px solid var(--base-color);
	font-size:21px;
	font-weight:bold;
	padding-bottom:8px;
	margin-bottom:30px;
}
.s01-s2__flex--cont--text{
	font-size:18px;
	line-height:2;
}
.s01-s2__flex--cont--text b{
	font-weight:900;
}

.s01-s3__box{
	padding:20px;
}
.s01-s3__box--inner{
	clip-path:var(--g-poly);
	overflow:hidden;
	background-image:url('img/service01/bg-box.png');
	padding:60px 0;
}
.s01-s3__box--head{
	display:flex;
	align-items:center;
	gap:30px;
	padding-bottom:60px;
}
.s01-s3__box--head.calendar{
	padding:30px 0 90px;
}
.s01-s3__box--head--title{
	display:flex;
	gap:8px;
	align-items:center;
}
.s01-s3__box--head--title--icon{
	width:80px;
}
.s01-s3__box--head--title--text{
	display:flex;
	align-items: center;
	height:60px;
	border-bottom:2px solid var(--main);
	font-size:21px;
	white-space:nowrap;
	padding: 0 40px 0 20px;
}
.s01-s3__box--head--text{
	width:100%;
	max-width:700px;
	color:var(--main);
	font-size:21px;
}

.s1-calendar__ul{
	margin: 40px 0 60px;
}
.s1-calendar__li{
	display:flex;
	gap:30px;
	font-size:21px;
	width:100%;
	max-width:600px;
}
.s1-calendar__li:not(:last-of-type){
	margin-bottom:52px;
}
.s1-calendar__li--date{
	display: block;
  width: 4em;
	font-weight:900;
}
.s1-calendar__li--text{
	color:var(--main);
}
.s1-calendar__li.has-calimage{
	position:relative;
}
.s1-calendar__image{
	position:absolute;
	right: -600px;
  top: -70px;
  width:100%;
  max-width:400px;
}
.s1-calendar__image::before{
	content:'';
	position:absolute;
	width:180px;
	height:2px;
	background:#717071;
	left:-190px;
	top:90px;
}
.s1-calendar__image img{
	width:100%;
	clip-path:var(--m-poly);
	aspect-ratio:400/245;
	object-fit:cover;
}

.s01-tl__ul{
	margin-bottom:120px;
	position:relative;
}
.s01-tl__ul::before{
	content:'';
	position:absolute;
	width:1px;
	height:100%;
	background:#717071;
	left:50%;
	top:0;
}
.s01-tl__li:not(:last-of-type){
	margin-bottom:30px;
}
.s01-tl__li{
	position:relative;
	width:calc(50% - 60px);
}
.s01-tl__li.right{
	margin-left:calc(50% + 60px);
}
.s01-tl__li::before{
	content:'';
	position:absolute;
	top:0;
	width:8px;
	height:8px;
	border-radius:50%;
	background:var(--main);
}
.s01-tl__li.left::before{
	right:-64px;
}
.s01-tl__li.right::before{
	left:-64px;
}
.s01-tl__li.has-tlimage:not(.adjust01)::before{
	top:330px;
}
.s01-tl__li.has-tlimage.adjust01::before{
	top:60px;
}
.s01-tl__li.has-tlimage.adjust02::before{
	top:190px;
}
.s01-tl__li--image{
	margin-bottom:30px;
}
.s01-tl__li--image img{
	aspect-ratio:532/300;
	object-fit:cover;
	object-position:center;
	height:300px;
	clip-path:var(--m-poly);
}
.s01-tl__li.adjust01 .s01-tl__li--image img{
	margin-top:-300px;
}
.s01-tl__li.adjust02 .s01-tl__li--image img{
	margin-top:-150px;
}
.s01-tl__li--head{
	display:flex;
	align-items: flex-start;
	gap:20px;
	margin-bottom:30px;
}
.s01-tl__li--head--time{
	font-size:21px;
	line-height:1;
	width:75px;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	gap:8px;
	text-align:left;
}
.s01-tl__li--head--time span{
	display:block;
	font-family:var(--shs);
	writing-mode:tb-rl;
	-ms-writing-mode:vertical-rl;
}
.s01-tl__li--head--text{
	color:var(--main);
	font-size:21px;
	font-weight:bold;
	line-height: 1;
}
.s01-tl__li--head--text em{
	display: block;
    font-size: 32px;
    font-style: normal;
    text-align: left;
    line-height: 21px;
    margin-bottom: 14px;
}
.s01-tl__li--text{
	color:var(--base-color);
	padding-left:95px;
	margin-top:-68px;
	text-align: left;
}

.s01-s4--title{
	font-size:64px;
	font-weight:900;
	line-height:1.2;
	margin-bottom:40px;
	color:var(--base-color);
}
.s01-s4--subtitle{
	font-size:40px;
	font-weight:900;
	color:var(--base-color);
	margin-bottom:40px;
}
.s01-s4--maintext{
	color:var(--base-color);
	font-size:17px;
	max-width:675px;
}
.s01-careers{
	display:grid;
	grid-template-columns:repeat(5, 1fr);
	gap:24px;
	margin-top: -300px;
	width: calc(100% - 160px);
	position:relative;
}
.s01-career--arrow {
  position: absolute;
  top: 510px;
  left: 20px;
  background: var(--red);
  padding: 12px;
  padding-right: 30px;
  width: calc(100% + 160px);
  text-align: right;
  transform: rotate(-8deg);
  transform-origin: left bottom;
  font-size: 22px;
}
.s01-career--arrow::before{
	content:'';
	position:absolute;
	background:var(--red);
	width:80px;
	height:160px;
	right:-60px;
	top:calc(50% - 80px);
	clip-path:polygon(0 0, 100% 50%, 0 100%);
	z-index: -1;
}
.s01-career--arrow--text{
    color:#FFF;
}
.s01-career__step{
	height:600px;
	display:flex;
	align-items:flex-end;
	margin-bottom:24px;
}
.s01-career__stepbox{
	width: 100%;
	color:var(--base-color);
	background:var(--main);
	display:flex;
	align-items:flex-end;
	justify-content:center;
	padding-bottom:30px;
}
.s01-career__stepbox.n1{
	height:92px;
}
.s01-career__stepbox.n2{
	height:123px;
}
.s01-career__stepbox.n3{
	height:157px;
}
.s01-career__stepbox.n4{
	height:191px;
}
.s01-career__stepbox.n5{
	height:236px;
}
.s01-career__stepbox--text{
	font-size:33px;
	font-weight:bold;
}
.s01-career__stepbox--image.n1{
	width: 59%;
    top: -86px;
    left: 20%;
}
.s01-career__stepbox--image.n2{
	width: 63%;
    top: -110px;
    left: 20%;
}
.s01-career__stepbox--image.n3{
	width: 54%;
    top: -97px;
    left: 41%;
}
.s01-career__stepbox--image.n4{
	width: 79%;
    top: -200px;
    left: 14%;
}
.s01-career__stepbox--image.n5{
	width: 84%;
    top: -310px;
    left: 24%;
}
.s01-career__cont{
	color:var(--base-color);
}
.s01-career__cont--title {
  font-size: 18px;
  margin-bottom: 4px;
  color:var(--main);
  background: var(--base-color);
  text-align: center;
  padding: 4px;
  border-radius:2px;
}
.s01-career__cont--title em{
	display: block;
  font-size: 22px;
  line-height: 1.3;
}
.s01-career__cont:not(:last-of-type){
	margin-bottom:24px;
}
.s01-career__cont--text{
	text-align:center;
}

.s01-career__pdfbtn{
    margin-top:60px;
}
.s01-career__pdfbtn a{
    display:flex;
    width:100%;
    max-width:485px;
    text-decoration:none;
    color:var(--red);
    justify-content:space-between;
    align-items:center;
    gap:2em;
    height:77px;
    padding:0 20px;
    font-size:20px;
    font-weight:bold;
    background:var(--main);
    clip-path: var(--m-poly);
    margin:0 auto;
}
.s01-career__pdfbtn__icon{
    font-size:12px;
    border:2px solid var(--red);
    padding:0 4px;
}
.s01-career__pdfbtn a:not(:last-child){
    margin-bottom:24px;
}




/* SUPPORT B */
.supb-mainimg{
        margin-top:-50px;
    }
.supb-head__hv{
    display:none;
}
@media only screen and (min-width:992px){
    .supb-mainimg{
        margin-top:-150px;
    }
}
@media only screen and (min-width:768px){
    .supb-mainimg{
        margin-top:-80px;
    }
    .supb-head__hv{
        display:block;
        position:absolute;
        right:0;
        top:30%;
        transform:translateX(35%);
        width:20%;
    }
}
.supb-s01__hv{
    position:absolute;
    right:0;
    bottom:0;
    width:calc(891/1920*100%);
    transform:translate(25%,50%);
}

.subp-s02__title{
    font-size:70px;
    font-weight:bold;
    margin-bottom:1em;
}
.subp-s02__text{
    font-size:21px;
    line-height:2;
}
.supb-s02__wideimg{
    padding:20px;
    margin-top:100px;
}




/* WAKUWAKUBEANS - SUPOPRT TRAINING */
.supt-headhv{
    position:absolute;
    top:-20px;
    right:22%;
    width:20%;
    transform:translateY(-40%);
}
.sust-head__mainimg{
    padding-top:130px;
}
.sust-head__mainimg img{
    max-width:unset;
    width:651px;
}

.wakuwaku-title{
	display:flex;
	align-items:center;
	margin-bottom:80px;
}
.wakuwaku-title--num{
	font-size:110px;
	font-weight:900;
	color:transparent;
	-webkit-text-stroke:2px var(--base-color);
	line-height:0.8;
	padding-right:24px;
	margin-right:24px;
	border-right:3px solid var(--base-color);
}
.wakuwaku-title--text{
	font-size:36px;
	font-weight:bold;
}
.wakuwaku-title--text small{
	font-size:29px;
}
@media only screen and (max-width:991px){
    .wakuwaku-title--num{
        font-size:80px;
    }
}
@media only screen and (max-width:767px){
    .s01door-sec01__title--num{
        font-size:50px;
    }
    .wakuwaku-title{
        flex-wrap:wrap;
        gap:15px;
    }
    .wakuwaku-title--num{
        font-size:40px;
        border:0;
    }
    .wakuwaku-title--text,
    .wakuwaku-title--text small{
        font-size:24px;
    }
}

.wakuwaku-s2__topimg{
	margin-top:-5px;
	margin-bottom:80px;
}
.wakuwaku-s2__topimg img{
	position:relative;
	top:-5px;
}

.wakuwaku-s2__case{
	margin-top:80px;
}
.wakuwaku-s2__case--title{
	display:flex;
	align-items:flex-end;
	margin-bottom:24px;
}
.wakuwaku-s2__case--title--num{
	font-size:43px;
	font-weight:900;
	letter-spacing:0.1em;
	color:transparent;
	-webkit-text-stroke:2px var(--base-color);
	line-height:66px;
	padding:0 24px;
	border-left:2px solid var(--base-color);
	border-right:2px solid var(--base-color);
	margin-right:24px;
}
.wakuwaku-s2__case--title--text{
	font-size:21px;
	font-weight:bold;
	color:var(--base-color);
}
.wakuwaku-case__flow{
	display:flex;
	align-items:center;
	gap:0;
}
.wakuwaku-case__flow--place{
	width:133px;
	height:133px;
	border-radius:50%;
    background:var(--main);
	border:3px dashed var(--base-color);
	display:flex;
	align-items:center;
	justify-content:center;
	position:relative;
}
.wakuwaku-case__flow--place--text{
	font-size:21px;
	font-weight:bold;
	color:var(--base-color);
}
.wakuwaku-case__flow--place--pop{
	position:absolute;
	color:var(--main);
	background:var(--base-color);
	font-size:17px;
	font-weight:bold;
	line-height:1;
	padding:6px 12px;
	bottom:10px;
	left:50%;
	transform:translateX(-50%) rotate(10deg);
	white-space: nowrap;
}
.wakuwaku-case__flow--arrow{
	width:calc((100% - 399px) / 2);
	height:3px;
	background:var(--base-color);
	position:relative;
}
.wakuwaku-case__flow--arrow::after{
	content:'';
	position:absolute;
	width:23px;
	height:28.5px;
	background:url('img/wakuwakubeans/icon-arrow-end.svg') no-repeat center / contain;
	top:-13px;
	right:0;
}
.wakuwaku-case__flow--arrow--wwm{
	position:absolute;
	top:-24.5px;
	left:calc(50% - 35px);
}
.wakuwaku-case__flow--arrow--wwm--text{
	position:absolute;
	top:40px;
	left:50%;
	transform:translateX(-50%);
	color:var(--main);
	background:var(--base-color);
	font-size:17px;
	font-weight:bold;
	line-height:1;
	padding:6px 16px;
    white-space: nowrap;
}
.wakuwaku-s2__bottomtitle{
	color:var(--base-color);
	font-size:44px;
	font-weight:bold;
	margin-top:60px;
}

.wakuwaku-s3__mainbox{
	padding:20px;
}
.wakuwaku-s3__mainbox--bg {
    width: 100%;
    height: calc((100vw - 40px)* 0.3125);
    overflow: hidden;
    clip-path: var(--g-poly);
    background: #FFF;
    z-index: 1;
}
.wakuwaku-s3__mainbox--bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    filter: blur(100px);
    transform: scale(1.1);
    transform-origin: center;
    transition: var(--transition);
}
.wakuwaku-s3__mainbox.scrollin .wakuwaku-s3__mainbox--bg img {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
}
.wakuwaku-s3__mainbox--title {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.wakuwaku-s3__mainbox--title--text {
    color: var(--base-color);
    font-size: 5.8vw;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
    -webkit-text-stroke: 0.05em var(--main);
    text-stroke: 0.05em var(--main);
    paint-order: stroke;
}
.wakuwaku-s3__carriculum{
	margin-top:80px;
}
.wakuwaku-s3__maintext{
	font-size:21px;
	color:var(--base-color);
	margin-bottom:80px;
}

.supt-curriculum__box{
    margin:40px auto 0;
    color:var(--base-color);
    background:var(--main);
    clip-path:var(--m-poly);
    padding:40px;
    text-align:center;
    width:100%;
    max-width:780px;
}
.supt-curriculum__box__text{
    font-size:29px;
    font-weight:900;
}
.supt-curriculum__box__text em{
    font-size:47px;
}

.wakuwaku-carriculums{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:60px;
}
.wakuwaku-carriculum a{
	display:block;
	color:#FFF;
	background:var(--main);
	padding:60px;
	text-align:center;
	clip-path:polygon(19px 0, calc(100% - 19px) 0, 100% 14px, 100% calc(100% - 14px), calc(100% - 19px) 100%, 19px 100%, 0 calc(100% - 14px), 0 14px);
}
.wakuwaku-carriculum--num{
	font-size:43px;
	font-weight:900;
	color:transparent;
	-webkit-text-stroke:2px #FFF;
	line-height:1;
}
.wakuwaku-carriculum--title{
	font-size:33px;
	font-weight:bold;
	margin:18px 0 32px;
}

.wakuwaku-s4__listsec{
	margin-top:60px;
}
.wakuwaku-s4__box{
	padding:70px 36px;
	display:flex;
	justfy-content:space-between;
	gap:60px;
	width:100%;
	max-width:1200px;
	margin:0 auto;
	background:#FFF;
	clip-path:polygon(19px 0, calc(100% - 19px) 0, 100% 14px, 100% calc(100% - 14px), calc(100% - 19px) 100%, 19px 100%, 0 calc(100% - 14px), 0 14px);
}
.wakuwaku-s4__list:not(:last-of-type){
	margin-bottom:20px;
}
.wakuwaku-s4__list{
	display:flex;
	align-items:center;
}
.wakuwaku-s4__list dt{
	width:90px;
	font-size:18px;
	font-weight:bold;
}
.wakuwaku-s4__list dd{
	width:calc(100% - 90px);
	padding-left:24px;
	border-left:1px solid var(--base-color);
}
.wakuwaku-s4__list--main{
	font-size:18px;
	font-weight:bold;
}
.wakuwaku-s4__list--sub{
	font-size:15px;
}



/* SERVICE02 */
.s01-s2__board{
	width:100%;
	max-width:777px;
	aspect-ratio:777/1017;
	margin:0 auto;
	padding:5%;
	background-image:url('img/service02/bg-board.webp');
	background-size:cover;
	background-position:center;
}
.s01-s2__board--img img{
	width:100%;
	aspect-ratio:651/913;
	object-fit:cover;
	object-position:center;
	margin:0 auto;
	transform:scale(1);
	transform-origin:center;
	transition:var(--transition);
}
.s01-s2__board--img a{
	display:block;
	overflow:hidden;
}
.s01-s2__board--img a:hover img{
	transform:scale(1.1);
}
.s01-s2__boardwrap--hv{
	top: 32%;
  right: calc((100vw - 1200px) / 2 * -1 + 90px);
  width: 310px;
}

.s02-bento{
	display:flex;
	align-items:center;
	gap:50px;
}
.s02-bento:not(:last-of-type){
	margin-bottom:50px;
}
.s02-bento--img{
	width:500px;
}
.s02-bento--img img{
	clip-path:var(--m-poly);
	aspect-ratio:512/248;
	width:100%;
	object-fit: cover;
  object-position: center;
}
.s02-bento--cont{
	color:var(--base-color);
	width:calc(100% - 550px);
}
.s02-bento--title{
	display:flex;
	flex-wrap:wrap;
	gap:1em 2em;
	font-size:21px;
	margin-bottom:24px;
}

.s02-bentolink{
	text-align:center;
}
.s02-bentolink a{
	display:inline-flex;
	align-items:center;
	justify-content: space-between;
	width:585px;
	height:187px;
	color:var(--brown);
	background:var(--yellow);
	clip-path:var(--m-poly);
	padding: 0 60px;
}
.s02-bentolink--text{
	text-align:left;
	font-size:35px;
	line-height:1.2;
}
.s02-bentolink a::after{
	content:'';
	position:relative;
	width:41px;
	height:41px;
	background-image:url('img/common/icon-arrow-brown.svg');
	background-size:contain;
	background-position:center;
	background-repeat:no-repeat;
	transition:var(--transition);
	top:8px;
}
.s02-bentolink a:hover::after{
	transform:rotate(360deg);
}

.s02-head__text{
    font-size:20px;
    line-height:1.8;
}

.s02-services{
    padding:200px 30px 76px;
    background:#f7f4f1;
}
.s02-services__box{
    background:#FFF;
    clip-path:var(--g-poly);
    padding:70px 0 140px;
}
.s02-services__box:not(:last-child){
    margin-bottom:42px;
}

.s02-services__box__titles{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:20px 50px;
    margin-bottom:70px;
}
.s02-service__title{
    display:flex;
    align-items:center;
    gap:26px;
}
.s02-service__title__num{
    font-size:42px;
    font-weight:400;
    color:var(--main);
    white-space: nowrap;
    -webkit-text-stroke: 6px var(--base-color);
    text-stroke: 6px var(--base-color);
    paint-order: stroke;
}
.s01-service__title__text{
    font-size:34px;
    font-weight:bold;
}
.s02-service__box__text{
    font-size:20px;
    max-width:700px;
}

.s02-services__box__sectiontitle{
    text-align:center;
    margin-bottom:60px;
    position:relative;
    font-size:31px;
    font-weight:bold;
}
.s02-services__box__sectiontitle::after{
    content:'';
    width:54px;
    height:3px;
    background:var(--base-color);
    position:absolute;
    bottom:-14px;
    left:calc(50% - 27px);
}
.s02-services__banners{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:5%;
    margin-bottom:70px;
}

.s02-flows{
    margin-bottom:90px;
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:68px;
}
.s02-flow{
	position:relative;
}
.s02-flow:not(:last-of-type)::before{
	content:'';
	position:absolute;
	width:26px;
	height:30px;
	background:var(--base-color);
    clip-path:polygon(0 0, 100% 50%, 0 100%);
	right:-47px;
	top:90px;
}
.s02-flow__box{
    clip-path:var(--m-poly);
    background:var(--base-color);
    padding:1px;
}
.s02-flow__box__container{
    clip-path:var(--m-poly);
    background:#FFF;
    padding:20px;
}
.s02-flow__num{
    display:block;
	font-size: 36px;
    text-align: center;
    color:var(--main);
    -webkit-text-stroke: 3px var(--base-color);
    text-stroke: 3px var(--base-color);
    paint-order: stroke;
}
.s02-flow__title{
	text-align: center;
    font-size: 21px;
    margin-top:10px;
}
.s02-flow__text{
    margin-top:20px;
    font-size:17px;
}

.s02-services__box__bentolink{
    text-align:center;
}

.s02-service__wwses{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-bottom:100px;
}
.s02-service__wws__text{
    font-size:17px;
    margin-top:12px;
}

.s02-service__wws__addressbox{
    margin:0 auto;
    max-width:585px;

    clip-path:var(--m-poly);
    background:var(--base-color);
    padding:1px;
}
.s02-service__wws__addressbox__container{
    clip-path:var(--m-poly);
    background:#FFF;
    padding:50px 20px;
}
.s02-service__wws__addressbox__text{
    text-align:center;
    font-size:21px;
    line-height:2;
}

.s02-service__chanpon{
    margin-bottom:100px;
}
.s02-service__cafe__data{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:70px;
}
.s02-service__cafe__datum{
    position:relative;
    clip-path:var(--g-poly);
    background:var(--base-color);
    padding:1px;
    height:100%;
}
.s02-service__cafe__datum__container{
    clip-path:var(--g-poly);
    background:#FFF;
    padding:50px;
    height:100%;
}
.s02-service__cafe__datum__title{
    position:relative;
    text-align:center;
    font-size:30px;
    font-weight:bold;
    padding-bottom:8px;
    margin-bottom:30px;
}
.s02-service__cafe__datum__title::after{
    content:'';
    position:absolute;
    bottom:0;
    left:calc(50% - 27px);
    width:54px;
    height:3px;
    background:var(--base-color);
}
.s02-service__cafe__data__address{
    font-size:18px;
}
.s02-service__cafe__data__address b{
    font-size:24px;
}
.s02-service__cafe__datum .s04-access--link{
    margin-top:20px;
    padding-left:0;
}
.s02-service__cafe__datum__hv{
    position:absolute;
    width:90px;
    height:90px;
    border-radius:50%;
    border:1px solid var(--base-color);
    background:var(--main);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    font-size:15px;
    line-height:1.4;
    top:30px;
    right:30px;
}
.s02-service__cafe__dls dl{
    display:flex;
    margin-bottom:16px;
}
.s02-service__cafe__dls dl dt{
    width:122px;
    border-right:1px solid var(--base-color);
    font-size:24px;
    font-weight:bold;
}
.s02-service__cafe__dls dl dd{
    width:calc(100% - 122px);
    padding-left:20px;
    font-size:18px;
}
.s02-service__cafe__dls dl dd small{
    font-size:14px;
}


.s02-service__wws__subtitle{
    margin-bottom:30px;
    font-size:28px;
    font-weight:bold;
}
.s02-service__wwsmenus{
    display:grid;
    gap:20px;
    margin-bottom:70px;
}
@media only screen and (min-width:768px){
    .s02-service__wwsmenus{
        grid-template-columns:repeat(2,1fr);
    }
}
@media only screen and (min-width:992px){
    .s02-service__wwsmenus{
        grid-template-columns:repeat(4,1fr);
    }
}
.s02-service__wwsmenu{
    background:var(--bgwhite);
    padding:28px 20px;
    clip-path:var(--m-poly);
}
.s02-service__wwsmenu__title{
    font-size:20px;
    font-weight:bold;
    margin-bottom:0.8em;
    text-align:center;
}
.s02-service__wwsmenu__text{
    font-size:16px;
}



/* SERVICE 03 */
.s03-gyozas{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:100px 60px;
}
.s03-gyoza--img{
	margin-bottom:40px;
}
.s03-gyoza--img img{
	aspect-ratio:353/260;
	width:100%;
	object-fit:cover;
	object-position:center;
}
.s03-gyoza--conts{
	color:var(--main);
}
.s03-gyoza--title{
	font-size:21px;
	font-weight:900;
	margin-bottom:16px;
}
.s03-gyoza--text{
	font-size:17px;
}

.s03-kod{
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.s03-kod.n2{
	flex-direction:row-reverse;
}
.s03-kod:not(:last-of-type){
	margin-bottom:120px;
}
.s03-kod--img{
	width:53%;
	overflow:hidden;
	clip-path:var(--m-poly);
}
.s03-kod--cont{
	width:40%;
	color:var(--main);
}
.s03-kod--img img{
	width:100%;
	aspect-ratio:12/7;
	object-fit:cover;
	object-position:center;
	clip-path:var(--m-poly);
}
.s03-kod--num{
	font-size:80px;
	margin-bottom:14px;
}
.s03-kod--title{
	font-size:21px;
	font-weight:900;
	margin-bottom:20px;
}
.s03-kod--text{
	font-size:17px;
}

.s03-s5__box{
	width:100%;
	max-width:650px;
	margin:0 auto;
}


/* FOODSERVICE */
.foodservice-togglers{
	display:flex;
	gap:40px;
	justify-content:center;
	border-bottom:3px solid #FFF;
}
.foodservice-toggler{
	font-size:22px;
	font-weight:bold;
	padding:24px 60px 12px;
	border-top:3px solid #FFF;
	border-left:3px solid #FFF;
	border-right:3px solid #FFF;
	border-top-left-radius:14px;
	border-top-right-radius:14px;
	z-index:2;
	position:relative;
	cursor:pointer;
	background:var(--main);
}
.foodservice-toggler.current{
	pointer-events:none;
	padding-bottom:16px;
	margin-bottom:-4px;
}


.s02-head{
    position:relative;
    padding-bottom:200px;
}
.s02-head__hv{
    position:absolute;
    width:396px;
    bottom:0;
    right:8%;
    transform:translateY(40%);
}
.s02-head__flex{
    display:flex;
    justify-content:space-between;
}
.s02-head__image{
    width:500px;
}
.s02-head__title{
    margin:60px 0;
}
.s02-head__title__en{
    font-size:56px;
    display:block;
    line-height:1.4;
}
.s02-head__title__jp{
    font-size:20px;
    font-weight:bold;
}
.s02-head__subtitle{
    font-size:36px;
    font-weight:bold;
    margin-bottom:1em;
}




/* SERVICE 04 */
.s04-menu:not(:last-of-type){
	margin-bottom:100px;
}
.s04-menu--head{
	margin-bottom:30px;
}
.s04-menu--head--title{
	font-size: 72px;
    line-height: 1.2;
}
.s04-menu--head--jptitle{
	font-size: 21px;
}
.s04-menu__flex:not(:last-of-type){
	margin-bottom:50px;
}
.s04-menu__flex--img{
	width:595px;
}
.s04-menu__flex--img img{
	clip-path:var(--m-poly);
	aspect-ratio:4/3;
	width:100%;
	object-fit:cover;
	object-position:center;
}
.s04-menu__flex--cont{
	width:calc(100% - 655px);
}
.s04-submenu:not(:last-of-type){
	margin-bottom:50px;
}

.s04-s3-slider{
	position:relative;
	padding:0 20px;
}
.s04-s3-slide img{
	margin:0 auto;
}
.s04-s3-slider .slide-btn{
	position:absolute;
	width:85px;
	height:109px;
	top:calc(50% - 54.5px);
	z-index:2;
	cursor:pointer;
	background-size:contain;
	background-position:center;
	background-repeat:no-repeat;
}
.s04-s3-slider .slide-btn.prev{
	left:0;
	background-image:url('img/service04/icon-prev.webp');
}
.s04-s3-slider .slide-btn.next{
	right:0;
	background-image:url('img/service04/icon-next.webp');
}

.s04-s4__grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:75px;
}
.s04-s4__grid--item{
	clip-path:var(--m-poly);
	color:var(--base-color);
	background:#FFF;
	padding:50px;
}
.s04-access:not(:last-of-type){
	margin-bottom:50px;
}
.s04-access--title{
	font-size:24px;
    text-align:center;
}
.s04-access--address{
	font-size:18px;
    text-align:center;
}
.s04-openinghour__att{
    font-size:14px;
}
.s04-access--link{
    padding-left:80px;
	margin-top:8px;
}
.s04-access--link a{
	font-size: 18px;
	display:inline-flex;
	align-items:flex-end;
	gap:4px;
	color:var(--base-color);
}
.s04-access--link a::after{
	content:'';
	width:59px;
	height:16px;
	background-image:url('img/service04/icon-arrow.webp');
	background-size:contain;
	background-position:center;
	background-repeat:no-repeat;
}
.s04-access--link a:hover{
	gap:12px;
}
.s04-openinghour--dl{
	display:flex;
	align-items:center;
}
.s04-openinghour--dl:not(:last-of-type){
	margin-bottom:60px;
}
.s04-openinghour--dl>dt{
	color:var(--base-color);
	width:110px;
	font-size:21px;
}
.s04-openinghour--dl>dd{
	width:calc(100% - 110px);
	padding-left: 24px;
	font-size:19px;
	border-left:1px solid var(--base-color);
}
.s04-openinghour--secdl{
	display:flex;
}
.s04-openinghour--secdl:not(:last-of-type){
	margin-bottom:12px;
}
.s04-openinghour--secdl>dt{
	width:3em;
}




/* TOPICS - ARCHIVE */
.archive-categories{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	padding-bottom:40px;
	width:100%;
	max-width:900px;
	margin: 0 auto;
}
.archive-category a{
	color:var(--base-color);
	border:1px solid var(--base-color);
	display:block;
	padding:6px 12px;
	white-space:nowrap;
	line-height:1;
	border-radius:6px;
}
.archive-category a:hover{
	color:var(--main);
	background:var(--base-color);
}
.archive-category.current a{
	pointer-events:none;
	color:var(--main);
	background:var(--base-color);
}

.topics-archives{
	width:100%;
	max-width:900px;
	margin:0 auto 60px;
}
.topics-archive a{
	position: relative;
  display: flex;
  gap: 14px;
  align-items: center;
  padding:14px 0;
  padding-right: 50px;
  color:var(--base-color);
  border-bottom:1px solid var(--base-color);
}
.topics-archive a::before {
  content: '';
  position: absolute;
  width: 22px;
  height: 22px;
  background-image: url(img/common/icon-arrow-white.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  transition: var(--transition);
  right: 0;
  top: calc(50% - 11px);
}
.topics-cat span{
  display: inline-block;
  font-size: 11px;
  line-height: 1.2;
  color: #FFF;
  background: var(--base-color);
  padding: 4px 8px;
  border-radius: 6px;
  white-space: nowrap;
}
.topics-title{
	font-size:18px;
	width:100%;
	max-width:600px;
	overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.archive-pagenation .wp-pagenavi{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:8px;
}
.archive-pagenation .wp-pagenavi .current,
.archive-pagenation .wp-pagenavi .page{
    font-family: source-han-sans-japanese, sans-serif;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
    border:1px solid var(--main);
    font-size:12px;
}
.archive-pagenation .wp-pagenavi .current{
    color:#FFF;
    background:var(--main);
}
.archive-pagenation .wp-pagenavi .pages{
	border:0;
}
.archive-pagenation .wp-pagenavi .page{
    color:var(--main);
}
.archive-pagenation .wp-pagenavi .page:hover{
    color:#FFF;
    background:var(--main);
}
.archive-pagenation .wp-pagenavi .nextpostslink,
.archive-pagenation .wp-pagenavi .previouspostslink{
    font-family: source-han-sans-japanese, sans-serif;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
    border:0;
    color:var(--main);
}


/* TOPICS - SINGLE */
.single-head{
	width:100%;
	max-width:900px;
	margin:0 auto;
	padding-bottom:40px;
}
.single-head--meta{
	display:flex;
	gap:14px;
	margin-bottom:10px;
}
.single-cat span{
	display: inline-block;
  font-size: 11px;
  line-height: 1.2;
  color: var(--base-color);
  background: #FFF;
  padding: 4px 8px;
  border-radius: 6px;
  white-space: nowrap;
}
.single-title{
	font-size:32px;
	font-weight:bold;
}


.editor-content{
	width:100%;
	max-width:900px;
	margin:0 auto 120px;
}
.editor-content>*{
    margin-bottom:10px;
    line-height:2.2;
}
.editor-content h1{
    font-size:32px;
    font-weight:bold;
}
.editor-content h2{
    font-size:24px;
    font-weight:bold;
}
.editor-content h3{
    font-size:22px;
    font-weight:bold;
}
.editor-content h4{
    font-size:18px;
    font-weight:bold;
}
.editor-content h5,
.editor-content h6{
    font-size:16px;
    font-weight:bold;
}
.editor-content p{
    font-size:15px;
}
.editor-content ul,
.editor-content ol{
    padding-left:1.2em;
}
.editor-content ul{
    list-style:disc;
}
.editor-content ol{
    list-style:decimal;
}
.editor-content li{
    padding-bottom:10px;
}
.editor-content a{
	color:var(--base-color);
	font-weight:bold;
	text-decoration:underline;
}



/* PAGE */
.single-contents{
	width:100%;
	max-width:900px;
	margin:0 auto;
}


/* CONTACT */
.contact-text{
	margin-bottom:60px;
}
.contact-text a{
	color:var(--base-color);
	text-decoration:underline;
	font-weight:bold;
}

.form-dls dl{
	display:flex;
	align-items: center;
	padding:14px 0;
	border-top:1px dashed #898989;
}
.form-dls dt{
	width:220px;
	position:relative;
	padding-right:90px;
}
.form-dls dt .must{
	display:flex;
	align-items:center;
	justify-content:center;
	position:absolute;
	top:0px;
	right:10px;
	color:var(--base-color);
	background:var(--main);
	height:28px;
	width:60px;
	border-radius:6px;
}
.form-dls dd{
	width:calc(100% - 220px);
}

form input[type="text"], form input[type="email"], form input[type="url"], form input[type="tel"], form input[type="number"], form input[type="date"], form textarea{
	width:100%;
}
form input[name="your-zipcode"]{
	width:10em;
}

.submit-field{
	margin-top:60px;
	text-align:center;
}
form input[type="submit"], form button{
    font-size:24px;
    font-weight:bold;
    color:var(--base-color);
	background:var(--main);
    padding:28px 40px;
    clip-path:var(--m-poly);
}

/* ORDER */
.order-box{
	width:100%;
	max-width:700px;
	clip-path:var(--m-poly);
	padding:40px;
	background:#FFF;
	margin:0 auto 60px;
}
.order-box--text{
	text-align:center;
	font-size:17px;
}
.order-box--text small{
	display:block;
}
.order-box--text a{
	font-size:21px;
	margin-top:20px;
	display:block;
	color:var(--base-color);
	text-decoration:underline;
}

form input.input-number{
	width:4em;
}





/* ANIMATION */
.fadein {
    opacity : 0.1;
    transform : translate(0, 50px);
    transition : all 800ms;
}
.fadeinr {
    opacity : 0.1;
    transform : translate(50px, 0);
    transition : all 800ms;
}
.fadeinb {
    opacity : 0.1;
    transform : translate(0, 50px);
    transition : all 800ms;
}
.fadeint {
    opacity : 0.1;
    transform : translate(0, -50px);
    transition : all 800ms;
}
.fadeinl {
    opacity : 0.1;
    transform : translate(-50px, 0);
    transition : all 800ms;
}
.fadeino {
    opacity : 0.1;
    transition : all 800ms;
}

.fadein.scrollin, .fadeinr.scrollin, .fadeinb.scrollin, .fadeint.scrollin, .fadeinl.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}
.fadeino.scrollin {
   opacity : 1;
}

@supports (-ms-ime-align:auto) {
.fadein {
    opacity : 1;
    transform : inherit;
    transition : inherit;
}
.fadeinr {
    opacity : 1;
    transform : inherit;
    transition : inherit;
}
.fadeinb {
    opacity : 1;
    transform : inherit;
    transition : inherit;
}
.fadeint {
    opacity : 1;
    transform : inherit;
    transition : inherit;
}
.fadeinl {
    opacity : 1;
    transform : inherit;
    transition : inherit;
}
.fadeino {
    opacity : 1;
    transition : inherit;
}

.fadein.scrollin, .fadeinr.scrollin, .fadeinb.scrollin, .fadeint.scrollin, .fadeinl.scrollin {
    opacity : 1;
    transform : inherit;
}
.fadeino.scrollin {
   opacity : 1;
}
}/* @ supports end */

@media only screen and (max-width:1280px){
/* ANIMATION */
.fadein,
.fadeinr,
.fadeinl,
.fadeinb,
.fadeint{
    opacity : 0.1;
    transform : translate(0, 50px);
    transition : all 800ms;
}
}/* fade animation wrap over */



.clear_from_top.ef,
.inner-clear_from_top.ef>*{
	-webkit-clip-path: inset(0 0 100% 0);
	clip-path: inset(0 0 100% 0);
	transition:all .8s ease;
}
.clear_from_bottom.ef,
.inner-clear_from_bottom.ef>*{
	-webkit-clip-path: inset(100% 0 0 0);
	clip-path: inset(100% 0 0 0);
	transition:all .8s ease;
}
.clear_from_left.ef,
.inner-clear_from_left.ef>*{
	-webkit-clip-path: inset(0 100% 0 0);
	clip-path: inset(0 100% 0 0);
	transition:all .8s ease;
}
.clear_from_right.ef,
.inner-clear_from_right.ef>*{
	-webkit-clip-path: inset(0 0 0 100%);
	clip-path: inset(0 0 0 100%);
	transition:all .8s ease;
}
.clear_from_lefttop.ef,
.inner-clear_from_lefttop.ef>*{
	-webkit-clip-path: inset(0 100% 100% 0);
	clip-path: inset(0 100% 100% 0);
	transition:all .8s ease;
}
.clear_from_righttop.ef,
.inner-clear_from_righttop.ef>*{
	-webkit-clip-path: inset(0 100% 0 100%);
	clip-path: inset(0 100% 0 100%);
	transition:all .8s ease;
}
.clear_from_leftbottom.ef,
.inner-clear_from_leftbottom.ef>*{
	-webkit-clip-path: inset(100% 100% 0 0);
	clip-path: inset(100% 100% 0 0);
	transition:all .8s ease;
}
.clear_from_rightbottom.ef,
.inner-clear_from_rightbottom.ef>*{
	-webkit-clip-path: inset(100% 0 0 100%);
	clip-path: inset(100% 0 0 100%);
	transition:all .8s ease;
}
.clear_from_top.ef.scrollin,
.clear_from_bottom.ef.scrollin,
.clear_from_left.ef.scrollin,
.clear_from_right.ef.scrollin,
.inner-clear_from_top.ef.scrollin>*,
.inner-clear_from_bottom.ef.scrollin>*,
.inner-clear_from_left.ef.scrollin>*,
.inner-clear_from_right.ef.scrollin>*,
.clear_from_lefttop.ef.scrollin,
.clear_from_righttop.ef.scrollin,
.clear_from_leftbottom.ef.scrollin,
.clear_from_rightbottom.ef.scrollin,
.inner-clear_from_lefttop.ef.scrollin>*,
.inner-clear_from_righttop.ef.scrollin>*,
.inner-clear_from_leftbottom.ef.scrollin>*,
.inner-clear_from_rightbottom.ef.scrollin>*{
	-webkit-clip-path: inset(0);
	clip-path:inset(0);
}