@charset "UTF-8";/************************************************** @ RESET verHTML5 - ALL**************************************************/html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {	margin: 0;	padding: 0;	border: 0;	outline: 0;	font-size: 100%;	vertical-align: baseline;	background: transparent;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display: block;}ul { list-style: none outside none;}blockquote,q {quotes: none;}blockquote:before,blockquote:after,q:before,q:after {content: none;}a {	margin: 0;	padding: 0;	font-size: 100%;	color: #615f5f;	text-decoration: none;	vertical-align: baseline;	background: transparent;}a:link,a:visited,a:active {	color: #615f5f;	text-decoration: none;}a:hover {	transition: .3s ease-in-out;	opacity: 0.65}a:visited { color: #615f5f;}table {	border-collapse: collapse;	border-spacing: 0;}input,select { vertical-align: middle;}img { vertical-align: bottom;}/************************************************** @ BASE - ALL**************************************************/html { height: 100%;}body {	position: relative;	background-color: #fff;	font-family: source-han-sans-japanese, sans-serif;	font-feature-settings: "palt" 1;	-webkit-font-smoothing: antialiased;  	-moz-osx-font-smoothing: grayscale;	font-size: 16px;	font-weight: 400;	color: #615f5f;	line-height: 2;	letter-spacing: 0.025vw;	overflow-x: hidden;	text-rendering: optimizeLegibility;	text-size-adjust:100%;	height: 100%;}span, object, article,aside, dialog, figure, footer,header, menu, nav, section {	-webkit-transition: 0.4s ease-in-out;	-moz-transition: 0.4s ease-in-out;	transition: 0.4s ease-in-out;}*, *:before, *:after {	-webkit-box-sizing: border-box;	-moz-box-sizing: border-box;	-o-box-sizing: border-box;	-ms-box-sizing: border-box;	box-sizing: border-box;}img {	width: 100%;	height: auto;}article, aside, dialog, figure, footer, header, menu, nav, object, section, span {	-webkit-transition: .3s ease-in-out;	-moz-transition: .3s ease-in-out;	transition: .3s ease-in-out}/*---------------------------	----------------- FONT */.Sofia-Pro-Black {	font-family: sofia-pro, sans-serif;	font-weight: 900;	font-style: normal;}.Sofia-Pro-Bold {	font-family: sofia-pro, sans-serif;	font-weight: 700;	font-style: normal;}.Sofia-Pro-Semi-Bold {	font-family: sofia-pro, sans-serif;	font-weight: 600;	font-style: normal;}.Sofia-Pro-Medium {	font-family: sofia-pro, sans-serif;	font-weight: 500;	font-style: normal;}.Sofia-Pro-Regular {	font-family: sofia-pro, sans-serif;	font-weight: 400;	font-style: normal;}.Sofia-Pro-Light {	font-family: sofia-pro, sans-serif;	font-weight: 300;	font-style: normal;}.Sofia-Pro-Extra-Light {	font-family: sofia-pro, sans-serif;	font-weight: 200;	font-style: normal;}.Sofia-Pro-Ultra-Light {    font-family: sofia-pro, sans-serif;    font-weight: 100;    font-style: normal;    }.Source-Han-Sans-JP {    font-family: source-han-sans-japanese,sans-serif;    font-style: normal;    }.Source-Han-Sans-JP-Heavy {    font-family: source-han-sans-japanese,sans-serif;    font-weight: 900;    font-style: normal;    }.Source-Han-Sans-JP-Bold {    font-family: source-han-sans-japanese,sans-serif;    font-weight: 700;    font-style: normal;    }.Source-Han-Sans-JP-Medium {    font-family: source-han-sans-japanese,sans-serif;    font-weight: 500;    font-style: normal;    }.Source-Han-Sans-JP-Regular {    font-family: source-han-sans-japanese, sans-serif;    font-weight: 400;    font-style: normal;    }.Source-Han-Sans-JP-Normal {    font-family: source-han-sans-japanese, sans-serif;    font-weight: 300;    font-style: normal;    }.Source-Han-Sans-JP-Light {    font-family: source-han-sans-japanese,sans-serif;    font-weight: 200;    font-style: normal;    }.en { font-family: sofia-pro, sans-serif;}/*---------------------------	----------------- ANIMATION */.fadeDown {    animation-name: fadeDownAnime;    animation-duration: 0.5s;    animation-fill-mode: forwards;    opacity: 0;    }/*---------------------------	----------------- USER AGENT */@media (min-width: 768px) {		.sp { display: none !important }        #wrap {        width: 100%;        height: 100%;        }	}@media (max-width: 767px) and (min-width: 320px) {		body {		font-size: 0.8rem;		letter-spacing: 0;		width: 100%;		-webkit-text-size-adjust: 100%;		overflow-x: hidden;		}		#wrap {		width: 100%;		max-width: 767px;		min-width: 320px;		overflow-x: hidden;		margin: 0 auto		}		.pc { display: none !important; }}/* Fade effect */.js body {	opacity: 0;	transition: opacity 0.3s;}.js body.render {	opacity: 1;}/* Page Loader */.js .loading::before {	content: '';	position: fixed;	z-index: 100000;	top: 0;	left: 0;	width: 100%;	height: 100%;	background: var(--color-bg);}.js .loading::after {	content: '';	position: fixed;	z-index: 100000;	top: 50%;	left: 50%;	width: 60px;	height: 60px;	margin: -30px 0 0 -30px;	pointer-events: none;	border-radius: 50%;	opacity: 0.4;	background: var(--color-link);	animation: loaderAnim 0.7s linear infinite alternate forwards;}@keyframes loaderAnim {    to {        opacity: 1;        transform: scale3d(0.5,0.5,1);        }}/************************************************* @CONTENTS - 1.HEADER----------------------------------------------- */header {	position: absolute;	width: 100%;	z-index: 100;	/*transition: opacity .2s ease-in-out .1s;	transform: translateY(-100%);*/}header .header_inner {    display: flex;    justify-content: space-between;    position: relative;    min-width: 1100px;    width: 100%;    margin: auto;    }header .header_inner h1.logo {    width: 19.66666666%;    min-width: 148px;    max-width: 318px;    margin-top: 35px;    margin-left: 1.25252525%;    }header .header_inner h1.logo a img {    display: block;    width: 100%;    }@media (max-width: 767px) and (min-width: 320px) {		header {		position: absolute;		width: 100%;		z-index: 100;		/*transition: opacity .2s ease-in-out .1s;		transform: translateY(-100%);*/	}	header .header_inner {		position: relative;		display: block;		justify-content: space-between;		min-width: 320px;		width: 100%;		margin: auto;	}	header .header_inner h1.logo {		width: 60%;		height: 60px;		min-width: 250px;		max-width: 450px;		margin-top: 0;		margin-left: 0;		padding: 2.75vw 2.75vw 2.25vw;		background-color: #e40580;	}	header .header_inner h1.logo a img {		display: block;		width: 100%;	}}/************************************************* @CONTENTS - 2.G-NAVIGATION ----------------------------------------------- */.gnav_wrap { 	width: 67.7777%;	min-width: 825px;}.sns_list {	display: flex;	flex-wrap: wrap;	justify-content: flex-end;	padding-top: 15px;	margin-right: 23.33333%;	margin-bottom: 10px;}.sns_list li {	width: 20px;	height: 20px;	margin-left: 2.5%;}.sns_list li a {	display: block;	width: 100%;	height: 100%;}.sns_list li:nth-child(1)  a {	background: url("../images/header/icon-instagram.svg") center no-repeat;	background-size: 20px 20px;}.sns_list li:nth-child(2)  a {	background: url("../images/header/icon-line.svg") center no-repeat;	background-size: 20px 20px;}.sns_list li:nth-child(3)  a {	background: url("../images/header/icon-twitter.svg") center no-repeat;	background-size: 20px 20px;}.sns_list li:nth-child(4)  a {	background: url("../images/header/icon-facebook.svg") center no-repeat;	background-size: 20px 20px;}.menu li a {	display: block;	font-size: 0.9rem;	font-weight: 600;	line-height: 1;	text-decoration: none;	padding: 8px 0;	margin: 0;}.menu li a .ja {	display: block;	font-family: source-han-sans-japanese, sans-serif;	font-size: 0.625rem;	font-weight: 500;	color: #e40580;	letter-spacing: 0.025rem;	margin-top: 8px;}.request_btn { 	width: 26.454545%;	margin-top: -3.75em;}.request_btn a {	display: block;	background: #e40580;	font-size: 0.825rem;	font-weight: 600;	color: #fff;	line-height: 1;	text-align: center;	padding: 3em 0 2.25em;}.request_btn a span:nth-child(1) {	font-family: source-han-sans-japanese, sans-serif;	font-weight: 600;}.request_btn a span:nth-child(2) {	display: block;	font-size: 0.725rem;	font-weight: 700;	color: #fff;	letter-spacing: 0;	margin-top: 5px;}@media (max-width: 767px) and (min-width: 320px) {		.gnav_wrap { min-width: auto;}		.sns_list {		display: flex;		flex-wrap: wrap;		justify-content: flex-end;		padding-top: 15px;		margin-right: 23.33333%;		margin-bottom: 10px;	}	.sns_list li {		width: 20px;		height: 20px;		margin-left: 2.5%;	}	.sns_list li a {		display: block;		width: 100%;		height: 100%;	}	.sns_list li:nth-child(1)  a {		background: url("../images/header/icon-instagram.svg") center no-repeat;		background-size: 20px 20px;	}	.sns_list li:nth-child(2)  a {		background: url("../images/header/icon-line.svg") center no-repeat;		background-size: 20px 20px;	}	.sns_list li:nth-child(3)  a {		background: url("../images/header/icon-twitter.svg") center no-repeat;		background-size: 20px 20px;	}	.sns_list li:nth-child(4)  a {		background: url("../images/header/icon-facebook.svg") center no-repeat;		background-size: 20px 20px;	}		.menu li a {		display: block;		font-size: 0.9rem;		font-weight: 600;		line-height: 1;		text-decoration: none;		padding: 8px 0;		margin: 0;	}	.menu li a .ja {		display: block;		font-family: source-han-sans-japanese, sans-serif;		font-size: 0.625rem;		font-weight: 500;		color: #e40580;		letter-spacing: 0.025rem;		margin-top: 8px;	}		.request_btn { 		width: 26.454545%;		margin-top: -3.75em;	}	.request_btn a {		display: block;		background: #e40580;		font-size: 0.825rem;		font-weight: 600;		color: #fff;		line-height: 1;		text-align: center;		padding: 3em 0 2.25em;	}	.request_btn a span:nth-child(1) {		font-family: source-han-sans-japanese, sans-serif;		font-weight: 600;	}	.request_btn a span:nth-child(2) {		display: block;		font-size: 0.725rem;		font-weight: 700;		color: #fff;		letter-spacing: 0;		margin-top: 5px;	}}@media screen and (max-width: 768px) {        #sp-nav { display: none;}        /*ボタン外側*/    .openbtn {        display: block;        position: fixed;        top: 0;        right: 0;        z-index: 999;/*ボタンを最前面に*/        cursor: pointer;        width: 60px;        height: 60px;        background: #e40580;        }        /*ボタン内側*/    .openbtn span{        display: inline-block;        transition: all .4s;/*アニメーションの設定*/        position: absolute;        left: 0;        right: 0;        margin: auto;        height: 1px;        border-radius: 1px;        background: #fff;        width: 35%;        }        .openbtn span:nth-of-type(1) { top:18px;}    .openbtn span:nth-of-type(2) { top: 23px;}    .openbtn span:nth-of-type(3) { top: 28px;}    .openbtn span:nth-of-type(3)::after {        content: "MENU";        position: absolute;        top: 2px;        left: -4px;        font-family: sofia-pro, sans-serif;        font-size: 2.5vw;        font-weight: 700;        color: #fff;        letter-spacing: 0;        text-transform: uppercase;        }        /*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/    .openbtn.active span:nth-of-type(1) {        top: 14px;        left: 0;        transform: translateY(6px) rotate(-45deg);        width: 32.5%;        height: 2px;        }    .openbtn.active span:nth-of-type(2) { opacity: 0;}    .openbtn.active span:nth-of-type(3){        top: 26px;        left: 0;        transform: translateY(-6px) rotate(45deg);        width: 32.5%;        height: 2px;        }    .openbtn.active span:nth-of-type(3)::after {        content: "CLOSE";/*3つ目の要素のafterにClose表示を指定*/        transform: translateY(0) rotate(-45deg);        top: 2px;        left: 6px;        }        /*アクティブになったエリア*/    #sp-nav.panelactive{        display: block;        position: fixed;/*position:fixed;にし、z-indexの数値を大きくして前面へ*/        z-index: 99;        top: 0;        width:100%;        height: 100vh;        }        /*丸の拡大*/    .circle-bg{        position: fixed;        z-index: 3;        /*丸の形*/        width: 100px;        height: 100px;        border-radius: 50%;        background: #e40580;        /*丸のスタート位置と形状*/        transform: scale(0);/*scaleをはじめは0に*/        right: -18px;        top: -18px;        transition: all .6s;/*0.6秒かけてアニメーション*/        }    .circle-bg.circleactive{ transform: scale(50);}        /*ナビゲーションの縦スクロール*/    #sp-nav-list {        opacity: 0;        position: fixed;        left: 0;        z-index: 99;         width: 100%;        height: 100vh;        overflow: auto;        -webkit-overflow-scrolling: touch;        }    #sp-nav.panelactive #sp-nav-list { opacity: 1; /*クラスが付与されたら出現*/}        /*ナビゲーション*/    #sp-nav ul {        opacity: 0;/*はじめは透過0*/        width: 90%;        margin: 0 auto 60px auto;        }    #sp-nav ul ul { margin: 0;}        /*背景が出現後にナビゲーションを表示*/    #sp-nav.panelactive ul { opacity: 1;}            #sp-nav ul {        /*2階層目の基点にするためrelativeを指定*/        position: relative;        display: flex;        justify-content: center;        margin:0 0 50px 0;        }        /*2階層目以降は横並びにしない*/    #sp-nav ul ul {        display: block;        margin: 0;        }        /*ナビゲーションのリンク設定*/    #sp-nav ul li a {        /*矢印の基点にするためrelativeを指定*/        position: relative;        display: block;        text-decoration: none;        color: #fff;        padding: 10px;        transition:all .3s;        }    #sp-nav ul li a:hover { color: #fff;}        /*==矢印の設定*/    /*2階層目を持つliの矢印の設定*/        #sp-nav ul li.has-child > a::before{        position: absolute;        left: -5px;        top: 21px;        content: '';        width: 6px;        height: 6px;        border-top: 2px solid #fff;        border-right: 2px solid #fff;        transform: rotate(135deg);        }        /*== 2層目の設定 */    #sp-nav li.has-child ul {        /*絶対配置で位置を指定*/        position: absolute;        left: 5%;        top: 58px;        z-index: 4;        /*子要素を横並びに*/            display: flex;        justify-content: space-around;        flex-wrap: wrap;        /*形状を指定*/        width: 90%;        border-radius: 10px;        /*はじめは非表示*/        visibility: hidden;        opacity: 0;        /*アニメーション設定*/        transition: all .3s;        padding: 10px 0;        }        /*hoverしたら表示*/    #sp-nav li.has-child:hover > ul {        visibility: visible;        opacity: 1;        }    /*各ナビゲーション横幅*/    #sp-nav li.has-child ul li { width:18%;}        /*ナビゲーションaタグの形状*/    #sp-nav li.has-child ul li a { color: #fff;}        /*ナビ内ロゴ*/    #sp-nav p {display: none;}    #sp-nav p {        display: block;        margin: 50px auto 25px;        width: 57.5%;        }        #sp-nav ul {        display: block;        width: 87.5%;        margin: 0 auto 30px auto;        }        #sp-nav li.has-child ul {        position: relative;        left: 0;        top: 0;        width: 100%;        visibility: visible;        opacity: 1;        display: none;        transition: none;        border-radius: 0;        padding: 0;        transform: translate3d(0, 0, 0);        }            #sp-nav ul li { border-bottom: 1px solid rgba(255,255,255,0.8);}    #sp-nav li.has-child ul li {        width:100%;        text-align: left;        }    #sp-nav ul li a {        padding: 10px 20px 10px 40px;        color: #fff;        }    #sp-nav ul li a:hover { color: #fff;}    #sp-nav ul li li a { padding: 0;}            /*矢印の位置と向き*/    #sp-nav ul li.has-child > a::before {        top: 20px;        left: 20px;        transform: rotate(135deg);        }    #sp-nav ul li.has-child.active > a::before{ transform: rotate(-45deg);}    #sp-nav ul li a::after {        content: "";        padding: 0;        }        #sp-nav ul li a span {         display: block;        font-size: 2.25vw;        font-weight: 600;        color: #fccee7;        line-height: 1.4;        }        #sp-nav li.has-child ul li.sub_menu:last-child { border-bottom: none;}    #sp-nav li.has-child ul li.sub_menu a {        position: relative;        display: block;        padding: 2vw 0 2vw 12.5vw;        }    #sp-nav li.has-child ul li.sub_menu a::before {        position: absolute;        top: 50%;        left: 9.75vw;        content: "";        width: 7px;        height: 1px;        background-color: #fff;        }    }/************************************************* @CONTENTS - MAIN VISUAL----------------------------------------------- */.keyvisual_wrap {	margin-bottom: 100px;	width: 100%;	height: 100%;}.keyvisual_inner { 	position: relative;	overflow-y: hidden;	overflow-x: hidden;	height: 100%;}.kv_copyright {	position: fixed;	left: 2.7777777%;	top: 40%;	font-size: 0.475rem;	color: #615f5f;	line-height: 1;	letter-spacing: 0.075em;	writing-mode: vertical-rl;	z-index: 2;}.kv-ornament01 {	position: absolute;	top: 12.5vw;	left: 12.5vw;	z-index: 10;}.kv-ornament01 svg { 	width: 70px;	height: 70px;	transform: rotate(90deg);}.kv-ornament01 svg path {	fill: transparent;	stroke: #e3007f;	stroke-width: 3;	animation: circle 1.25s infinite 1.25s;}@keyframes circle {	0% { stroke-dasharray: 0 125 75; }	99.9%,to { stroke-dasharray: 366 175 125; }}.kv-ornament02 {	position: absolute;	top: 35vw;	left: -1.5vw;	z-index: 5;	width: 110px;	height: 110px;	background: url("../images/kv/kv-ornament01.svg") center no-repeat;	background-size: 100%;}.kv-ornament03 {	position: absolute;	top: 45vw;	left: 10vw;	width: 20px;	height: 20px;	border-radius: 50%;	z-index: 10;}.kv-ornament03 svg { 	width: 100%;	height: 100%;	transform: rotate(90deg);}.kv-ornament03 svg path {	fill: transparent;	stroke: #e3007f;	stroke-width: 8;	animation: circle 2s infinite 1.75s;}@keyframes circle {	0% { stroke-dasharray: 0 175 25 25; }	99.9%,to { stroke-dasharray: 366 275 125 225; }}.kv-ornament04 {	position: absolute;	top: 27.5vw;	right: 7.25vw;	width: 150px;	height: 150px;	background: url("../images/kv/kv-ornament01.svg") center no-repeat;	background-size: 100%;	z-index: 10;}.kv-ornament05 {	position: absolute;	top: -175px;	left: -10vw;	width: 350px;	height: 350px;	background: url("../images/kv/kv-ornament02.svg") center no-repeat;	background-size: 100%;	opacity: 0.25;	z-index: 1;}.kv-ornament06 {	position: absolute;	bottom: -5.25vw;	right: -10vw;	width: 350px;	height: 350px;	background: url("../images/kv/kv-ornament02.svg") center no-repeat;	background-size: 100%;	opacity: 0.25;	z-index: 2;}.kv-ornament07 {	position: absolute;	top: 45.75vw;	left: 67.5vw;	width: 100px;	height: 100px;	border-radius: 50%;	z-index: 10;}.kv-ornament07 svg { 	width: 100%;	height: 100%;	transform: rotate(90deg);}.kv-ornament07 svg path {	fill: transparent;	stroke: #e3007f;	stroke-width: 2;	animation: circle 2s infinite 2s;}@keyframes circle {	0% { stroke-dasharray: 0 125 125 25; }	99.9%,to { stroke-dasharray: 366 275 225 125; }}.kv-ornament08 {	position: absolute;	bottom: 2.25vw;	right: -1.75vw;	width: 160px;	height: 160px;	background: url("../images/kv/kv-ornament01.svg") center no-repeat;	background-size: 100%;	z-index: 2;}.kv-ornament09 {	position: absolute;	top: 47.5vw;	left: 32.5vw;	z-index: 10;	width: 100px;	height: 100px;	background: url("../images/kv/kv-ornament01.svg") center no-repeat;	background-size: 100%;}@media only screen and (max-width: 1281px) {    .kv_copyrighti { display: none;}}.keyvisual.swiper-container {	width: 70.111111% !important;	height: 100%;	margin-left: auto !important;	margin-right: 0 !important;	overflow-y: hidden;	border-top-left-radius: 0.5em;	border-bottom-left-radius: 0.5em;}.keyvisual .swiper-wrapper .swiper-slide:nth-child(1) {	background: url("../images/kv/keyvisual01.jpg") left no-repeat;	background-size: cover;}.keyvisual .swiper-wrapper .swiper-slide:nth-child(2) {	background: url("../images/kv/keyvisual02.jpg") left no-repeat;	background-size: cover;}.keyvisual .swiper-wrapper .swiper-slide:nth-child(3) {	background: url("../images/kv/keyvisual03.jpg") left no-repeat;	background-size: cover;}.main_copy {	position: absolute;	top: 32.75%;	left: 14.5%;	z-index: 10;}.main_copy .main_text p:nth-child(1) {	font-size: 0.85vw;	color: #e40580;	letter-spacing: 0.08vw;	line-height: 1;	margin-bottom: 10px;}.main_copy .main_text p:nth-child(2) {	font-family: source-han-sans-japanese,sans-serif;	font-size: 2.5vw;	letter-spacing: 0.375vw;	line-height: 1;	margin-bottom: 15px;}.main_copy .main_text p:nth-child(2) span { color: #e40580;}.main_copy .main_text p:nth-child(3) {	font-family: source-han-sans-japanese,sans-serif;	font-size: 1.0725vw;	font-weight: 500;	letter-spacing: 0.05vw;	margin-bottom: 15px;}.main_copy .sub_text p {	font-family: source-han-sans-japanese,sans-serif;	font-size: 1.025vw;	font-weight: 500;	letter-spacing: 0.05vw;	margin-bottom: 20px;}/*---------------------------	----------------- LOOP TEXT */.loop_text_wrap01 {	position: absolute;	top: 25.5%;	left: 0;	width: 100vw;	height: 350px;	z-index: -10;	overflow: hidden;}.loop_text_wrap01 .loop_text01 {	display: block;	background: url("../images/kv/loop-text.svg") no-repeat;	background-size: auto;	background-size: 100%;	width: 295%;	height: 350px;}.loop_text_wrap01 .loop_text01 { animation: loop01 75s -45s linear infinite;}@keyframes loop01 {    0% { transform: translateX(5%);}    to { transform: translateX(-95%);}}/*---------------------------	----------------- SCROLL DOWN */.scrolldown{	position: absolute;	left: 5.555555%;	bottom: 0;	height: 75px;}.scrolldown span{	position: absolute;	left: -10px;	top: -40px;	font-size: 0.8rem;	color: #615f5f;	letter-spacing: 0.08rem;	writing-mode: vertical-rl;}.scrolldown::before{	position: absolute;	bottom:0;	left: -2px;	content: "";	width: 5px;	height: 5px;	border-radius: 50%;	background: #e40580;	z-index: 10;	animation:		circlemove 1.6s ease-in-out infinite,		cirlemovehide 1.6s ease-out infinite;}@keyframes circlemove{	0%{bottom: 65px;}	100%{bottom: -5px;}}@keyframes cirlemovehide{	0%{opacity: 0.25}	50%{opacity: 1;}	80%{opacity: 0.9;}	100%{opacity: 0;}}.scrolldown:after{	position: absolute;	bottom: 0;	left: 0;	content:"";	width: 1px;	height: 70px;	background: #615f5f;}/*---------------------------	----------------- POPUP WIND */.popup {	position: fixed;	right: 2.25%;	bottom: 3.25%;	width: 30.75%;	max-width: 450px;	z-index: 9999;	opacity: 0;	visibility: hidden;	transition: .6s;	display: flex;	align-items: center;	border-radius: 0.5rem;	box-shadow: 0 0.5rem 0.75rem rgba(0,0,0,0.25);	background: #ffffff;	padding: 1.075rem;	box-sizing: border-box;}.popup.is-show {    opacity: 1;    visibility: visible;    }.popup-inner {    width: 100%;    z-index: 2;    }.close-btn {    position: absolute;    top: -8px;    right: -8px;    width: 26px;    height: 26px;    line-height: 26px;    text-align: center;    cursor: pointer;    border-radius: 1.25em;    background-color: #e40580;    z-index: 10;    }.close-btn::before {    content: "";    position: absolute;    top: 12px;    left: 50%;    margin-left: -5.5px;    width: 12px;    height: 2px;    background-color: #ffffff;    transform: rotate(40deg);    }.close-btn::after {    content: "";    position: absolute;    top: 12px;    left: 50%;    margin-left: -5.5px;    width: 12px;    height: 2px;    background-color: #ffffff;    transform: rotate(-40deg);    }.next_op_bnr_wrap {     display: flex;    flex-wrap: wrap;    justify-content: space-between;    }.next_op_bnr_wrap figure {    max-width: 100px;    width: 22.222222%;    border-radius: 0.5em;    }.next_op_bnr_wrap figure img { display: block; width: 100%;}.next_op_bnr_wrap .next_op_bnr_inner { width: 75%;}.next_op_bnr_wrap .next_op_bnr_inner p:nth-child(1) {	font-size: 0.9rem;	letter-spacing: 0.025vw;	color: #e40580;	line-height: 1.2;	margin-bottom: 6px;}.next_op_bnr_wrap .next_op_bnr_inner time {	display: block;	font-size: 0.85rem;	line-height: 1.1;	letter-spacing: 0.025vw;	margin-bottom: 3px;}.next_op_bnr_wrap .next_op_bnr_inner .op_title {	font-family: source-han-sans-japanese, sans-serif;	font-size: 0.925rem;	font-weight: 600;	line-height: 1.2;	margin-bottom: 7px;}.next_op_bnr_wrap .next_op_bnr_inner p:nth-child(4) {	font-family: source-han-sans-japanese, sans-serif;	font-size: 0.75rem;	font-weight: 500;	line-height: 1;}.section_inner { margin: 0 8.88888%; min-width: 1024px;}.h2_title01 {	position: relative;	font-size: 2rem;	font-weight: 600;	color: #e40580;	letter-spacing: 0.125vw;	line-height: 1;	margin-bottom: 50px;}.h2_title01 .number {	position: absolute;	top: -25px;	left: -15px;	font-family: sofia-pro, sans-serif;	font-size: 0.925vw;	font-weight: 700;}.h2_title01 span:nth-child(2) {	display: block;	font-family: source-han-sans-japanese, sans-serif;	font-size: 0.75rem;	font-weight: 600;	letter-spacing: 0.075vw;	margin-bottom: 5px;}@media screen and (max-width: 768px) {		.keyvisual_wrap {		position: relative;		top: 0;		height: var(--height) * 100 !important;		margin-bottom: 0;	}	.keyvisual_inner {		position: relative;		height: var(--height) * 100 !important;		overflow-y: hidden;	}    	.keyvisual_inner::before {		position: absolute;		left: 0;		content: "";		height: 100%;		width: 100%;		background: rgba(0,0,0,0.25);		z-index: 5;	}	.keyvisual_inner::after {		position: absolute;		top: 0;		left: 0;		content: '';		width: 100%;		height: 100%;		background: url("../images/other/overlay.png") repeat;		opacity: 0.2;		z-index: 7;	}		/*.kv-ornament01 {		position: absolute;		top: 17.5vw;		left: 5.75vw;		z-index: 10;		width: 45px;		height: 45px;		border: 2px solid #e3007f;		border-radius: 50%;	}	.kv-ornament02 {		position: absolute;		top: 25.5vw;		left: -2.5vw;		z-index: 10;		width: 100px;		height: 100px;		background: url("../images/kv/kv-ornament01.svg") center no-repeat;		background-size: 100%;	}*/		.kv-ornament01 {		position: absolute;		top: 32.5vw;		left: 7.5vw;		z-index: 10;	}	.kv-ornament01 svg { 		width: 60px;		height: 60px;		transform: rotate(90deg);	}	.kv-ornament01 svg path {		fill: transparent;		stroke: #e3007f;		stroke-width: 3;		animation: circle 1.25s infinite 1.25s;	}	.kv-ornament02 {		position: absolute;		top: 110vw;		left: -10.5vw;		z-index: 5;		width: 80px;		height: 80px;		background: url("../images/kv/kv-ornament01.svg") center no-repeat;		background-size: 100%;	}	.kv-ornament03 {		position: absolute;		top: 135vw;		left: 25vw;		z-index: 10;		width: 20px;		height: 20px;		border-radius: 50%;	}	.kv-ornament04 {		position: absolute;		top: 3.75vw;		right: -15.75vw;		width: 100px;		height: 100px;		background: url("../images/kv/kv-ornament01.svg") center no-repeat;		background-size: 100%;		z-index: 10;	}	.kv-ornament05 {		position: absolute;		top: -175px;		left: -25vw;		width: 325px;		height: 325px;		background: url("../images/kv/kv-ornament02.svg") center no-repeat;		background-size: 100%;		opacity: 0.25;		z-index: 10;	}	.kv-ornament06 {		position: absolute;		bottom: -7.25vw;		right: -20vw;		width: 300px;		height: 300px;		background: url("../images/kv/kv-ornament02.svg") center no-repeat;		background-size: 100%;		opacity: 0.25;		z-index: 2;	}	.kv-ornament07 {		position: absolute;		top: 75.75vw;		left: 87.5vw;		width: 50px;		height: 50px;		border-radius: 50%;		z-index: 10;	}	.kv-ornament07 svg path {		fill: transparent;		stroke: #e3007f;		stroke-width: 4;		animation: circle 2s infinite 2s;	}	.kv-ornament08 {		position: absolute;		bottom: 0.25vw;		right: -1.75vw;		width: 80px;		height: 80px;		background: url("../images/kv/kv-ornament01.svg") center no-repeat;		background-size: 100%;		z-index: 10;	}	.kv-ornament09 {		position: absolute;		top: 165vw;		left: 2.5vw;		z-index: 10;		width: 90px;		height: 90px;		background: url("../images/kv/kv-ornament01.svg") center no-repeat;		background-size: 100%;	}    .kv_copyright {    position: fixed;    left: 2.7777777%;    top: 40%;    font-size: 0.45rem;    color: #615f5f;    line-height: 1;    letter-spacing: 0.075em;    writing-mode: vertical-rl;    z-index: 2;    }    .keyvisual.swiper-container {        width: 100% !important;        margin-left: 0 !important;        margin-right: 0 !important;        overflow-y: hidden;        border-top-left-radius: 0.5em;        border-bottom-left-radius: 0.5em;        }    .keyvisual .swiper-wrapper .swiper-slide {        width: 100%;        min-height: 100vh;        min-height: -webkit-fill-available;        }    .keyvisual .swiper-wrapper .swiper-slide:nth-child(1) {        background: url("../images/kv/sp-keyvisual01.jpg") left no-repeat;        background-size: cover;        }    .keyvisual .swiper-wrapper .swiper-slide:nth-child(2) {        background: url("../images/kv/sp-keyvisual02.jpg") left no-repeat;        background-size: cover;        }    .keyvisual .swiper-wrapper .swiper-slide:nth-child(3) {        background: url("../images/kv/sp-keyvisual03.jpg") left no-repeat;        background-size: cover;        }    .main_copy {        position: absolute;        top: 52.5%;        left: 6.666666%;        z-index: 10;        }    .main_copy .main_text p:nth-child(1) {        font-size: 2.25vw;        letter-spacing: 0.05rem;        line-height: 1;        color: #e40580;        text-shadow: 1px 1px 5px rgba(0,0,0,0.35);        margin-bottom: 10px;        }    .main_copy .main_text p:nth-child(2) {        font-family: source-han-sans-japanese,sans-serif;        font-size: 6.85vw;        color: #fff;        letter-spacing: 0.2rem;        line-height: 1;        text-shadow: 1px 1px 5px rgba(0,0,0,0.35);        margin-bottom: 5px;        }    .main_copy .main_text p:nth-child(2) span { color: #e40580;}    .main_copy .main_text p:nth-child(3) {        font-family: source-han-sans-japanese,sans-serif;        font-size: 2.85vw;        font-weight: 600;        color: #fff;        letter-spacing: 0.05em;        text-shadow: 1px 1px 5px rgba(0,0,0,0.35);        margin-bottom: 15px;        }    /*---------------------------	    ----------------- LOOP TEXT */        .loop_text_wrap01 {        position: absolute;        top: 94.65%;        left: 0;        width: 100vw;        height: 44px;        z-index: 5;        overflow: hidden;        }    .loop_text_wrap01 .loop_text01 {        display: block;        background: url("../images/kv/loop-text.svg") no-repeat;        background-size: 100%;        width: 295%;        height: 45px;        opacity: 0.45        }    .loop_text_wrap01 .loop_text01 {        animation: loop01 75s -45s linear infinite;        }    /*---------------------------	    ----------------- SCROLL DOWN */    .scrolldown {        position: absolute;        left: 95.555555%;        bottom: 0;        height: 85px;        z-index: 10;        }    .scrolldown span{        position: absolute;        left: -10px;        top: -40px;        font-size: 0.8rem;        color: #fff;        letter-spacing: 0.08em;        writing-mode: vertical-rl;        }    .scrolldown::before{        content: "";        position: absolute;        bottom:0;        left: -2px;        width: 5px;        height: 5px;        border-radius: 50%;        background: #e40580;        z-index: 10;        animation:            circlemove 1.6s ease-in-out infinite,            cirlemovehide 1.6s ease-out infinite;        }        .scrolldown:after{        content:"";        position: absolute;        bottom: 0;        left: 0;        width: 1px;        height: 70px;        background: #fff;        }        .sp_sub_nav {        position: fixed;        left: 0;        bottom: 0;        width: 100%;        background: rgba(240, 240, 240, 0.9);        transform: translateY(100%);        transition: .3s;        z-index: 20;        }    .active{        /* 3. メニューを定位置へ戻す */        transform: translate(0);        }    .sp_sub_nav ul {        display: flex;        flex-wrap: wrap;        justify-content: space-between;        align-items: center;        }        .sp_sub_nav ul li {        width: 33.33333%;        height: 75px;        text-align: center;        }        .sp_sub_nav ul li a {        display: block;        font-size: 2.75vw;        font-weight: 600;        color: #e40580;        }        .sp_sub_nav ul li.line a {        background: url("../images/other/icon_line.svg") no-repeat;        background-size: 20.5%;        background-position: 50% 32.5%;        padding-top: 32.5%;        }    .sp_sub_nav ul li.oc a {        background: url("../images/other/icon_oc.svg") no-repeat;        background-size: 20.5%;        background-position: 50% 32.5%;        padding-top: 32.5%;        }    .sp_sub_nav ul li.file a {        background: url("../images/other/icon_file.svg") no-repeat;        background-size: 17.5%;        background-position: 50% 32.5%;        padding-top: 32.5%;        }        /*---------------------------	    ----------------- POPUP WIND */        .popup {        position: fixed;        right: 4.25%;        top: 100px;        bottom: auto;        width: 90%;        max-width: 650px;        z-index: 20;        opacity: 0;        visibility: hidden;        transition: .6s;        display: flex;        align-items: center;        border-radius: 0.5rem;        box-shadow: 0 0.5rem 0.75rem rgba(0,0,0,0.25);        background: #ffffff;        padding: 1em;        box-sizing: border-box;        }    .popup.is-show {        display: none;        opacity: 1;        visibility: visible;        }    .popup-inner {        width: 100%;        z-index: 2;        }    .close-btn {        position: absolute;        top: -8px;        right: -8px;        width: 30px;        height: 30px;        line-height: 30px;        text-align: center;        cursor: pointer;        border-radius: 1.25em;        background-color: #e40580;        z-index: 10;        }    .close-btn::before {        content: "";        position: absolute;        top: 14px;        left: 50%;        margin-left: -7px;        width: 14px;        height: 2px;        background-color: #ffffff;        transform: rotate(40deg);        }    .close-btn::after {        content: "";        position: absolute;        top: 14px;        left: 50%;        margin-left: -7px;        width: 14px;        height: 2px;        background-color: #ffffff;        transform: rotate(-40deg);        }            .next_op_bnr_wrap {         display: flex;        flex-wrap: wrap;        justify-content: space-between;        }    .next_op_bnr_wrap figure {        max-width: 100px;        width: 22.222222%;        border-radius: 0.5em;        }    .next_op_bnr_wrap .next_op_bnr_inner { width: 75%;}    .next_op_bnr_wrap .next_op_bnr_inner p:nth-child(1) {        font-size: 3.25vw;        letter-spacing: 0;        color: #e40580;        line-height: 1.2;        margin-bottom: 10px;        }    .next_op_bnr_wrap .next_op_bnr_inner time {        display: block;        font-size: 3.75vw;        line-height: 1.2;        letter-spacing: 0.02em;        margin-bottom: 2px;        }    .next_op_bnr_wrap .next_op_bnr_inner .op_title {        font-family: source-han-sans-japanese, sans-serif;        font-size: 3.75vw;        font-weight: 600;        line-height: 1.2;        margin-bottom: 7px;        }    .next_op_bnr_wrap .next_op_bnr_inner p:nth-child(4) {        font-family: source-han-sans-japanese, sans-serif;        font-size: 2.75vw;        font-weight: 500;        line-height: 1.4;        }    .section_inner { 		margin: 0 7.77777%;		max-width: 767px;		min-width: 320px;		}    .h2_title01 {        position: relative;        font-size: 6.75vw;        font-weight: 600;        color: #e40580;        letter-spacing: 0.025em;        line-height: 1;        margin-bottom: 50px;        }    .h2_title01 .number {        position: absolute;        top: -15px;        left: -15px;        font-size: 2.25vw;        font-weight: 700;        }    .h2_title01 span:nth-child(2) {        display: block;        font-family: source-han-sans-japanese, sans-serif;        font-size: 2.825vw;        font-weight: 600;        margin-bottom: 0;        }    }/************************************************* @CONTENTS - NEWS----------------------------------------------- */#top_news { position: relative; padding-top: 75px;}#top_news .triangle01{	position: absolute;	top: 75px !important;	left: 0;	content: "";	width: 70%;	height: 42.5%;	background-color: #e40580;	/*border-bottom: 550px solid transparent;	border-left: 325px solid #e40580;*/	z-index: -1;    }#top_news .triangle02{    position: absolute;    top: 0;    right: 0;    content: "";    border-top: 1025px solid transparent;    border-right: 125px solid #e40580;    z-index: -1;    }#top_news .section_inner {    display: flex;    flex-wrap: wrap;    justify-content: space-between;    padding-top: 75px;    }#top_news .news {    margin-bottom: 100px;    }.news_h2title { color: #ffffff;}.tabs .tab_item {	display: block;	font-family: source-han-sans-japanese, sans-serif;	font-size: 1.125vw;	font-weight: 500;	float: left;	width: 17.5%;	height: 25px;	line-height: 25px;	transition: all 0.2s ease;	margin-bottom: 25px;	padding-left: 10px;}.tab_item:hover { opacity: 0.75;}/*ラジオボタンを全て消す*/input[name="tab_item"] { display: none;}.tab_content {    display: none;    overflow: hidden;    clear: both;    }/*選択されているタブのコンテンツのみを表示*/#all:checked ~ #all_content,#news:checked ~ #news_content,#event:checked ~ #event_content,#other:checked ~ #other_content { display: block;}/*選択されているタブのスタイルを変える*/.tabs input:checked + .tab_item { position: relative;}.tabs input:checked + .tab_item::before {    position: absolute;    top: 46%;    left: 0;    content: "";    width: 5px;    height: 5px;    border-radius: 50%;    animation: blink 0.85s infinite alternate;    }@keyframes blink {    0%{ background: #e40580; opacity: 0;}    25%{ background: #e40580; opacity: 0.25;}    100%{ background: #e40580; opacity: 1;}    }.news_list_wrap {    position: relative;    width: 72.9729729%;    }.news_list_wrap::before {    position: absolute;    top: -10%;;    left: -10%;    content: "";    width: 100%;    height: 105%;    background-color: #ffffff;    z-index: -1;    }.news_list_wrap .news_list {    border-bottom: 1px solid #dadbe6;    margin-bottom: 25px;    }.news_list_wrap .news_list a {    position: relative;    display: flex;    justify-content: flex-start;    align-items: center;    padding: 0 0 25px;    }.news_list_wrap .news_list a::before {    position: absolute;    top: 45%;    right: 2.5%;    content: "";    border-top: solid 1px #e40580;    border-right: solid 1px #e40580;    width: 8px;    height: 8px;    transform: rotate(45deg);    }.news_list_wrap .news_list a img {    display: block;    max-width: 100px;    margin-right: 3.70370370%;    border-radius: 0.25em;    }.news_list_wrap .news_list a .news_content {	font-family: source-han-sans-japanese, sans-serif;	font-size: 0.975vw;	line-height: 1;}.news_list_wrap .news_list a .news_content .news_list_date { margin-bottom: 15px;}.news_list_wrap .news_list a .news_content .news_list_date time {	font-size: 1.125vw;	font-weight: 500;	color: #e40580;	margin-right: 2px;}.news_list_wrap .news_list a .news_content .news_list_date .cate {	font-size: 0.925vw;	font-weight: 600;	color: #ffffff;	background-color: #e40580;	padding: 0 6px 2px;	border-radius: 2px;}.news_list_wrap .news_list a .news_content .news_list_title { 	font-size: 0.9rem;	font-weight: 500;}.section_inner.open-campus {	display: flex;	flex-wrap: wrap;	justify-content: space-between;	margin-bottom: 150px;}.title_wrap {	min-width: 280px;	width: 21.97297%;}.more_btn {	width: 100%;	text-align: right;}.more_btn a {	display: inline-block;	position: relative;	font-size: 0.875rem;	font-weight: 600;	padding: 25px 60px 25px 0;}.more_btn a::before {	position: absolute;	top: 20%;	right: 0;	content: "";	width: 50px;	height: 50px;	border-radius: 200%;	background-color: #e40580;}.more_btn a::after {    position: absolute;    top: 40%;    right: 17px;    content: "";    width: 15px;    height: 15px;    border-radius: 100%;    background:url("../images/other/icon_arrow.svg") center no-repeat;    }@media screen and (max-width: 768px) {        #top_news { position: relative;}    #top_news .triangle01{        position: absolute;        top: 0;        left: 0;        content: "";        width: 100%;        height: 27.5%;        background-color: #e40580;        z-index: -1;        }    #top_news .triangle02{        position: absolute;        top: 0;        right: 0;        content: "";        border-top: 1025px solid transparent;        border-right: 125px solid #e40580;        z-index: -1;        }    #top_news .section_inner {        display: flex;        flex-wrap: wrap;        justify-content: space-between;        padding-top: 25px;        }    #top_news .news { margin-bottom: 50px;}    .news_h2title {        width: 100%;        color: #ffffff;        }    .tabs .tab_item {        float: left;        width: 25%;        height: 25px;        line-height: 25px;        display: block;        font-family: source-han-sans-japanese, sans-serif;        font-size: 3.25vw;        font-weight: 500;        transition: all 0.2s ease;        margin-bottom: 25px;        padding-left: 10px;        }    .tab_item:hover { opacity: 0.75;}/*ラジオボタンを全て消す*/input[name="tab_item"] { display: none;}.tab_content {    display: none;    overflow: hidden;    clear: both;    }/*選択されているタブのコンテンツのみを表示*/#all:checked ~ #all_content,#news:checked ~ #news_content,#event:checked ~ #event_content,#other:checked ~ #other_content { display: block;}/*選択されているタブのスタイルを変える*/.tabs input:checked + .tab_item { position: relative;}.tabs input:checked + .tab_item::before {    position: absolute;    top: 46%;    left: 0;    content: "";    width: 5px;    height: 5px;    border-radius: 50%;    animation: blink 0.85s infinite alternate;    }    .news_list_wrap {        position: relative;        width: 92.5%;        margin: auto;        }    .news_list_wrap::before {        position: absolute;        top: -5%;        left: -3.525%;        content: "";        width: 107.5%;        height: 105%;        background-color: #ffffff;        z-index: -1;        }.news_list_wrap .news_list {    border-bottom: 1px solid #dadbe6;    margin-bottom: 25px;    }.news_list_wrap .news_list a {    position: relative;    display: flex;    justify-content: flex-start;    align-items: center;    padding: 0 0 25px;    }.news_list_wrap .news_list a::before {    position: absolute;    top: 45%;    right: 2.5%;    content: "";    border-top: solid 1px #e40580;    border-right: solid 1px #e40580;    width: 8px;    height: 8px;    transform: rotate(45deg);    }    .news_list_wrap .news_list a img {        display: block;        max-width: 75px;        margin-right: 3.70370370%;        border-radius: 0.25em;        }    .news_list_wrap .news_list a .news_content {        font-family: source-han-sans-japanese, sans-serif;        font-size: 2.75vw;        line-height: 1;        }    .news_list_wrap .news_list a .news_content .news_list_date { margin-bottom: 15px;}    .news_list_wrap .news_list a .news_content .news_list_date time {        font-size: 3.75vw;        font-weight: 500;        color: #e40580;        }    .news_list_wrap .news_list a .news_content .news_list_date .cate {        font-size: 3.25vw;        font-weight: 600;        color: #ffffff;        background-color: #e40580;        padding: 1px 6px 2px;        border-radius: 0.25em;        }    .news_list_wrap .news_list a .news_content .news_list_title {        font-size: 3.5vw;        font-weight: 500;        line-height: 1.4;        width: 89.5%;        }    .section_inner.open-campus {        display: flex;        flex-wrap: wrap;        justify-content: space-between;        margin-bottom: 55px;        }    .title_wrap {        min-width: 280px;        width: 100%;        }    .more_btn {        width: 100%;        text-align: right;        }    .more_btn a {        display: inline-block;        position: relative;        font-size: 3.75vw;        font-weight: 600;        padding: 25px 60px 25px 0;        }    .more_btn a::before {        position: absolute;        top: 20%;        right: 0;        content: "";        width: 50px;        height: 50px;        border-radius: 200%;        background-color: #e40580;        }    .more_btn a::after {        position: absolute;        top: 42.5%;        right: 17px;        content: "";        width: 15px;        height: 15px;        border-radius: 100%;        background:url("../images/other/icon_arrow.svg") center no-repeat;        }    }/************************************************* @CONTENTS - OPEN CAMPUS----------------------------------------------- */.open-campus .title_wrap {	min-width: 260px;	width: 21.97297%;}.open-campus .title_wrap .h2_title01 { margin-bottom: 20px;}.open-campus .title_wrap .text {	font-family: source-han-sans-japanese, sans-serif;	font-size: 0.8rem; 	font-weight: 500;	margin-bottom: 25px;}.open-campus .title_wrap .text:nth-child(2) { font-size: 0.9rem; font-weight: 600;}.open-campus .title_wrap .text:nth-child(4) { margin-bottom: 50px;}.open-campus .title_wrap .link_text a {	display: block;	font-size: 0.875rem;	font-weight: 600;	letter-spacing: 0.025em;}.open-campus .title_wrap .link_text a span { 	position: relative;	padding-right: 60px;}.open-campus .title_wrap .link_text a span::before {	position: absolute;	top: -65%;	right: 0;	content: "";	width: 50px;	height: 50px;	border-radius: 200%;	background-color: #e40580;}.open-campus .title_wrap .link_text a span::after {	position: absolute;	top: 20%;	right: 17px;	content: "";	width: 15px;	height: 15px;	border-radius: 100%;	background:url("../images/other/icon_arrow.svg") center no-repeat;}.op_list_wrap {width: 71.5485%;}.op_list_wrap.swiper-container { 	margin-right: 0;	overflow: visible;	}.op_list_wrap .op_list {	display: flex;	justify-content: space-between;	width: 100%;	margin-bottom: 45px;}.op_list_wrap .op_list:last-child { margin-bottom: 0;}.op_list_inner {	position: relative;	width: 30%;	max-width: 300px;	/*border-bottom: 1px solid #e2e2e2;*/	box-sizing: border-box;}/*.op_list_inner::before {    position: absolute;    left: 0;    bottom: 0;    z-index: 5;    content: "";    width: 1px;    height: 60%;    background-color: #e2e2e2;    }.op_list_inner::after {    position: absolute;    right: 0;    bottom: 0;    content: "";    width: 1px;    height: 60%;    background-color: #e2e2e2;    }*/.op_list_inner a {	position: relative;	display: block;	padding: 0 15px;	/*background-color: #ffffff;*/}.op_list_inner a .op-thumb {	position: relative;	display: block;	z-index: 10;	width: calc(100% + 30px);	margin: 0 -15px;	border-radius: 0.25em;}.op_list_inner a .op_date_box {	position: relative;	top: -20px;	left: 0;	right: 0;	z-index: 10;	margin: auto;	color: #ffffff;	text-align: center;	width: 100%;	background-color: #e40580;}.op_list_inner a .op_date_box {	padding: 10px 0 15px;	line-height: 1;	border-radius: 0.25em;}.op_list_inner a .op_date_box .title { margin-bottom: 12px;}.op_list_inner a .op_date_box .title span {	position: relative;	display: inline-block;	font-size: 0.825rem;	font-weight: 900;	letter-spacing: 0.025vw;	padding: 0 5px;}.op_list_inner a .op_date_box .title span::before { 	position: absolute;	top: 55%;	left: -5px;	z-index: 10;	content: "";	height: 2px;	width: 6px;	background-color: #ffffff;}.op_list_inner a .op_date_box .title span::after { 	position: absolute;	top: 55%;	right: -5px;	z-index: 10;	content: "";	height: 2px;	width: 6px;	background-color: #ffffff;}.op_list_inner a .op_date_box time {	display: block;	font-size: 0.9rem;	font-weight: 900;	margin-bottom: 7px;}.op_list_inner a .op_date_box .start {	display: block;	font-size: 0.95rem;	font-weight: 900;}.op_list_inner a dl { margin-bottom: 10px;}.op_list_inner a dl dt {	font-family: source-han-sans-japanese, sans-serif;	font-size: 0.95rem;	font-weight: 600;	text-align: center; 	line-height: 1.25;	margin-bottom: 10px;}.op_list_inner a dl dt span {	display: inline-block;	border-bottom: 1px solid #625f60;}.op_list_inner a dl dd {	font-family: source-han-sans-japanese, sans-serif;	font-size: 0.8rem;	font-weight: 500;	/*text-align: center;*/	line-height: 1.45;}.op_list_inner a .more-text {	font-size: 0.825rem;	font-weight: 700;	text-align: right;	letter-spacing: 0.025vw;}.op_list_inner a .more-text span {	position: relative;	display: inline-block;}.op_list_inner a .more-text span::before {	position: absolute;	top: 53.5%;	left: -35px;	content: "";	width: 30px;	height: 2px;	background-color: #e40580;;}.loop_photo_wrap {	position: relative;	display: flex;	flex-flow: row nowrap;	width: 100vw;	overflow: hidden;	margin-bottom: 200px;}.loop_photo_wrap ul {	display: flex;	flex-flow: row nowrap;	width: 100%;	margin: 0;	padding: 0;}.loop_photo_wrap li {	display: inline-block;	width: calc(100vw / 2);	min-width: 150px;	margin: 0 20px 0 0;	list-style: none;	text-align: center;}.loop_photo_wrap li a { display: block;}.loop_photo_wrap li img {	display: block;	width: 100%;	height: auto;	border-radius: 0.5em;}.loop_photo_wrap li a:hover { opacity: .7;}.loop_photo_wrap ul:first-child {	animation: loopPhoto1 50s -25s linear infinite;	backface-visibility: hidden;	will-change: transform;}.loop_photo_wrap ul + ul { animation: loopPhoto2 50s linear infinite;}.loop_photo_wrap:hover ul { animation-play-state: paused;}@-webkit-keyframes loopPhoto1 {    0% { transform: translateX(100%);}    to { transform: translateX(-100%);}}@keyframes loopPhoto1 {    0% { transform: translateX(100%);}    to { transform: translateX(-100%);}}@-webkit-keyframes loopPhoto2 {    0% { transform: translateX(0);}    to { transform: translateX(-200%);}}@keyframes loopPhoto2 {    0% { transform: translateX(0);}    to { transform: translateX(-200%);}}@media screen and (max-width: 768px) {		.open-campus .title_wrap { width: 100%;}	.open-campus .title_wrap .h2_title01 { margin-bottom: 20px;}		.open-campus .title_wrap .text {		font-family: source-han-sans-japanese, sans-serif;		font-weight: 500;		line-height: 1.4;		margin-bottom: 0;	}	.open-campus .title_wrap .text:nth-child(2) { margin-bottom: 15px;}	.open-campus .title_wrap .text:nth-child(3) { display: inline-block; line-height: 1.6;}	.open-campus .title_wrap .text:nth-child(4) { display: inline-block; line-height: 1.6; margin-bottom: 25px;}		.open-campus .link_text { margin-left: auto;}	.open-campus .link_text a {		display: block;		font-size: 3.5vw;		font-weight: 600;		letter-spacing: 0.015em;	}	.open-campus .link_text a span { 		position: relative;		padding-right: 55px;	}	.open-campus .link_text a span::before {		position: absolute;		top: -52.5%;		right: 0;		content: "";		width: 44px;		height: 44px;		border-radius: 200%;		background-color: #e40580;	}	.open-campus .link_text a span::after {		position: absolute;		top: 17.5%;		right: 14px;		content: "";		width: 15px;		height: 15px;		border-radius: 100%;		background:url("../images/other/icon_arrow.svg") center no-repeat;	}		.op_list_wrap {		position: relative;		width: 100vw;		overflow: hidden;		margin: 0 calc(50% - 50vw) 15px;		padding-bottom: 25px !important;	}	.op_list_wrap .op_list {		display: flex;		justify-content: flex-start;		width: 100%;		margin-bottom: 0;	}	.op_list_wrap .op_list:last-child { margin-bottom: 0;}	.op_list_inner {		position: relative;		width: 90%;		max-width: 450px;		margin: 0 auto;		/*border-bottom: 1px solid #e2e2e2;*/		box-sizing: border-box;	}/*.op_list_inner::before {    position: absolute;    left: 0;    bottom: 0;    z-index: 5;    content: "";    width: 1px;    height: 60%;    background-color: #e2e2e2;    }.op_list_inner::after {    position: absolute;    right: 0;    bottom: 0;    content: "";    width: 1px;    height: 60%;    background-color: #e2e2e2;    }*/		.op_list_inner a {		position: relative;		display: block;		padding: 0 15px;		/*background-color: #ffffff;*/	}	.op_list_inner a .op-thumb {		display: block;		position: relative;		z-index: 10;		width: 90%;		margin: 0 auto;		border-radius: 0.25em;	}	.op_list_inner a .op_date_box {		position: relative;		top: -20px;		left: 0;		right: 0;		z-index: 10;		margin: auto;		color: #ffffff;		text-align: center;		width: 87.5%;		background-color: #e40580;	}	.op_list_inner a .op_date_box {		padding: 10px 0 15px;		line-height: 1;		width: 80%;		border-radius: 0.25em;	}	.op_list_inner a .op_date_box .title { margin-bottom: 10px;}	.op_list_inner a .op_date_box .title span {		position: relative;		display: inline-block;		font-family: sofia-pro, sans-serif;		font-weight: 700;		padding: 0 5px;	}	.op_list_inner a .op_date_box .title span::before { 		position: absolute;		top: 54.5%;		left: -5px;		z-index: 10;		content: "";		height: 1px;		width: 7px;		background-color: #ffffff;	}	.op_list_inner a .op_date_box .title span::after {		position: absolute;		top: 54.5%;		right: -5px;		z-index: 10;		content: "";		height: 1px;		width: 7px;		background-color: #ffffff;	}	.op_list_inner a .op_date_box time {		display: block;		font-size: 4.5vw;		font-weight: 600;		margin-bottom: 5px;	}	.op_list_inner a .op_date_box .strat {		display: block;		font-size: 1.85vw;		font-weight: 700;	}		.op_list_inner a dl {		width: 90%;		margin-left: auto;		margin-right: auto;		margin-bottom: 25px;	}	.op_list_inner a dl dt {		font-family: source-han-sans-japanese, sans-serif;		font-size: 3.5vw;		font-weight: 600;		text-align: center; 		line-height: 1.25;		margin-bottom: 10px;	}	.op_list_inner a dl dt span {		display: inline-block;		border-bottom: 1px solid #625f60;	}	.op_list_inner a dl dd {		font-family: source-han-sans-japanese, sans-serif;		font-weight: 500;		/*text-align: center;*/		line-height: 1.45;	}	.op_list_inner a .more-text { text-align: right;}	.op_list_inner a .more-text span {		position: relative;		display: inline-block;	}	.op_list_inner a .more-text span::before {		position: absolute;		top: 54.5%;		left: -35px;		content: "";		width: 30px;		height: 1px;		background-color: #e40580;    }        .swiper-container.slider {        position: relative;        overflow: visible;        }        .swiper-button-prev,    .swiper-button-next {        position: absolute;        top: 29.5% !important;        width: 40px !important;        height: 40px !important;        margin-top: -25px !important;        z-index: 10;        cursor: pointer;        background-size: 40px !important;        background-position: center;        background-repeat: no-repeat;        }    .swiper-button-next {        background-image:url("../images/other/icon_arrow_next.svg") !important;        background-repeat: no-repeat !important;        right: 10px !important;        left: auto !important;        }    .swiper-button-prev {        background-image:url("../images/other/icon_arrow_prev.svg") !important;        background-repeat: no-repeat !important;        left: 10px !important;        right: auto !important;        }    .swiper-pagination-bullet-active {        opacity: 1;        background: #e40580 !important;        }    .loop_photo_wrap {        position: relative;        display: flex;        flex-flow: row nowrap;        width: 100vw;        overflow: hidden;        margin-bottom: 75px;        }    .loop_photo_wrap ul {        display: flex;        flex-flow: row nowrap;        width: 100%;        margin: 0;        padding: 0;        }    .loop_photo_wrap li {        display: inline-block;        width: calc(100vw / 2);        min-width: 182px;        margin: 0 5px 0 0;        list-style: none;        text-align: center;        }    .loop_photo_wrap li a { display: block;}    .loop_photo_wrap li img {        display: block;        width: 100%;        height: auto;        border-radius: 0.5em;        }    .loop_photo_wrap li a:hover { opacity: .7;}    .loop_photo_wrap ul:first-child {        animation: loopPhoto1 50s -25s linear infinite;        backface-visibility: hidden;        will-change: transform;        }    .loop_photo_wrap ul + ul { animation: loopPhoto2 50s linear infinite;}    .loop_photo_wrap:hover ul { animation-play-state: paused;}}/************************************************* @CONTENTS - FEATURES----------------------------------------------- */#top_features { position: relative;}#top_features::before {	position: absolute;	right: 0;	content: "";	width: 66.666666%;	height: 65%;	background-color: #e40580;	z-index: -2;}#top_features::after {	position: absolute;	top: 5.25%;	left: 0;	content: "";	width: 97.5%;	height: 65%;	background-color: #ffffff;	z-index: -1;}#top_features .head_text {	font-family: source-han-sans-japanese, sans-serif;	font-size: 1.125rem;	font-weight: 500;	color: #e40580;	letter-spacing: 0.125vw;	margin-bottom: 25px;}#top_features .bg_text {    position: absolute;    top: -5.5vw;    right: 0;    z-index: -5;    }#top_features .bg_text span {    display: block;    font-size: 18.75vw;    color: #f3eef5;    line-height: 1;    letter-spacing: 1.5rem;    }#top_features .features_box_wrap {    display: flex;    flex-wrap: wrap;    justify-content: space-between;    padding-bottom: 75px;    }#top_features .features_box_wrap .features_box {    position: relative;    width: 28.378378%;    max-width: 420px;    }#top_features .features_box_wrap .features_box .features_number {	position: absolute;	color: #fff;	line-height: 1;	writing-mode: vertical-rl;	z-index: 2;	padding: 7px 7px 7px 11px;	background-color: #e40580;	border-top-left-radius: 0.5em;	border-bottom-right-radius: 0.5em;}#top_features .features_box_wrap .features_box .features_number span {	font-size: 0.8rem;	font-weight: 600;}#top_features .features_box_wrap .features_box:nth-child(1),#top_features .features_box_wrap .features_box:nth-child(2),#top_features .features_box_wrap .features_box:nth-child(3){ margin-bottom: 50px;}#top_features .features_box_wrap .features_box figure { margin-bottom: 15px;}#top_features .features_box_wrap .features_box figure img { border-radius: 0.5em;}#top_features .features_box_wrap .features_box dl dt {	position: relative;	display: inline-block;	font-family: source-han-sans-japanese, sans-serif;	font-size: 0.975rem;	font-weight: 600;	line-height: 1;	letter-spacing: 0.05rem;	padding-bottom: 7px;	margin-bottom: 15px;}#top_features .features_box_wrap .features_box dl dt::before {	position: absolute;	bottom: 0;	left: 0;	content: "";	height: 1px;	width: 100%;	background-color: #e40580;}#top_features .features_box_wrap .features_box dl dd {	font-family: source-han-sans-japanese, sans-serif;	font-size: 0.8rem;	font-weight: 500;	line-height: 1.75;	letter-spacing: 0.05rem;}@media screen and (max-width: 768px) {        #top_features { position: relative;}    #top_features::before {        position: absolute;        top: 2.5%;        right: 0;        content: "";        width: 86.5555%;        height: 65%;        background-color: #e40580;        z-index: -2;        }    #top_features::after {        position: absolute;        top: 4%;        left: 0;        content: "";        width: 100%;        height: 65%;        background-color: #ffffff;        z-index: -1;        }    #top_features .head_text {        position: absolute;        top: 0.225%;;        right: 15%;        font-family: source-han-sans-japanese, sans-serif;        font-size: 3.25vw;        font-weight: 500;        color: #e40580;        letter-spacing: 0.025em;        margin-bottom: 20px;        }    #top_features .bg_text {        position: absolute;        top: 215px;        right: 0;        z-index: -5;        }    #top_features .bg_text span {        display: block;        font-size: 19.75vw;        color: #f3eef5;        line-height: 1;        letter-spacing: 0.05em;        }    #top_features .features_box_wrap {        display: flex;        flex-wrap: wrap;        justify-content: space-between;        padding-top: 25px;        padding-bottom: 50px;        }    #top_features .features_box_wrap .features_box {        position: relative;        width: 100%;        max-width: 420px;        }    #top_features .features_box_wrap .features_box .features_number {        position: absolute;        left: 2.5%;        font-size: 3.25vw;        font-weight: 700;        color: #fff;        line-height: 1;        writing-mode: vertical-rl;        z-index: 2;        padding: 7px 7px 7px 11px;        background-color: #e40580;        border-top-left-radius: 0.25em;        border-bottom-right-radius: 0.25em;        }    #top_features .features_box_wrap .features_box:nth-child(1),    #top_features .features_box_wrap .features_box:nth-child(2),    #top_features .features_box_wrap .features_box:nth-child(3),    #top_features .features_box_wrap .features_box:nth-child(4),    #top_features .features_box_wrap .features_box:nth-child(5) { margin-bottom: 35px;}    #top_features .features_box_wrap .features_box figure {         margin-bottom: 10px;        margin-left: auto;        margin-right: auto;        width: 95%;        }    #top_features .features_box_wrap .features_box figure img { border-radius: 0.25em;}    #top_features .features_box_wrap .features_box dl { width: 95%; margin: auto;}    #top_features .features_box_wrap .features_box dl dt {        position: relative;        display: inline-block;        font-family: source-han-sans-japanese, sans-serif;        font-size: 4vw;        font-weight: 600;        line-height: 1;        letter-spacing: 0.025em;        padding-bottom: 6px;        margin-bottom: 10px;        }    #top_features .features_box_wrap .features_box dl dt::before {        position: absolute;        bottom: 0;        left: 0;        content: "";        height: 2px;        width: 100%;        background-color: #e40580;        }    #top_features .features_box_wrap .features_box dl dd {        font-family: source-han-sans-japanese, sans-serif;        font-size: 3.25vw;        font-weight: 400;        line-height: 1.65;        letter-spacing: 0.025em;        }}/************************************************* @CONTENTS - BANNER ----------------------------------------------- */#top_bnr_wrap {    border-bottom: 1px solid #e7eae9;    border-top: 1px solid #e7eae9;    padding: 50px 0;    }#top_bnr_wrap .section_inner {    display: flex;    flex-wrap: wrap;    justify-content: space-between;    }#top_bnr_wrap .section_inner a {    display: block;    width: 28.37837%;    max-width: 420px;    }@media screen and (max-width: 768px) {        #top_bnr_wrap {        border-bottom: 1px solid #e7eae9;        border-top: 1px solid #e7eae9;        padding: 50px 0;        }    #top_bnr_wrap .section_inner {        display: flex;        flex-wrap: wrap;        justify-content: space-between;        }    #top_bnr_wrap .section_inner a {        display: block;        width: 100%;        max-width: 420px;        margin-bottom: 25px;        }    #top_bnr_wrap .section_inner a:nth-child(3) {        margin-bottom: 0;        }}#next_op_wrap {     position: relative;    margin-bottom: 100px;    }#next_op_wrap .bg_photo {    position: absolute;    width: 55.5555555%;    max-width: 1000px;    z-index: -1;    }#next_op_wrap .bg_photo img {    border-top-right-radius: 0.5em;    border-bottom-right-radius: 0.5em;    }#next_op_wrap .section_inner {     position: relative;    padding-top: 25px;    }#next_op_wrap .section_inner h2 {    display: inline-block;    font-size: 1.35vw;    color: #e40580;    line-height: 1;    margin-bottom: 10px;    }#next_op_wrap .section_inner .next_op_inner { padding-left: 60.135135%;}#next_op_wrap .section_inner .next_op_inner .head_text {    font-family: source-han-sans-japanese, sans-serif;    font-size: 0.975vw;    font-weight: 500;    margin-bottom: 50px;    }.next_op_box {    position: relative;    border: 1px solid #e40580;    border-radius: 0.25em;    padding: 1.75vw 1.15vw;    }.next_op_box > p {    position: absolute;    top: -20px;    left: 15px;    display: inline-block;    font-size: 0.975vw;    color: #fff;    line-height: 1;    padding: 7px 15px 10px;    background-color: #e40580;    border-radius: 0.25em;    }.next_op_box .next_op_box_inner {    display: flex;    flex-wrap: wrap;    }.next_op_box .next_op_box_inner figure {    width: 37.28888%;    max-width: 220px;    margin-right: 4.2372%;    }.next_op_box .next_op_box_inner figure img { border-radius: 0.25em;}.next_op_content { width: 57.5555%;}.next_op_content .next_op_date span {    display: block;    color: #e40580;    line-height: 1;    }.next_op_content .next_op_date span:nth-child(1) {    font-size: 0.775vw;    margin-bottom: 7px;    }.next_op_content .next_op_date span:nth-child(2) {    font-size: 1.35vw;    margin-bottom: 5px;    }.next_op_content .next_op_date span:nth-child(3) {    font-size: 0.875vw;    margin-bottom: 10px;    }.next_op_content .next_op_title {    font-family: source-han-sans-japanese, sans-serif;    font-size: 1.025vw;    font-weight: 500;    }.next_op_content .next_op_text {    font-family: source-han-sans-japanese, sans-serif;    font-size: 0.8vw;    font-weight: 400;    line-height: 1.5;    }/************************************************* @CONTENTS - FOOTER CONTACT BOX ----------------------------------------------- */#contact_box_wrap {    position: relative;    display: flex;    border-bottom: 1px solid #e7eae9;    }#contact_box_wrap::before {    position: absolute;    left: 0;    right: 0;    margin: auto;    content: "";    width: 1px;    height: 100%;    background-color: #e7eae9;    }#contact_box_wrap > div {    width: 50%;    padding: 4.25% 0 9.25%;    text-align: center;    }#contact_box_wrap > div a {    position: relative;    display: block;    }#contact_box_wrap > div a::before {    position: absolute;    left: 0;    right: 0;    bottom: -75%;    margin: auto;    content: "";    width: 40px;    height: 40px;    border-radius: 50%;    background-color: #e40580;    }#contact_box_wrap > div a::after {    position: absolute;    left: 0;    right: 0;    bottom: -75%;    margin: auto;    content: "";    width: 40px;    height: 40px;    background: url("../images/curriculum/icon_arrow.svg") center no-repeat;    background-size: 14px;    }#contact_box_wrap > div a p:nth-child(1) {	font-size: 1.125rem;	font-weight: 600;	line-height: 1;	letter-spacing: 0.025rem;	margin-bottom: 25px;}#contact_box_wrap > div a p:nth-child(1) span {	display: block;	font-size: 0.675rem;	font-weight: 600;	letter-spacing: 0.025rem;	color: #e40580;	margin-top: 5px;}#contact_box_wrap > div a p:nth-child(2) {	font-size: 0.8rem;	font-weight: 400;	line-height:1.75;}@media screen and (max-width: 768px) {		#contact_box_wrap {		position: relative;		display: flex;		flex-wrap: wrap;		border-bottom: 1px solid #e7eae9;	}	#contact_box_wrap::before {		position: absolute;		top: 0;		bottom: 0;		left: 0;		right: 0;		content: "";		margin: auto;		width: 100%;		height: 1px;		background-color: #e7eae9;	}	#contact_box_wrap > div {		width: 70%;		padding: 7.25% 0 19.25%;		text-align: center;		margin: auto;	}	#contact_box_wrap > div a {		position: relative;		display: block;	}	#contact_box_wrap > div a::before {		position: absolute;		left: 0;		right: 0;		bottom: -55%;		margin: auto;		content: "";		width: 40px;		height: 40px;		border-radius: 50%;		background-color: #e40580;	}	#contact_box_wrap > div a::after {		position: absolute;		left: 0;		right: 0;		bottom: -55%;		margin: auto;		content: "";		width: 40px;		height: 40px;		background: url("../images/curriculum/icon_arrow.svg") center no-repeat;		background-size: 14px;	}		#contact_box_wrap > div a p:nth-child(1) {		font-size: 5vw;		font-weight: 500;		line-height: 1;		letter-spacing: 0.05em;		margin-bottom: 20px;	}	#contact_box_wrap > div a p:nth-child(1) span {		display: block;		font-size: 2.5vw;		letter-spacing: 0.025em;		color: #e40580;		margin-top: 5px;	}	#contact_box_wrap > div a p:nth-child(2) {		font-size: 3vw;		font-weight: 400;		line-height:1.75;	} }/************************************************* @CONTENTS - FOOTER BNNER ----------------------------------------------- */.bnr_wrap {	width: 100%;	background-color: #f6f0f0;}.bnr_wrap .section_inner {	display: flex;	justify-content: space-between;	width: 96.5%;	padding: 1.725vw 1.25%;	margin: 0 auto;}.bnr_slider .swiper-wrapper .swiper-slide {	width: 30%;	max-width: 320px;}.bnr_wrap .section_inner a {	position: relative;	display: block;	z-index: 2;}.bnr_wrap .section_inner a::before {	position: absolute;	z-index: -1;	bottom: -1px;	content: "";	width: 100%;	height: 100%;	background-color: #bdbcbc;	border-radius: 0.25em;}   .bnr_wrap .section_inner a img { border-radius: 0.25em;}@media screen and (max-width: 768px) {		.bnr_wrap {		position: relative;		background-color: #f6f0f0;	}	.bnr_wrap .section_inner {		display: flex;		justify-content: space-between;		padding: 4.75vw 0;		margin: 0 auto !important;		width: 100%;	}	.bnr_slider .swiper-wrapper .swiper-slide {		max-width: 700px;		width: 100%;		margin: auto;		padding: 0;	}	.bnr_wrap .section_inner a {		position: relative;		display: block;		max-width: 100%;		width: 75%;		z-index: 2;		margin: 0 auto;	}	.bnr_wrap .section_inner a::before {		position: absolute;		bottom: -1px;		z-index: -1;		content: "";		width: 100%;		height: 100%;		background-color: #bdbcbc;		border-radius: 0.25em;	}   	.bnr_wrap .section_inner a img { border-radius: 0.25em;}}/************************************************* @CONTENTS - FOOTER----------------------------------------------- */footer {}footer .footer_inner {	margin-left: 8.8888888%;	margin-right: 8.888888%;}footer .footer_inner {	display: flex;	flex-wrap: wrap;	flex-direction: row-reverse;	justify-content: space-between;	padding-top: 5.25vw;	padding-bottom: 1vw;}footer .footer_inner .foot_left {	width: 21.794594%;	max-width: 284px;}footer .footer_inner .foot_left .logo {	max-width: 284px;	margin-top: 3.75vw;	margin-bottom: 1.75vw;}footer .footer_inner .foot_left .footer_sns_list li:nth-child(1) { border-top: 1px solid #e7eae9;}footer .footer_inner .foot_left .footer_sns_list li { border-bottom: 1px solid #e7eae9;}footer .footer_inner .foot_left .footer_sns_list li a {	display: block;	font-size: 0.825rem;	line-height: 24px;	padding: 15px 0;}footer .footer_inner .foot_left .footer_sns_list span:nth-child(1) {	display: inline-block;	width: 1.75vw;	height: 24px;	margin-right: 5px;}footer .footer_inner .foot_left .footer_sns_list span img { width: 1.5vw;}footer .footer_inner .foot_right {	position: relative;	display: flex;	flex-wrap: wrap;	justify-content: space-between;	padding-top: 75px;	padding-bottom: 50px;	padding-left: 3.5%;	width: 57.5%;}footer .footer_inner .foot_right::before {	position: absolute;	top: 0;	left: 0;	content: "";	width: 1px;	height: 100%;	background-color: #e7eae9;}footer .footer_inner .foot_right ul { width: 29.5%;}footer .footer_inner .foot_right ul li { line-height: 1; margin-bottom: 25px;}footer .footer_inner .foot_right ul li .indent { padding-left: 2.5%;}footer .footer_inner .foot_right ul li span.main { display: block; margin-bottom: 15px;}footer .footer_inner .foot_right ul li span.main a {	position: relative;	font-size: 0.875rem;	font-weight: 600;	text-decoration: underline;	}footer .footer_inner .foot_right ul li span.sub { display: block; margin-bottom: 10px;}footer .footer_inner .foot_right ul li span.sub a {	position: relative;	display: block;	font-family: source-han-sans-japanese, sans-serif;	font-weight: 500;	font-size: 0.825rem;	padding-left: 10px;}footer .footer_inner .foot_right ul li span.sub a::before {	position: absolute;	top: 50%;	left: 0;	content: "";	height: 2px;	width: 5px;	background-color: #625f60;}footer .address {	position: relative;	margin-left: 8.8888888%;	margin-right: 8.888888%;	padding-top: 2.5vw;	padding-bottom: 5.5vw;}footer .address p {	font-family: source-han-sans-japanese, sans-serif;	font-size: 0.75rem;	font-weight: 500;	line-height: 1.6;}footer .address .ft_copyright {	position: absolute;	right: 0;	bottom: 2.5vw;	font-size: 0.625rem;}@media screen and (max-width: 768px) {		footer { padding-bottom: 20vw;}	footer .footer_inner {		margin-left: 7.7777777%;		margin-right: 7.7777777%;	}	footer .footer_inner {		display: flex;		flex-wrap: wrap;		flex-direction: row-reverse;		justify-content: space-between;		padding-top: 5.25vw;		padding-bottom: 1vw;	}	footer .footer_inner .foot_left {		width: 100%;		max-width: 767px;	}	footer .footer_inner .foot_left .logo {		max-width: 82.5%;		margin-top: 4.25vw;		margin-bottom: 5.25vw;		margin-right: auto;		margin-left: auto;	}	footer .footer_inner .foot_left .footer_sns_list li:nth-child(1) { border-top: 1px solid #e7eae9;}	footer .footer_inner .foot_left .footer_sns_list li { border-bottom: 1px solid #e7eae9;}		footer .footer_inner .foot_left .footer_sns_list li p a {		display: block;		padding: 15px 0;	}	footer .footer_inner .foot_left .footer_sns_list li a { font-size: 3.75vw;}	footer .footer_inner .foot_left .footer_sns_list span:nth-child(1) {		display: inline-block;		width: 7.25vw;		height: 24px;		margin-right: 5px;	}	footer .footer_inner .foot_left .footer_sns_list span img { width: 5.75vw;}		footer .footer_inner .foot_right {		position: relative;		display: flex;		flex-wrap: wrap;		justify-content: space-between;		padding-top: 25px;		padding-bottom: 0;		padding-left: 0;		width: 100%;	}	footer .footer_inner .foot_right::before {		position: absolute;		top: 0;		left: 0;		content: "";		width: 0%;		height: 100%;		background-color: #fff;	}	footer .footer_inner .foot_right ul { width: 100%;}	footer .footer_inner .foot_right ul li { 		margin-bottom: 5px;		padding-bottom: 1.75vw;		border-bottom: 1px solid #d8dad9;	}	footer .footer_inner .foot_right ul li span.main {		position: relative;		font-family: source-han-sans-japanese, sans-serif;		font-size: 2.75vw;		font-weight: 500;		padding-left: 10px;		margin-bottom: 0;	}	footer .footer_inner .foot_right ul li span.main::before {		position: absolute;		top: 50%;		left: 0;		content: "";		height: 2px;		width: 5px;		background-color: #625f60;	}	footer .footer_inner .foot_right ul li span.main a { text-decoration: none;}	footer .footer_inner .foot_right ul li .indent { padding-left: 7.5%;}	footer .footer_inner .foot_right ul li a {		position: relative;		display: block;		font-family: source-han-sans-japanese, sans-serif;		font-size: 3.25vw;		font-weight: 500;		line-height: 1;		padding-top: 2.75vw;		padding-bottom: 3.25vw;		padding-left: 0;	}	footer .footer_inner .foot_right ul li a::before {		position: absolute;		top: 50%;		left: 0;		content: "";		height: 0;		width: 0;		background-color: #625f60;	}	footer .footer_inner .foot_right ul li span.sub { 		display: block;		line-height: 1.8;		margin-bottom: 0;	}	footer .footer_inner .foot_right ul li span.sub a {		position: relative;		display: block;		font-family: source-han-sans-japanese, sans-serif;		font-weight: 500;		font-size: 0.825rem;		padding-left: 10px;		padding-top: 1.5vw;		padding-bottom: 2vw;	}	footer .footer_inner .foot_right ul li span.sub a::before {		position: absolute;		top: 50%;		left: 0;		content: "";		height: 2px;		width: 5px;		background-color: #625f60;	}	footer .address {		position: relative;		margin-left: 7.7777777%;		margin-right: 7.7777777%;		padding-top: 5.5vw;		padding-bottom: 9.5vw;	}	footer .address p {		font-family: source-han-sans-japanese, sans-serif;		font-size: 3.5vw;		line-height: 1.65;	}	footer .address .ft_copyright {		position: absolute;		right: 0;		bottom: 0;		font-size: 1.5vw;	}        #ac_menu .main {        position: relative;        display: block;        cursor: pointer;        background: url("../images/other/i_swich.png") 50% no-repeat;        background-size: 3.95%;        background-position: right 17px;        padding: 4.5vw 0 4.95vw 10px;        line-height: 1;	    }    #ac_menu .sub { display: none;}    #ac_menu .main.f_active{	    background: url("../images/other/images/i_swich.png") 354px 18px no-repeat;	    }}.hidden {    position: absolute;    overflow: hidden;    width: 0;    height: 0;    pointer-events: none;    }.content {	position: relative;	display: flex;	justify-content: center;	align-items: center;	margin: 0 auto;	min-height: 100vh;}.content--fixed {	position: fixed;	z-index: 10000;	top: 0;	left: 0;	display: grid;	align-content: space-between;	width: 100%;	max-width: none;	min-height: 0;	height: 100vh;	padding: 1.5em;	pointer-events: none;	grid-template-columns: calc(100% - 4rem) 4rem;	grid-template-rows: auto auto 4em;	grid-template-areas: 'header header'	'... ...'	'demos github';}.content--top .demos {	align-self: center;}.demo {	margin: 0 0 0 1em;}.demo:hover,.demo:focus {	opacity: 0.5;}.demo span {	white-space: nowrap;	pointer-events: none;}a.demo--current {	pointer-events: none;	color: var(--color-link-hover);}/* Top Navigation Style */.codrops-links {	position: relative;	display: flex;	justify-content: center;	margin: 0 1em 0 0;	text-align: center;	white-space: nowrap;}.codrops-icon {	display: inline-block;	margin: 0.15em;	padding: 0.25em;}@media screen and (max-width: 55em) {	.message {		display: block;	}	.content {		flex-direction: column;		height: auto;		min-height: 0;	}	.content--fixed {		position: relative;		z-index: 1000;		display: block;		padding: 0.85em;	}	.codrops-header {		flex-direction: column;		align-items: center;		align-self: center;	}	.codrops-header__title {		font-weight: bold;		padding-bottom: 0.25em;		text-align: center;	}	.github {		display: block;		margin: 1em auto;	}	.content--top .github {	    margin: 1em 0;	}	.codrops-links {		margin: 0;	}	.demos {		text-align: center;	}	.demo {		margin: 0 0.5em;	}}