@charset "utf-8";
/* CSS Document */
/*====================================
Reset
====================================*/
html{
	width: 100%;
	font-size: 2.41546vw; /* 画面幅414pxの時1rem=10px */
	font-weight: 400;
}
body{
	min-width: 320px;
	line-height: 1;
	color: #4A4A4A;
	position: relative;
	overflow-x: hidden;
	font-family: 'Noto Sans JP',"メイリオ","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	overflow-wrap: break-word;
	word-wrap: break-word;
}
@media only screen and (min-width: 600px) {
	html{
		font-size: 0.625vw; /* 画面幅1600pxの時1rem=10px */
	}
}
@media print,screen and (min-width: 1600px) {
	html{
		font-size: 10px;
	}
}

img{
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
a{
	text-decoration: none;
	color:inherit;
}
svg{
	width: 100%;
	height: 100%;
}
a,
input, textarea, button, label, select,
.js--btn-hamburger, .js--btn-hamburger-close,
.slider-prev, .slider-next{
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	 outline: 0;
}
::selection {
	background: rgba(0, 160, 200, .15);
}

/*====================================
Common
====================================*/
.fw700{
	font-weight: 700;
}
.anchor{
	display: block;
	width: 0;
	height: 0;
	padding-top: 6rem;
	margin-top: -6rem;
}
.width--cmn,
.width--cmn2{
	margin-left: auto;
	margin-right: auto;
	width: 35.4rem;
}

@media only screen and (max-width: 599px) {
	.disp--pc{
		display: none !important;
	}
}

@media print,screen and (min-width: 600px) {
	.disp--sp{
		display: none !important;
	}
	.anchor{
		padding-top: 8rem;
		margin-top: -8rem;
	}
	.width--cmn{
		width: 140rem;
	}
	.width--cmn2{
		width: 130rem;
	}
}

/* アイコン
--------------------------------------*/
.icon--svg{
	display: block;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-position: center;
	mask-size: contain;
	-webkit-mask-size: contain;
	background: #4A4A4A;
	transition: background .3s ease;
}
.icon--arrow{
	mask-image: url(../img/common/icon-arrow.svg);
	-webkit-mask-image: url(../img/common/icon-arrow.svg);
	width: 2rem;
	height: 2rem;
}
.icon--arrow2{
	mask-image: url(../img/common/icon-arrow2.svg);
	-webkit-mask-image: url(../img/common/icon-arrow2.svg);
	width: 0.685rem;
	height: 0.685rem;
}
.icon--clock{
	mask-image: url(../img/common/icon-clock.svg);
	-webkit-mask-image: url(../img/common/icon-clock.svg);
	width: 1.15rem;
	height: 1.15rem;
	background-color: #A5A5A5;
}
.icon--download{
	mask-image: url(../img/common/icon-download.svg);
	-webkit-mask-image: url(../img/common/icon-download.svg);
	width: 2.4rem;
	height: 2.8rem;
}
.icon--mail{
	mask-image: url(../img/common/icon-mail.svg);
	-webkit-mask-image: url(../img/common/icon-mail.svg);
	width: 2.7rem;
	height: 2.1rem;
}
.icon--smartphone{
	mask-image: url(../img/common/icon-smartphone.svg);
	-webkit-mask-image: url(../img/common/icon-smartphone.svg);
	width: 2rem;
	height: 3.2rem;
}
.icon--loupe{
	mask-image: url(../img/common/icon-loupe.svg);
	-webkit-mask-image: url(../img/common/icon-loupe.svg);
	width: 1.9rem;
	height: 1.9rem;
}

/* ホバー
--------------------------------------*/
.hover--c-white,
.hover--c-blue{
	transition: color .3s ease;
}
.hover--bg-white,
.hover--bg-gray,
.hover--bg--lightgray2,
.hover--bg-blue{
	transition: background .3s ease, color .3s ease;
}
.hover--underline{
	background-position: right bottom;
	background-size: 0 100%;
	background-image: linear-gradient(to bottom, transparent calc(100% - 1px), currentColor 1px);
	background-repeat: no-repeat;
	transition: color .3s ease, background-size 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.hover--opacity,
.hover--img-opacity > img{
	transition: opacity .3s ease;
}
.hover--img-zoom{
	position: relative;
}
.hover--img-zoom > img{
	transition: transform .3s ease-in-out;
}

@media print,screen and (min-width: 600px) {
	a.hover--c-white:hover,
	a:hover .hover--c-white,
	.btn--form.hover--c-white:hover{
		color: #fff;
	}
	a.hover--c-blue:hover,
	a:hover .hover--c-blue{
		color: #00A0C8;
	}
	a.hover--bg-white:hover,
	a:hover .hover--bg-white,
	.btn--form:hover .hover--bg-white{
		background-color: #fff;
	}
	a.hover--bg-gray:hover,
	a:hover .hover--bg-gray,
	.btn--form.hover--bg-gray:hover{
		background-color: #4A4A4A;
	}
	a.hover--bg-lightgray2,
	a:hover .hover--bg-lightgray2{
		background-color: #E8E8E8;
	}
	a.hover--bg-blue:hover,
	a:hover .hover--bg-blue,
	.slider-prev.hover--bg-blue:hover,
	.slider-next.hover--bg-blue:hover,
	button.hover--bg-blue:hover{
		background-color: #00A0C8;
	}
	a.hover--underline:hover,
	a:hover .hover--underline{
		background-position: left bottom;
		background-size: 100% 100%;
	}
	a.hover--opacity:hover,
	a.hover--img-opacity:hover > img,
	a:hover .hover--img-opacity > img{
		opacity: 0.7;
	}
	a.hover--img-zoom:hover > img,
	a:hover .hover--img-zoom > img{
		transform: scale(1.1);
	}
}

/* 画像
--------------------------------------*/
.img--fit img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* IE */
.browser--ie .img--fit{
	position: relative;
	overflow: hidden;
}
.browser--ie .img--fit img{
	width: auto;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.img--posted{
	display: block;
	width: 100%;
	position: relative;
	height: 0;
	overflow: hidden;
	padding-bottom: 64.97%;
}
.img--posted > img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.img--dummy{
	border: 1px solid #E8E8E8;
	background-color: #fff;
	position: relative;
}
.img--dummy img{
	z-index: 2;
	width: 22.5rem;
	height: 9.7rem;
	top: calc((100% - 9.7rem) / 2);
	left: calc((100% - 22.5rem) / 2);
}

/* テキスト
--------------------------------------*/
div.txt--i,
p.txt--i,
ul.txt--i li{
	padding-left: 1em;
	text-indent: -1em;
}
.txt--u{
	text-decoration: underline;
}
.txt--center{
	text-align: center;
}

.c--white{
	color: #fff;
}
.c--gray{
	color: #4A4A4A;
}
.c--lightgray{
	color: #a5a5a5;
}
.c--blue{
	color: #00a0c8;
}

.txt--cmn{
	font-size: 1.5rem;
	line-height: 2;
}
.txt--cmn p:not(:last-child),
.txt--cmn ul:not(:last-child){
	margin-bottom: 1.73em;
}
.txt--cmn img{
	width: auto;
	height: auto;
	max-width: 100%;
}

@media print,screen and (min-width: 600px) {
	.txt--cmn{
		font-size: 1.7rem;
	}
}

.txt--line-clamp{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	max-height: 6em;
	overflow: hidden;
	transition: color .3s ease;
}
.txt--line-clamp .hover--underline{
	transition: background-size 1.5s cubic-bezier(0.19, 1, 0.22, 1);
}

@media print,screen and (min-width: 600px) {
	a.txt--u:hover,
	a:hover .txt--u{
		text-decoration: none;
	}
}

/* iframe処理
--------------------------------------*/
.gmap--wrap{
	position: relative;
	width: 100%;
	overflow: hidden;
	padding-top: 50rem;
}
.gmap--wrap iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 54rem;
}
.movie--wrap{
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
.movie--wrap iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.movie--wrap video{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* ボタン
--------------------------------------*/
.btn--cmn1{
	box-sizing: border-box;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 8rem;
	border: 2px solid #4A4A4A;
	font-size: 1.8rem;
	transition: background .3s ease, color .3s ease;
}
.btn--cmn1 .icon--arrow{
	position: absolute;
	pointer-events: none;
	width: 1.4rem;
	height: 1.4rem;
	right: 2rem;
	top: calc(50% - 0.7rem);
}
.btn--cmn1 .icon--loupe{
	position: absolute;
	pointer-events: none;
	width: 1.9rem;
	height: 1.9rem;
	right: 2rem;
	top: calc(50% - 0.95rem);
}
.btn--cmn1 .newtab-arrow{
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	width: 1.8rem;
	height: 1.8rem;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.btn--cmn2{
	width: 100%;
	height: 7rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.btn--cmn2:before{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	top: 0;
	left: 0;
	width: 50%;
	height: 100%;
	background-color: #575757;
	transition: width .3s ease;
}
.btn--cmn2 span{
	position: relative;
	z-index: 2;
}

.btn--cmn3-wrap{
	display: flex;
	justify-content: center;
}
.btn--cmn3{
	display: flex;
	align-items: center;
}
.btn--cmn3 .btn-icon{
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	border: 0.3rem solid #00A0C8;
	border-radius: 100%;
}
.btn--cmn3 .btn-icon-arrow{
	width: 1rem;
	height: 1rem;
}
.btn--cmn3 .btn-txt{
	font-size: 1.8rem;
	margin-left: 1rem;
	line-height: 1.2;
}

.link--newtab-arrow{
	position: relative;
	display: inline-block;
	padding-right: 2.8rem;
}
.link--newtab-arrow .newtab-txt{
	line-height: 1.1;
}
.link--newtab-arrow .newtab-arrow{
	position: absolute;
	right: 0;
	top: calc(50% - 0.9rem);
	width: 1.8rem;
	height: 1.8rem;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media print,screen and (min-width: 600px) {
	.btn--cmn1{
		width: 50rem;
		height: 10rem;
	}

	.btn--cmn2:hover:before{
		width: 100%;
	}
}

/* 背景
--------------------------------------*/
.bg--white{
	background-color: #fff;
}
.bg--gray{
	background-color: #4A4A4A;
}
.bg--lightgray{
	background-color: #F6F6F6;
}
.bg--lightgray2{
	background-color: #E8E8E8;
}
.bg--blue{
	background-color: #00A0C8;
}
.bg--lightblue{
	background-color: #F2FBFD;
}
.bg--cmn1{
	background: url(../img/common/bg-cmn1.jpg) no-repeat center top;
	background-size: 100% 100%;
}
.bg--cmn1-head{
	position: relative;
	overflow: hidden;
	height: 61rem;
}
.bg--cmn1-head:before,
.bg--cmn1-head:after{
	content: '';
	position: absolute;
	pointer-events: none;
	width: 0;
	height: 0;
	border-style: solid;
	opacity: 0.15;
}
.bg--cmn1-head:before{
	top: 0;
	left: 0;
	border-width: 24.9rem 25.3rem 0 0;
	border-color: #fff transparent transparent transparent;
}
.bg--cmn1-head:after{
	bottom: 0;
	right: -89.4rem;
	border-width: 0 51.2rem 50.7rem 51.2rem;
	border-color: transparent transparent #fff transparent;
}

@media print,screen and (min-width: 600px) {
	.bg--cmn1-head{
		height: 53.7rem;
	}
	.bg--cmn1-head:after{
		right: -10.5rem;
	}
}

/* タイトル
--------------------------------------*/
.sec-pagettl{
	box-sizing: border-box;
	padding-top: 9.9rem;
}
.sec-pagettl .sec-inner{
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sec-pagettl .pagettl{
	font-size: 4rem;
}

.ttl--cmn1{
	font-weight: 700;
	color: #fff;
	background-color: #00A0C8;
	font-size: 2rem;
	line-height: 1.5;
	padding: 2.5rem 2rem;
	margin-bottom: 3rem;
}
.ttl--cmn2{
	font-weight: 700;
	color: #00a0c8;
	background-color: #F2FBFD;
	font-size: 2rem;
	line-height: 1.5;
	padding: 2.5rem 2rem;
	margin-bottom: 3rem;
}
.ttl--cmn3{
	position: relative;
	font-weight: 700;
	color: #00a0c8;
	font-size: 2rem;
	line-height: 1.5;
	padding: 0.5rem 0 2rem 3rem;
	border-bottom: 1px solid #00A0C8;
	margin-bottom: 3rem;
}
.ttl--cmn3:before{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	left: 0;
	top: 0;
	background-color: #00A0C8;
	width: 0.8rem;
	height: calc(100% - 1.5rem);
}
.ttl--cmn4{
	text-align: center;
	font-weight: 700;
	font-size: 2.2rem;
	line-height: 2.14;
	margin-bottom: 2.5rem;
}

@media print,screen and (min-width: 600px) {
	.sec-pagettl{
		padding-top: 10.3rem;
	}
	.sec-pagettl .pagettl{
		font-size: 5rem;
	}

	.ttl--cmn1{
		font-size: 2.4rem;
		padding: 2.2rem 3rem;
		margin-bottom: 4rem;
	}
	.ttl--cmn2{
		font-size: 2.4rem;
		padding: 2.2rem 3rem;
		margin-bottom: 4rem;
	}
	.ttl--cmn3{
		font-size: 2.4rem;
		padding: 0 0 1.5rem 3rem;
		margin-bottom: 4rem;
	}
	.ttl--cmn3:before{
		width: 0.8rem;
		height: calc(100% - 1.5rem);
	}
	.ttl--cmn4{
		font-size: 2.8rem;
		margin-bottom: 4.5rem;
	}
}

/* パンくず
--------------------------------------*/
.pnkz{
	font-size: 1rem;
	padding-top: 1rem;
	padding-bottom: 12.5rem;
}

@media print,screen and (min-width: 600px) {
	.pnkz{
		padding-top: 1.7rem;
		padding-bottom: 16.8rem;
	}
}

/* popup
--------------------------------------*/
.popup--cmn{
	display: none;
	z-index:1005;
	position: relative;
}
.popup--cmn .popup-overlay{
	background-color: rgba(0, 0, 0, .8);
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
}
.popup--cmn .popup-container{
	position: relative;
	pointer-events: auto;
}
.popup--cmn .close{
	position: absolute;
	display: block;
	cursor: pointer;
	box-sizing: border-box;
	z-index: 2;
	width: 6rem;
	height: 6rem;
	top: -9rem;
	right: 0;
	border: 2px solid #fff;
	transition: background .3s ease;
}
.popup--cmn .close:before,
.popup--cmn .close:after{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	background-color: #fff;
	width: 3rem;
	height: 2px;
	border-radius: 5rem;
	top: calc(50% - 1px);
	left: calc(50% - 1.5rem);
	transition: background .3s ease;
}
.popup--cmn .close:before{
	transform: rotate(45deg);
}
.popup--cmn .close:after{
	transform: rotate(135deg);
}
.popup--cmn .popup-inner{
	box-sizing: border-box;
	width: 100%;
	max-height: calc(100vh - 22rem);
}
.popup--cmn .scroll-area{
	box-sizing: border-box;
}

@media only screen and (max-width: 599px) {
	.popup--cmn .close{
		right: 3rem;
	}
}

@media print,screen and (min-width: 600px) {
	.js--btn-popup{
		cursor: pointer;
	}
	.popup--cmn .close:hover{
		background-color: #fff;
	}
	.popup--cmn .close:hover:before,
	.popup--cmn .close:hover:after{
		background-color: #464646;
	}
	.popup--cmn .popup-inner{
		width: 110rem;
	}
	.popup--cmn .scroll-area{
		max-height: calc(100vh - 27rem);
	}
}

/* yoxo-concept */
.parts--yoxo-concept .figure-wrap{
	position: relative;
}
.parts--yoxo-concept .block1{
	box-sizing: border-box;
	margin: 0 auto;
	width: 70rem;
	display: flex;
	align-items: center;
	border: 4px solid #00A0C8;
	padding: 4.4rem 4rem;
	border-radius: 2rem;
}
.parts--yoxo-concept .block1 .txt1{
	font-size: 2.4rem;
	margin-right: 1.5rem;
}
.parts--yoxo-concept .block1 .txt2{
	font-size: 1.8rem;
	flex: 1;
}
.parts--yoxo-concept .block2{
	position: relative;
}
.parts--yoxo-concept .block2 .arrow-top{
	width: 10.6rem;
	margin: -3.1rem auto 0.2rem auto;
	pointer-events: none;
}
.parts--yoxo-concept .block2 .company-logo{
	width: 30rem;
	margin-left: auto;
	margin-right: auto;
}
.parts--yoxo-concept .block2 .bg-triangle{
	position: relative;
	width: 100rem;
	margin: 1rem auto 0 auto;
}
.parts--yoxo-concept .block2 .bg-triangle .bg{
	pointer-events: none;
}
.parts--yoxo-concept .block2 .circle{
	position: absolute;
	top: 11.6rem;
	width: 17.4rem;
	height: 17.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 100%;
}
.parts--yoxo-concept .block2 .circle .txt{
	font-size: 2.4rem;
	line-height: 1.66;
}
.parts--yoxo-concept .block2 .circle .arrow{
	position: absolute;
	height: 7.6rem;
	top: calc((100% - 7.6rem) / 2);
	pointer-events: none;
}
.parts--yoxo-concept .block2 .circle .arrow img{
	width: auto;
	height: 100%;
}
.parts--yoxo-concept .block2 .circle1{
	left: -2.5rem;
	background-color: #D4F0FF;
}
.parts--yoxo-concept .block2 .circle1 .arrow{
	right: -11.8rem;
}
.parts--yoxo-concept .block2 .circle2{
	right: -2.5rem;
	background-color: #F5FF64;
}
.parts--yoxo-concept .block2 .circle2 .arrow{
	left: -11.8rem;
	transform: rotateY(180deg);
}
.parts--yoxo-concept .block2 .icon1{
	position: absolute;
	font-size: 1.8rem;
}
.parts--yoxo-concept .block2 .icon1 .txt{
	line-height: 1.66;
	margin-top: 0.7rem;
}
.parts--yoxo-concept .block2 .icon1-1{
	top: 10rem;
	width: 11em;
	left: calc((100% - 11em) / 2);
}
.parts--yoxo-concept .block2 .icon1-1 img{
	width: 13rem;
}
.parts--yoxo-concept .block2 .icon1-2{
	top: 27.1rem;
	width: 11em;
	left: calc(50% - 11em - 3.9rem);
}
.parts--yoxo-concept .block2 .icon1-2 img{
	width: 9.4rem;
}
.parts--yoxo-concept .block2 .icon1-3{
	top: 27.9rem;
	width: 12em;
	left: calc(50% + 2.1rem);
}
.parts--yoxo-concept .block2 .icon1-3 img{
	width: 12.5rem;
}
.parts--yoxo-concept .block2 .icon2-list{
	position: relative;
	margin-top: -10.8rem;
	display: flex;
	justify-content: center;
}
.parts--yoxo-concept .block2 .icon2{
	box-sizing: border-box;
	width: 16rem;
	height: 16rem;
	border: 2px solid #E8E8E8;
	border-radius: 2rem;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.parts--yoxo-concept .block2 .icon2:not(:last-child){
	margin-right: 3rem;
}
.parts--yoxo-concept .block2 .icon2 .img{
	padding-bottom: 1rem;
}
.parts--yoxo-concept .block2 .icon2 .txt{
	font-size: 1.8rem;
	height: 5.2rem;
}
.parts--yoxo-concept .block2 .icon2-1 img{
	width: 10.3rem;
}
.parts--yoxo-concept .block2 .icon2-2 img{
	width: 6.1rem;
}
.parts--yoxo-concept .block2 .icon2-3 img{
	width: 6.8rem;
}
.parts--yoxo-concept .block2 .icon2-4 img{
	width: 7rem;
}
.parts--yoxo-concept .block2 .icon2-5 img{
	width: 8.8rem;
}
.parts--yoxo-concept .block3{
	margin-top: 6rem;
}
.parts--yoxo-concept .block3 .icon3-list{
	display: flex;
	justify-content: center;
	width: 87rem;
	margin: 0 auto;
}
.parts--yoxo-concept .block3 .icon3{
	width: 23.9rem;
}
.parts--yoxo-concept .block3 .icon3:not(:last-child){
	margin-right: 7rem;
}
.parts--yoxo-concept .block3 .icon3 .box-ttl{
	display: flex;
	align-items: center;
	min-height: 6rem;
	margin-bottom: 0.5rem;
}
.parts--yoxo-concept .block3 .icon3 .box-ttl .ttl{
	flex: 1;
	padding-left: 1rem;
	font-size: 1.8rem;
	line-height: 1.66;
}
.parts--yoxo-concept .block3 .icon3-1 .icon{
	width: 4.9rem;
}
.parts--yoxo-concept .block3 .icon3-2{
	width: 23rem;
}
.parts--yoxo-concept .block3 .icon3-2 .icon{
	width: 4rem;
}
.parts--yoxo-concept .block3 .icon3-3{
	width: 26.1rem;
}
.parts--yoxo-concept .block3 .icon3-3 .icon{
	width: 5.3rem;
}

.parts--yoxo-concept .parts-ttl{
	font-size: 2.2rem;
	margin-bottom: 5rem;
}
.parts--yoxo-concept .btn-popup{
	margin-top: 5rem;
}
.popup--yoxo-concept .scroll-area{
	width: 100vw;
	max-height: calc(100vh - 20rem);
	overflow-x: scroll;
	overflow-y: scroll;
}
.popup--yoxo-concept .figure-wrap{
	background-color: #fff;
	width: 103rem;
	padding: 5rem;
	margin-left: 3rem;
	margin-right: 3rem;
}

@media print,screen and (min-width: 600px) {
	.parts--yoxo-concept .parts-ttl{
		font-size: 2.8rem;
	}
}

/* cat-list */
.block--cat-list{
	margin-bottom: 5rem;
}
.block--cat-list .cat-list{
	display: flex;
	flex-wrap: wrap;
	width: calc(100% + 2rem);
}
.block--cat-list .cat-item{
	margin-right: 2rem;
	margin-bottom: 2rem;
	padding: 1.4rem 2.8rem;
}
.block--cat-list .cat-item.is--current{
	background-color: #00A0C8;
	color: #fff;
}
@media print,screen and (min-width: 600px) {
	.block--cat-list{
		margin-bottom: 8rem;
	}
	.block--cat-list .cat-item .cat-item{
		padding: 1.7rem 3.4rem;
	}
}

.parts--tag-ttl{
	padding: 2.5rem 3rem;
	display: flex;
	margin-bottom: 7rem;
}
.parts--tag-ttl .tag-icon{
	width: 3.35rem;
	height: 2.95rem;
}
.parts--tag-ttl .tag-ttl{
	font-size: 1.8rem;
	line-height: 1.5;
	margin-left: 1.5rem;
}
@media print,screen and (min-width: 600px) {
	.parts--tag-ttl{
		padding: 5.9rem 7.2rem;
		margin-bottom: 10rem;
	}
	.parts--tag-ttl .tag-icon{
		margin-top: 0.5rem;
	}
	.parts--tag-ttl .tag-ttl{
		font-size: 2.8rem;
	}
}

.block--tag-list{
	margin-top: 18rem;
	box-sizing: border-box;
	position: relative;
	padding: 10.5rem 2.8rem 2.8rem 2.8rem;
}
.block--tag-list .block-ttl-wrap{
	position: absolute;
	font-size: 2.4rem;
	width: 5em;
	left: calc(50% - 2.5em);
	top: -3.4rem;
}
.block--tag-list .block-ttl-icon{
	box-sizing: border-box;
	width: 6.5rem;
	height: 6.5rem;
	border: 0.3rem solid #00A0C8;
	background-color: #fff;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1.3rem auto;
}
.block--tag-list .block-ttl-icon img{
	width: 3.35rem;
	height: 2.95rem;
}
.block--tag-list .tag-list{
	display: flex;
	flex-wrap: wrap;
	width: calc(100% + 1rem);
}
.block--tag-list .tag-item{
	margin-right: 1rem;
	margin-top: 1rem;
	border-radius: 0.5rem;
	font-size: 1.3rem;
	padding: 1.3rem 1rem;
}

@media print,screen and (min-width: 600px) {
	.block--tag-list{
		padding: 10.5rem 5rem 5rem 5rem;
	}
}


/* Slider
--------------------------------------*/
/* ページネーション */
.slider-pagination{
	display: flex;
	justify-content: center;
	z-index: 2;
	pointer-events: none;
}
.slider-pagination .swiper-pagination-bullet{
	box-sizing: border-box;
	position: relative;
	margin: 0 !important;
	pointer-events: auto;
	width: 1.5rem;
	height: 1.5rem;
	background: #fff;
	border-radius: 100%;
	opacity: 1;
	transition: background .3s ease;
}
.slider-pagination .swiper-pagination-bullet:not(:last-child){
	margin-right: 1rem !important;
}
.slider-pagination .swiper-pagination-bullet-active{
	background-color: #284719;
}

@media screen and (min-width: 600px) {
	.slider-pagination .swiper-pagination-bullet-active{
		pointer-events: none;
	}
}

/* ナビゲーション */
.slider-arrows{
	position: absolute;
	top: calc((100% - 6rem) / 2);
	pointer-events: none;
	width: 100%;
	z-index: 5;
}
.slider-prev,
.slider-next{
	box-sizing: border-box;
	position: absolute;
	pointer-events: auto;
	cursor: pointer;
	width: 6rem;
	height: 6rem;
	border-radius: 100%;
	transition: background .3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}
.slider-prev{
	left: 0;
}
.slider-prev .icon--arrow,
.slider-next .icon--arrow{
	width: 2.3rem;
	height: 2.3rem;
}
.slider-prev .icon--arrow{
	transform: rotate(180deg);
}
.slider-next{
	right: 0;
}
.slider-prev.swiper-button-disabled,
.slider-next.swiper-button-disabled{
	opacity: 0;
	pointer-events: none;
}


/* ページャー
--------------------------------------*/
.wp-pagenavi{
	display: flex;
	justify-content: center;
	margin-top: 10rem;
}
.wp-pagenavi .page,
.wp-pagenavi .current,
.wp-pagenavi .extend,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .first,
.wp-pagenavi .last{
	box-sizing: border-box;
	height: 4rem;
	position: relative;
}
.wp-pagenavi .page,
.wp-pagenavi .current,
.wp-pagenavi .extend{
	box-sizing: border-box;
	font-size: 1.8rem;
	margin-left: 0.5rem;
	margin-right: 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	color: #fff;
	background-color: #4A4A4A;
	border-radius: 100%;
}
.wp-pagenavi .current{
	background-color: #00A0C8;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink{
	width: 1.4rem;
}
.wp-pagenavi .first,
.wp-pagenavi .last{
	width: 2.3rem;
}
.wp-pagenavi .first,
.wp-pagenavi .previouspostslink{
	margin-right: 1rem;
}
.wp-pagenavi .last,
.wp-pagenavi .nextpostslink{
	margin-left: 1rem;
}
.wp-pagenavi .previouspostslink:before,
.wp-pagenavi .nextpostslink:before,
.wp-pagenavi .first:before,
.wp-pagenavi .last:before,
.wp-pagenavi .first:after,
.wp-pagenavi .last:after{
	content:'';
	display: block;
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
	width: 1.9rem;
	height: 1.9rem;
	border-top: solid 0.2rem #4A4A4A;
	top: 50%;
}
.wp-pagenavi .previouspostslink:before,
.wp-pagenavi .first:before,
.wp-pagenavi .first:after{
	border-left: solid 0.2rem #4A4A4A;
}
.wp-pagenavi .nextpostslink:before,
.wp-pagenavi .last:before,
.wp-pagenavi .last:after{
	border-right: solid 0.2rem #4A4A4A;
}
.wp-pagenavi .previouspostslink:before{
	left: 50%;
	transform: translate(-20%,-50%) rotate(-45deg);
}
.wp-pagenavi .first:before{
	left: 0.5rem;
	transform: translateY(-50%) rotate(-45deg);
}
.wp-pagenavi .first:after{
	right: -0.8rem;
	transform: translateY(-50%) rotate(-45deg);
}
.wp-pagenavi .nextpostslink:before{
	right: 50%;
	transform: translate(20%,-50%) rotate(45deg);
}
.wp-pagenavi .last:before{
	left: -0.8rem;
	transform: translateY(-50%) rotate(45deg);
}
.wp-pagenavi .last:after{
	right: 0.5rem;
	transform: translateY(-50%) rotate(45deg);
}

@media screen and (min-width: 600px) {
	.wp-pagenavi{
		margin-top: 14.5rem;
	}
	.wp-pagenavi .page,
	.wp-pagenavi .current,
	.wp-pagenavi .extend{
		margin-left: 1rem;
		margin-right: 1rem;
	}
	.wp-pagenavi .page{
		transition: background .3s ease, color .3s ease, border .3s ease;
	}
	.wp-pagenavi a.page:hover{
		background-color: #00A0C8;
	}
	.wp-pagenavi .first{
		margin-right: 2rem;
	}
	.wp-pagenavi .previouspostslink{
		margin-right: 4rem;
	}
	.wp-pagenavi .last{
		margin-left: 2rem;
	}
	.wp-pagenavi .nextpostslink{
		margin-left: 4rem;
	}
	.wp-pagenavi .previouspostslink:before,
	.wp-pagenavi .nextpostslink:before,
	.wp-pagenavi .first:before,
	.wp-pagenavi .last:before,
	.wp-pagenavi .first:after,
	.wp-pagenavi .last:after{
		transition: border .3s ease;
	}
	.wp-pagenavi .previouspostslink:hover:before,
	.wp-pagenavi .nextpostslink:hover:before,
	.wp-pagenavi .first:hover:before,
	.wp-pagenavi .last:hover:before,
	.wp-pagenavi .first:hover:after,
	.wp-pagenavi .last:hover:after{
		border-color: #00A0C8;
	}
}

/*====================================
form select
====================================*/
/* common
--------------------------------------*/
input[type="text"],
input[type="tel"],
input[type="email"],
textarea,
select,
button{
	appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
	background: none;
	border: none;
	font-family : inherit;
	color: inherit;
	box-sizing: border-box;
}
input[type="text"],
input[type="tel"],
input[type="email"],
textarea{
	box-sizing: border-box;
	width: 100%;
	background-color: #fff;
	transition: background .3s ease;
}
input[type="text"],
input[type="tel"],
input[type="email"]{
	height: 7rem;
}
input[type="text"],
input[type="tel"],
input[type="email"]{
	padding: 0 2rem;
	display: flex;
	align-items: center;
}
input:placeholder-shown,
textarea:placeholder-shown {
	color: #ccc;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	color: #ccc;
}
textarea{
	padding: 2rem;
}
select{
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
}
select::-ms-expand{
	display: none;
}
select option{
	color: #000;
}
button{
	cursor: pointer;
}

/* select
--------------------------------------*/
.select--langage{
	box-sizing: border-box;
	position: relative;
	width: 100%;
	border: 1px solid #fff;
	font-size: 1.5rem;
	height: 5rem;
	transition: background .3s ease;
}
.select--langage .gtranslate_wrapper{
	height: 100%;
}
.select--langage select{
	width: 100%;
	height: 100%;
	padding: 0 2.5rem 0 1.2rem;
	cursor: pointer;
}
.select--langage .select-arrow{
	position: absolute;
	pointer-events: none;
	width: 1.1rem;
	height: 1.1rem;
	right: 1rem;
	top: calc(50% - 0.55rem);
	transform: rotate(90deg);
}

/* form
--------------------------------------*/
.btn--form{
	margin: 10rem auto 0 auto;
	width: 100%;
	height: 8rem;
	position: relative;
}
.btn--form p{
	width: 100%;
	height: 100%;
}
.btn--form input{
	outline: none;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance: none;
	background: none;
	border: none;
	padding: 0;
	display: block;
	position: relative;
	text-align: center;
	cursor: pointer;
	line-height: 1;
	color: inherit;
	z-index: 3;
	box-sizing: border-box;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border: 2px solid #4A4A4A;
	font-size: 1.8rem;
	transition: opacity .3s ease, color .3s ease;
}
.btn--form .icon--arrow{
	position: absolute;
	pointer-events: none;
	width: 1.4rem;
	height: 1.4rem;
	right: 2rem;
	top: calc(50% - 0.7rem);
}
.btn--form input:disabled{
	opacity: .5;
	pointer-events: none;
}

.form--tbl .table-block{
	padding: 3rem;
}
.form--tbl p:not(:last-child){
	margin-bottom: 0;
}
.form--tbl table{
	box-sizing: border-box;
	width: 100%;
}
.form--tbl th,
.form--tbl td{
	box-sizing: border-box;
	vertical-align: middle;
}
.form--tbl th{
	padding-bottom: 2rem;
}

.form--tbl .req-cell-inner{
	display: flex;
	align-items: center;
}
.form--tbl .req-cell-inner .req{
	font-size: 1rem;
	line-height: 1;
	font-weight: 400;
	padding: 0.6rem 0.8rem;
	border-radius: 0.5rem;
	color: #fff;
	background-color: #4A4A4A;
	margin-left: 1rem;
}

/* checkbox radio */
form label{
	cursor: pointer;
}
.wrap--input-checkbox,
.wrap--input-radio{
	display: flex;
	flex-wrap: wrap;
	width: calc(100% + 2.5rem);
	margin-top: -1.5rem;
}
.wrap--input-checkbox .input--checkbox,
.wrap--input-radio .input--radio{
	margin-right: 2.5rem;
	margin-top: 1.5rem;
}
.input--checkbox input[type="checkbox"],
.input--checkbox input[type="radio"],
.input--radio input[type="checkbox"],
.input--radio input[type="radio"]{
	display: none;
}
.input--checkbox span,
.input--radio span{
	display: inline-block;
	position: relative;
	line-height: 1.2;
	padding-left: 2.5rem;
}
.input--checkbox span:before,
.input--checkbox span:after,
.input--radio span:before,
.input--radio span:after{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
}
.input--checkbox span:before,
.input--radio span:before{
	width: 1.4rem;
	height: 1.4rem;
	left: 0;
	top: calc(50% - 0.7rem);
	background-color: #fff;
	border: 1px solid #4A4A4A;
	transition: background .2s ease, border .2s ease;
}
.input--checkbox span:after,
.input--radio span:after{
	opacity: 0;
	transition: opacity .2s ease;
}
.input--checkbox input:checked + span:after,
.input--radio input:checked + span:after{
	opacity: 1;
}
.input--checkbox span:before{
	border-radius: 0.3rem;
}
.input--checkbox span:after{
	left: 0.4rem;
	width: 0.6rem;
	height: 0.95rem;
	top: 50%;
	transform: translateY(-65%) rotate(40deg);
	border-bottom: 0.3rem solid #fff;
	border-right: 0.3rem solid #fff;
}
.input--checkbox input:checked + span:before{
	background-color: #4A4A4A;
	border-color: #4A4A4A;
}
.input--radio span:before{
	border-radius: 100%;
}
.input--radio span:after{
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 100%;
	background-color: #4A4A4A;
	left: 0.4rem;
	top: calc(50% - 0.6rem);
}

.form--tbl span.wpcf7-list-item{
	margin: 0;
}
.form--tbl span.wpcf7-list-item label{
	cursor: pointer;
}
.form--tbl .wpcf7-radio .wpcf7-list-item{
	display: block;
}
.form--tbl .wpcf7-radio .wpcf7-list-item:not(:last-child){
	margin-bottom: 1.5rem;
}
.form--tbl .wpcf7-radio input[type="radio"],
.form--tbl .wpcf7-acceptance input[type="checkbox"]{
	display: none;
}
.form--tbl .wpcf7-radio .wpcf7-list-item-label,
.form--tbl .wpcf7-acceptance .wpcf7-list-item-label{
	display: inline-block;
	position: relative;
	line-height: 1.2;
	padding-left: 2.5rem;
}
.form--tbl .wpcf7-radio .wpcf7-list-item-label:before,
.form--tbl .wpcf7-radio .wpcf7-list-item-label:after,
.form--tbl .wpcf7-acceptance .wpcf7-list-item-label:before,
.form--tbl .wpcf7-acceptance .wpcf7-list-item-label:after{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
}
.form--tbl .wpcf7-radio .wpcf7-list-item-label:before,
.form--tbl .wpcf7-acceptance .wpcf7-list-item-label:before{
	width: 1.4rem;
	height: 1.4rem;
	left: 0;
	top: calc(50% - 0.7rem);
	background-color: #fff;
	border: 1px solid #4A4A4A;
	border-radius: 0.3rem;
	transition: background .2s ease, border .2s ease;
}
.form--tbl .wpcf7-radio .wpcf7-list-item-label:after,
.form--tbl .wpcf7-acceptance .wpcf7-list-item-label:after{
	opacity: 0;
	transition: opacity .2s ease;
	left: 0.4rem;
	width: 0.6rem;
	height: 0.95rem;
	top: 50%;
	transform: translateY(-65%) rotate(40deg);
	border-bottom: 0.3rem solid #fff;
	border-right: 0.3rem solid #fff;
}
.form--tbl .wpcf7-radio input:checked + .wpcf7-list-item-label:before,
.form--tbl .wpcf7-acceptance input:checked + .wpcf7-list-item-label:before{
	background-color: #4A4A4A;
	border-color: #4A4A4A;
}
.form--tbl .wpcf7-radio input:checked + .wpcf7-list-item-label:after,
.form--tbl .wpcf7-acceptance input:checked + .wpcf7-list-item-label:after{
	opacity: 1;
}

.form--tbl .user-policy-block{
	margin-top: 7rem;
}
.form--tbl .user-policy-block .block-ttl{
	font-size: 1.5rem;
	margin-bottom: 4rem;
}
.form--tbl .user-policy-block ul{
	padding-left: 1em;
}
.form--tbl .user-policy-block .txt-box{
	margin-bottom: 6.5rem;
}
.form--tbl .user-policy-block .policy-box{
	padding: 3.5rem;
	text-align: center;
}

@media screen and (max-width: 599px) {
	.form--tbl th,
	.form--tbl td{
		display: block;
	}
	.form--tbl tr:not(:last-child) td{
		padding-bottom: 3rem;
	}
}

@media print,screen and (min-width: 600px) {
	.btn--form{
		margin-top: 15rem;
		width: 50rem;
		height: 10rem;
	}

	.form--tbl .table-block{
		padding: 6rem;
	}
	.form--tbl th,
	.form--tbl td{
		vertical-align: middle;
	}
	.form--tbl tr:not(:last-child) th,
	.form--tbl tr:not(:last-child) td{
		padding-bottom: 4rem;
	}
	.form--tbl th{
		font-size: 1.8rem;
		width: 25rem;
		padding: 0 3rem 0 0;
	}
	.form--tbl .req-cell-inner{
		justify-content: flex-end;
	}

	.form--tbl .user-policy-block{
		margin-top: 10rem;
	}
	.form--tbl .user-policy-block .block-ttl{
		font-size: 1.8rem;
	}
	.form--tbl .user-policy-block .txt-box{
		margin-bottom: 9.5rem;
	}
}

.wpcf7 form .wpcf7-response-output{
	padding: 2.4rem 2rem;
	border: none !important;
}
.wpcf7 form:not(.sent) .wpcf7-response-output{
	background-color: #980404;
	color: #fff;
}
.wpcf7 .recaptha-caption{
	margin-top: 10rem;
}
.wpcf7 .recaptha-caption a{
	text-decoration: underline;
}
.grecaptcha-badge { visibility: hidden; }
.wpcf7 form.sent .form--tbl,
.wpcf7 form.sent .btn--form,
.wpcf7 form.sent .wpcf7-response-output{
	display: none;
}
.wpcf7 form .sent-thankyou-message{
	display: none;
}
.wpcf7 form.sent .sent-thankyou-message{
	display: block;
	background-color: #fff;
	padding: 3rem;
}

@media print,screen and (min-width: 600px) {
	.wpcf7 form.sent .sent-thankyou-message{
		padding: 6rem;
	}
}

/*====================================
header
====================================*/
.hamburger-btn{
	box-sizing: border-box;
	position: fixed;
	z-index: 1001;
	width: 4rem;
	height: 4rem;
	top: 2.2rem;
	right: 2.4rem;
	mix-blend-mode: difference;
}
.hamburger-btn-inner{
	display: block;
	position: absolute;
	width: 2.8rem;
	height: 2.4rem;
	top: 0.8rem;
	right: 0.6rem;
	transition: transform 0.35s ease;
}
.hamburger-btn span{
	position: absolute;
	top: 0;
	right: 0;
	width: 2.8rem;
	height: 2px;
	background-color: #fff;
	transition: transform 0.35s ease, opacity 0.35s ease;
}
.hamburger-btn span:nth-child(2){
	top: 1.1rem;
}
.hamburger-btn span:last-child{
	top: 2.2rem;
}
.hamburger-btn.is--open .hamburger-btn-inner{
	width: 2.121rem;
	height: 2.121rem;
	top: 0.9rem;
	right: 0.84rem;
	transform: rotate(360deg);
}
.hamburger-btn.is--open span:first-child{
	transform:translate(0.2rem, 1.1rem) rotate(-45deg);
}
.hamburger-btn.is--open span:nth-child(2){
	opacity: 0;
}
.hamburger-btn.is--open span:last-child{
	transform:translate(0.2rem, -1.1rem) rotate(45deg);
}

/* hamburger menu
--------------------------------------*/
#hamburger-menu{
	z-index:1000;
	position: fixed;
	box-sizing: border-box;
	height: 100vh;
	top: 0;
	width: 30rem;
	right: -30rem;
	background: rgba(0, 0, 0, .85);
	transition: transform .3s ease;
}
#hamburger-menu.is--open{
	transform: translateX(-30rem);
}
#hamburger-menu .menu-inner{
	box-sizing: border-box;
	position: relative;
	overflow-y: scroll;
	width: 100%;
	height: 100%;
	padding: 3rem 3rem 5rem 3rem;
}
#hamburger-menu .block-langage{
	margin-bottom: 5rem;
	width: 16rem;
}
#hamburger-menu .block-bnr{
	margin-bottom: 6.5rem;
}
#hamburger-menu .block-bnr .bnr{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 7rem;
	color: #000;
}
#hamburger-menu .block-nav{
	margin-bottom: 6rem;
	padding-left: 7.4rem;
}
#hamburger-menu .nav-item:not(:last-child){
	margin-bottom: 4rem;
}
#hamburger-menu .nav-item-txt{
	font-size: 1.8rem;
}
#hamburger-menu .block-sns{
	display: flex;
	justify-content: center;
	align-items: center;
}
#hamburger-menu .sns-item{
	display: block;
}
#hamburger-menu .sns-item:not(:last-child){
	margin-right: 4rem;
}
#hamburger-menu .sns-item.facebook{
	width: 1.5rem;
	height: 2.7rem;
}
#hamburger-menu .sns-item.twitter{
	width: 2.7rem;
	height: 2.7rem;
}
#hamburger-menu .sns-item.linkedin{
	width: 2.7rem;
	height: 2.7rem;
}

/* hamburger-layer */
#hamburger-layer{
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	z-index:999;
	pointer-events: none;
}
#hamburger-layer.is--open{
	pointer-events: auto;
}

/* header
--------------------------------------*/
header{
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	padding-top: 3rem;
}
.header-logo{
	display: block;
	width: 15.6rem;
}

@media print,screen and (min-width: 600px) {
	header{
		padding-top: 7rem;
	}
	header:before{
		content: '';
		display: block;
		position: absolute;
		pointer-events: none;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		background-color: #fff;
    filter: brightness(0);
	}
	.header-inner{
		position: relative;
		z-index: 2;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.header-logo{
		width: 20.8rem;
		transition: opacity .2s ease;
	}
	.header-content{
		flex: 1;
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}
	.header-nav{
		display: flex;
	}
	.header-nav .nav-item{
		position: relative;
	}
	.header-nav .nav-item:not(:last-child){
		margin-right: 3rem;
	}
	.header-nav .nav-item:before{
		content: '';
		display: block;
		position: absolute;
		pointer-events: none;
		box-sizing: border-box;
		width: 1.4rem;
		height: 1.4rem;
		border: 0.3rem solid #fff;
		border-radius: 100%;
		top: -2.3rem;
		left: calc(50% - 0.7rem);
		opacity: 0;
		transform: translateY(0.5rem);
		transition: opacity .3s ease, transform .3s ease;
	}
	.header-nav .nav-item.is--current:before,
	.header-nav .nav-item:hover:before{
		opacity: 1;
		transform: translateY(0);
	}
	.header-nav .nav-item-txt{
		font-size: 1.8rem;
	}
	.header-langage{
		margin-left: 4rem;
	}
	.header-langage .select--langage{
		height: 2.7rem;
		width: 13.8rem;
		font-size: 1.2rem;
	}
	header:not(.is--scroll) .header-langage .select--langage{
		border-color: #8DD1FB;
	}
	.header-langage .select--langage select{
		padding: 0 2rem 0 1.5rem;
	}
	.header-langage .select--langage .select-arrow{
		width: 0.7rem;
		height: 0.7rem;
		top: calc(50% - 0.35rem);
	}
	header .btn-members-only{
		margin-left: 4rem;
		width: 15rem;
		height: 5rem;
	}

	header.is--scroll{
		position: fixed;
		height: 8rem;
		padding: 1.5rem 0;
		-webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
		animation: header-scroll-anim .3s ease-out forwards;
	}
	header.is--scroll:before{
		opacity: .25;
	}
	header.is--scroll .header-inner{
		justify-content: center;
	}
	header.is--scroll .header-logo{
		display: none;
	}
	header.is--scroll .header-content{
		justify-content: center;
	}
	header.is--scroll .header-nav{
		padding-top: 0.3rem;
	}
}

@keyframes header-scroll-anim {
	0% {
		transform: translateY(-8rem);
	}
	100% {
		transform: translateY(0);
	}
}

/*===============================
footer
===============================*/
footer{
	padding-top: 17rem;
}
.js--relative-btn-to-top{
	position: relative;
}
.js--btn-to-top{
	position: fixed;
	z-index: 5;
	box-sizing: border-box;
	display: block;
	width: 5rem;
	height: 5rem;
	right: 2rem;
	bottom: 5rem;
	opacity: 0;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .3s ease, opacity .3s ease;
}
.js--btn-to-top.is--scroll{
	opacity: 1;
}
.js--btn-to-top.is--footerfix{
	position: absolute;
	bottom: auto;
	top: 7rem;
}
.js--btn-to-top .icon--arrow{
	width: 2rem;
	height: 2rem;
	transform: rotate(-90deg);
}
.footer-bnr-area{
	margin-bottom: 5rem;
}
.footer-bnr-area .bnr{
	display: block;
}
.footer-nav1{
	display: flex;
}
.footer-nav1 .nav-item:not(:last-child){
	margin-bottom: 3rem;
}
.footer-nav1 .nav-item-txt{
	font-size: 1.8rem;
}
footer .btn-members-only{
	margin-top: 5.5rem;
}
.footer-block-ttl{
	font-size: 1.8rem;
	margin-bottom: 3.5rem;
}
.footer-nav2 .nav-item:not(:last-child){
	margin-bottom: 3.5rem;
}
footer .sns-nav-item .nav-item-inner{
	padding-left: 2.8rem;
}
footer .sns-nav-item .sns-item-icon{
	position: absolute;
	top: calc(50% - 0.9rem);
}
footer .sns-nav-item .facebook .sns-item-icon{
	mask-image: url(../img/common/icon-facebook.svg);
	-webkit-mask-image: url(../img/common/icon-facebook.svg);
	width: 1rem;
	height: 1.8rem;
	left: 0.6rem;
}
footer .sns-nav-item .twitter .sns-item-icon{
	mask-image: url(../img/common/icon-twitter-x.svg);
	-webkit-mask-image: url(../img/common/icon-twitter-x.svg);
	width: 1.8rem;
	height: 1.8rem;
	left: 0;
}
footer .sns-nav-item .linkedin .sns-item-icon{
	mask-image: url(../img/common/icon-linkedin.svg);
	-webkit-mask-image: url(../img/common/icon-linkedin.svg);
	width: 1.835rem;
	height: 1.835rem;
	left: 0.2rem;
}
.footer-copyright{
	padding-top: 7rem;
	padding-bottom: 11rem;
	font-size: 1rem;
	background:
		url(../img/common/footer-bg.svg) no-repeat left -9.5rem bottom -9.5rem,
		url(../img/common/footer-bg.svg) no-repeat right -9.5rem bottom -9.5rem;
	background-size: 19rem 19rem, 19rem 19rem;
}

@media only screen and (max-width: 599px) {
	.footer-bnr-area .bnr:not(:last-child){
		margin-bottom: 2rem;
	}
	.footer-nav-block,
	.footer-sns-block,
	.footer-related-block{
		width: 29.4rem;
		margin-left: auto;
		margin-right: auto;
	}
	.footer-block:not(:first-child){
		margin-top: 5.5rem;
	}
	.footer-nav1 .nav-item-wrap{
		width: 13.2rem;
	}
	.footer-related .nav-item-wrap:not(:last-child){
		margin-bottom: 3.5rem;
	}
}

@media print,screen and (min-width: 600px) {
	footer{
		padding-top: 30rem;
	}
	.js--btn-to-top{
		width: 6rem;
		height: 6rem;
		right: 5rem;
	}
	.js--btn-to-top.is--footerfix{
		top: 20rem;
	}
	.js--btn-to-top .icon--arrow{
		width: 2.3rem;
		height: 2.3rem;
	}
	.footer-bnr-area{
		margin-bottom: 10rem;
	}
	.footer-bnr-area .footer-bnr-list{
		display: flex;
		flex-wrap: wrap;
		width: calc(24.4rem * 4 + 2rem * 3);
		margin-left: auto;
		margin-right: auto;
	}
	.footer-bnr-area .bnr{
		width: 24.4rem;
	}
	.footer-bnr-area .bnr:not(:nth-child(4n)){
		margin-right: 2rem;
	}
	.footer-bnr-area .bnr:nth-child(n+5){
		margin-top: 2rem;
	}
	.footer-nav-area{
		display: flex;
		justify-content: center;
	}
	.footer-nav-block{
		margin-right: 12rem;
	}
	.footer-nav1 .nav-item-wrap:not(:last-child){
		margin-right: 4rem;
	}
	footer .btn-members-only{
		width: 21.5rem;
		height: 5rem;
	}
	.footer-nav2 a:hover .nav-newtab-arrow-icon{
		background-color: #E8E8E8;
	}
	.footer-sns-block{
		margin-right: 6rem;
	}
	.footer-related{
		display: flex;
	}
	.footer-related .nav-item-wrap:not(:last-child){
		margin-right: 4rem;
	}
	.footer-copyright{
		padding-top: 22.5rem;
		padding-bottom: 6rem;
		background-size: 34.2rem 34.2rem, 34.2rem 34.2rem;
		background-position: left calc((100vw - 108.4rem) / 2) bottom -17.2rem, right calc((100vw - 108.4rem) / 2) bottom -17.2rem;
	}
}

/*====================================
top
====================================*/
/* common
--------------------------------------*/
#top .triangle{
	position: absolute;
	pointer-events: none;
	width: 0;
	height: 0;
	border-style: solid;
}
#top .top-sec-ttl{
	font-size: 3rem;
	margin-bottom: 4rem;
}

@media only screen and (max-width: 599px) {
	#top .top-sec-ttl{
		text-align: center;
	}
}
@media print,screen and (min-width: 600px) {
	#top .top-sec-ttl{
		font-size: 4rem;
		margin-bottom: 6rem;
	}
}

/* main
--------------------------------------*/
#top .sec-main{
	position: relative;
	overflow: hidden;
	padding-top: 12.7rem;
	padding-bottom: 2.5rem;
}
#top .sec-main .bg{
	position: absolute;
	pointer-events: none;
	top: 0;
	left: 0;
	width: 100%;
}
#top .sec-main .triangle1{
	left: 0;
	bottom: 2.38rem;
	border-width: 6.9rem 0 10.6rem 11.4rem;
	border-color: transparent transparent transparent #000;
	opacity: .03;
}
#top .sec-main .triangle2{
	left: -0.4rem;
	bottom: 1.19rem;
	transform: rotate(336deg);
	border-width: 0 3.5rem 5.4rem 3.5rem;
	border-color: transparent transparent #000 transparent;
	opacity: .03;
}
#top .sec-main .sec-inner{
	position: relative;
	z-index: 2;
}
#top .sec-main .block-pickup{
	position: relative;
	overflow: hidden;
}
#top .sec-main .news-item-inner{
	display: block;
}
#top .sec-main .news-item-pickup,
#top .sec-main .news-item-time{
	display: flex;
	align-items: center;
}
#top .sec-main .swiper-slide:not(.swiper-slide-active){
	opacity: 0 !important;
}
#top .sec-main .news-item-pickup{
	margin-top: 2.4rem;
}
#top .sec-main .news-item-pickup-icon{
	mask-image: url(../img/top/icon-pickup.svg);
	-webkit-mask-image: url(../img/top/icon-pickup.svg);
	width: 1.85rem;
	height: 1.05rem;
	margin-right: 0.5rem;
}
#top .sec-main .news-item-pickup-txt{
	line-height: 1;
}
#top .sec-main .block-pickup .news-item-ttl{
	font-size: 1.8rem;
	margin-top: 1rem;
}
#top .sec-main .block-latest .news-item-img .img--posted{
	padding-bottom: 66.04%;
}
#top .sec-main .block-latest .news-item .img--dummy img{
	width: calc(22.5rem * 0.5);
	height: calc(9.7rem * 0.5);
	top: calc((100% - 9.7rem * 0.5) / 2);
	left: calc((100% - 22.5rem * 0.5) / 2);
}
#top .sec-main .news-item-head{
	margin-top: 1.5rem;
}
#top .sec-main .news-item-time-txt{
	margin-left: 0.7rem;
	font-size: 1.3rem;
}
#top .sec-main .block-latest .news-item-ttl{
	line-height: 1.46;
	margin-top: 1.2rem;
}
#top .sec-main .block-to-archive{
	margin-top: 4.7rem;
}

@media only screen and (max-width: 599px) {
	#top .sec-main .block-pickup{
		margin-bottom: 4.5rem;
	}
	#top .sec-main .news-item-pickup-txt,
	#top .sec-main .block-pickup .news-item-ttl{
		color: #fff;
	}
	#top .sec-main .block-latest{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#top .sec-main .block-latest .news-item{
		width: calc((100% - 3rem) / 2);
	}
	#top .sec-main .block-latest .news-item:nth-child(n+3){
		margin-top: 2.7rem;
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-main{
		padding-top: 18.9rem;
		padding-bottom: 0.4rem;
	}
	#top .sec-main .triangle1{
		border-width: 11.6rem 0 17.6rem 19.1rem;
	}
	#top .sec-main .triangle2{
		left: 0;
		bottom: 1.99rem;
		border-width: 0 5.85rem 9.1rem 5.85rem;
	}
	#top .sec-main .news-list-wrap{
		display: flex;
		justify-content: space-between;
	}
	#top .sec-main .block-pickup{
		width: 109.3rem;
	}
	#top .sec-main .block-pickup .news-item-pickup-icon{
		background-color: #00A0C8;
	}
	#top .sec-main .block-pickup .news-item-pickup-txt{
		color: #00A0C8;
	}
	#top .sec-main .block-pickup .news-item-img .img--posted{
		padding-bottom: 64.86%;
	}
	#top .sec-main .block-latest .news-item .img--dummy img{
		width: calc(22.5rem * 0.7);
		height: calc(9.7rem * 0.7);
		top: calc((100% - 9.7rem * 0.7) / 2);
		left: calc((100% - 22.5rem * 0.7) / 2);
	}
	#top .sec-main .block-pickup .news-item-ttl{
		-webkit-line-clamp: 1;
		max-height: 2em;
		font-size: 2.4rem;
	}
	#top .sec-main .block-latest{
		width: 24.7rem;
	}
	#top .sec-main .block-latest .news-item:not(:last-child){
		margin-bottom: 2.5rem;
	}
	#top .sec-main .block-latest .news-item:nth-child(n+4){
		display: none;
	}
	#top .sec-main .block-latest .news-item-img .img--posted{
		padding-bottom: 65.99%;
	}
	#top .sec-main .news-item-head{
		margin-top: 2rem;
	}
	#top .sec-main .block-latest .news-item-ttl{
		margin-top: 0.7rem;
		-webkit-line-clamp: 2;
		max-height: 2.92em;
	}
	#top .sec-main .block-latest .news-item:first-child .news-item-time-icon{
		background-color: #B9D5FB;
	}
	#top .sec-main .block-latest .news-item:first-child .news-item-time-txt{
		color: #b9d5fb;
	}
	#top .sec-main .block-latest .news-item:first-child .news-item-ttl{
		color: #fff;
	}
	#top .sec-main .block-to-archive{
		margin-top: 5rem;
		justify-content: flex-end;
	}
}
@media print,screen and (min-width: 1600px) {
	#top .sec-main .triangle2{
		right: calc((100vw - 181rem) / 2);
	}
}

/* projects
--------------------------------------*/
#top .sec-projects{
	position: relative;
	overflow: hidden;
	padding-top: 5.5rem;
	padding-bottom: 7.1rem;
}
#top .sec-projects .triangle1{
	border-width: 14.15rem 15.4rem 14.15rem 0;
	border-color: transparent #000 transparent transparent;
	opacity: 0.03;
	top: 1.82rem;
	right: 0;
}
#top .sec-projects .triangle2{
	left: 0;
	bottom: 0;
	border-width: 11.4rem 0 0 19.2rem;
	border-color: transparent transparent transparent #000;
	opacity: 0.03;
}
#top .sec-projects .block-slider{
	position: relative;
}
#top .sec-projects .projects-item-inner{
	display: block;
}
#top .sec-projects .projects-item-img{
	box-shadow: 0px 0px 3rem 0 rgba(0, 61, 77, .2);
	transition: box-shadow .3s ease;
}
#top .sec-projects .projects-item-img .img--posted{
	padding-bottom: 75.42%;
}
#top .sec-projects .projects-item-txt{
	margin-top: 2.5rem;
	font-size: 1.8rem;
}
#top .sec-projects .slider-arrows{
	top: 10.4rem;
	width: calc(100% - 2rem);
	left: 1rem;
}
#top .sec-projects .block-btn{
	margin-top: 4.6rem;
}

@media only screen and (max-width: 599px) {
	#top .sec-projects .projects-item{
		box-sizing: border-box;
		width: 100vw;
		padding-left: calc((100vw - 35.4rem) / 2);
		padding-right: calc((100vw - 35.4rem) / 2);
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-projects{
		padding-top: 11rem;
		padding-bottom: 20rem;
	}
	#top .sec-projects .triangle1{
		border-width: 23.6rem 25.7rem 23.6rem 0;
	}
	#top .sec-projects .triangle2{
		border-width: 19rem 0 0 32rem;
	}
	#top .sec-projects .block-slider{
		right: calc((100vw - 140rem) / 2 * -1);
		width: calc(100vw - (100vw - 140rem) / 2);
	}
	#top .sec-projects .swiper-slide{
		width: calc((140rem - 8rem) / 3);
		margin-right: 4rem;
	}
	#top .sec-projects a:hover .projects-item-img{
		box-shadow: 0px 0px 3rem -3rem rgba(0, 61, 77, .2);
	}
	#top .sec-projects .projects-item-txt{
		-webkit-line-clamp: 2;
		max-height: 4em;
	}
	#top .sec-projects .slider-arrows{
		width: 140rem;
		top: 13.6rem;
		left: 0;
	}
	#top .sec-projects .slider-prev{
		left: -3rem;
	}
	#top .sec-projects .slider-next{
		right: -3rem;
	}
	#top .sec-projects .block-btn{
		margin-top: 9.5rem;
	}
	#top .sec-projects .block-btn .btn{
		margin-left: auto;
		margin-right: auto;
	}
}

/* about
--------------------------------------*/
#top .sec-about{
	position: relative;
	overflow: hidden;
	padding-top: 8rem;
	padding-bottom: 5rem;
}
#top .sec-about .triangle{
	opacity: .15;
}
#top .sec-about .triangle1{
	border-width: 10.6rem 10.6rem 0 0;
	border-color: #FFF transparent transparent transparent;
	top: 0;
	left: 0;
}
#top .sec-about .triangle2{
	border-width: 0 0 7.8rem 9rem;
	border-color: transparent transparent #fff transparent;
	right: 0;
	top: 34.5rem;
}
#top .sec-about .triangle3{
	border-width: 0 12rem 14.4rem 17.4rem;
	border-color: transparent transparent #fff transparent;
	transform: rotate(-120deg);
	top: 41.5rem;
	right: -6rem;
}
#top .sec-about .triangle4{
	border-width: 0 12.6rem 20.5rem 27.5rem;
	border-color: transparent transparent #fff transparent;
	transform: rotate(-25deg);
	left: -19.5rem;
	top: 146.9rem;
}
#top .sec-about .triangle5{
	border-width: 24rem 0 0 27.6rem;
	border-color: transparent transparent transparent #fff;
	transform: rotate(-60deg);
	bottom: 46rem;
	right: -7.7rem;
}
#top .sec-about .sec-inner{
	position: relative;
	z-index: 2;
}
#top .sec-about .block-lead{
	margin-bottom: 4.5rem;
}

@media print,screen and (min-width: 600px) {
	#top .sec-about{
		padding-top: 15rem;
		padding-bottom: 10rem;
	}
	#top .sec-about .triangle1{
		border-width: 17.8rem 17.8rem 0 0;
	}
	#top .sec-about .triangle2{
		border-width: 0 0 13.1rem 15rem;
		top: 17rem;
	}
	#top .sec-about .triangle3{
		border-width: 0 19.92rem 23.9rem 28.88rem;
		top: 27rem;
		right: -8rem;
	}
	#top .sec-about .triangle4{
		border-width: 0 20.916rem 34.03rem 45.65rem;
		top: 75.5rem;
		left: -33rem;
	}
	#top .sec-about .triangle5{
		border-width: 39.84rem 0 0 45.816rem;
		bottom: 27.5rem;
		right: -12.7rem;
	}
	#top .sec-about .block-lead{
		margin-bottom: 9.5rem;
		display: flex;
		align-items: center;
	}
	#top .sec-about .sec-ttl{
		margin-bottom: 0;
	}
	#top .sec-about .block-lead .box-txt{
		flex: 1;
		padding-left: 5rem;
	}
}

/* about-content */
#top .sec-about .about-content{
	box-sizing: border-box;
	padding: 5.5rem 3rem 5rem 3rem;
	box-shadow: 0px 0px 3rem 0 rgba(0, 77, 97, .45);
}
#top .sec-about .about-content-inner{
	background: url(../img/common/bg-crisscross.png) 0.4rem 0.4rem;
	background-size: 5rem 5rem;
}
#top .sec-about .btn-to-about{
	margin-top: 3rem;
}

@media print,screen and (min-width: 600px) {
	#top .sec-about .about-content{
		padding: 3rem 4.5rem;
	}
	#top .sec-about .about-content-inner{
		padding: 6.5rem 10.5rem;
	}
	#top .sec-about .btn-to-about{
		margin: 9.5rem auto 0 auto;
	}
}

/* yoxo */
#top .sec-about .block-yoxo .block-inner{
	overflow: hidden;
	position: relative;
	padding-top: 5.5rem;
	padding-bottom: 4.5rem;
}
#top .sec-about .block-yoxo .bg{
	position: absolute;
	pointer-events: none;
	opacity: 0.15;
	width: 57.284rem;
	left: calc(50% - 28.642rem);
	bottom: 10rem;
}
#top .sec-about .block-yoxo .about-ttl-baloon{
	margin-bottom: 1.7rem;
	position: relative;
	line-height: 1;
	padding-bottom: 3rem;
}
#top .sec-about .block-yoxo .about-ttl-baloon .baloon-parts{
	position: absolute;
	pointer-events: none;
	bottom: 0;
	width: auto;
	height: 4.1rem;
	left: 50%;
	transform: translateX(-50%);
}
#top .sec-about .block-yoxo .block-ttl-txt{
	font-size: 2.2rem;
	line-height: 1.63;
}

@media only screen and (max-width: 599px) {
	#top .sec-about .block-yoxo .block-ttl{
		margin-bottom: 1.5rem;
	}
	#top .sec-about .block-yoxo .block-ttl-txt{
		text-align: center;
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-about .block-yoxo .block-inner{
		padding-top: 8rem;
		padding-bottom: 9.7rem;
	}
	#top .sec-about .block-yoxo .bg{
		bottom: 7rem;
	}
	#top .sec-about .block-yoxo .block-inner-inner{
		display: flex;
		align-items: flex-end;
		justify-content: center;
	}
	#top .sec-about .block-yoxo .block-ttl{
		width: 30.5rem;
		padding-bottom: 1rem;
	}
	#top .sec-about .block-yoxo .about-ttl-baloon{
		margin-bottom: 1rem;
	}
	#top .sec-about .block-yoxo .block-ttl-txt{
		font-size: 2.4rem;
		line-height: 1.66;
	}
	#top .sec-about .block-yoxo .box-txt{
		margin-left: 3rem;
		width: 80rem;
	}
	#top .sec-about .block-yoxo .box-btn .btn{
		margin: 0 auto;
	}
}

/* partner
--------------------------------------*/
#top .sec-partner{
	padding-top: 8.3rem;
	padding-bottom: 7rem;
}
#top .sec-partner .sec-ttl{
	margin-bottom: 1.8rem;
}
#top .sec-partner .sub-ttl{
	line-height: 1;
	margin-bottom: 3rem;
}
#top .sec-partner .partner-list{
	display: flex;
	flex-wrap: wrap;
}
#top .sec-partner .partner-list .partner-item{
	width: calc(100% / 3);
}
#top .sec-partner .partner-special{
	margin-top: 5rem;
}
#top .sec-partner .partner-special .ttl{
	width: 9.4rem;
	height: 4rem;
	border-radius: 10rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 2rem auto;
	font-size: 1.3rem;
}
#top .sec-partner .partner-special .partner-item{
	width: 5.2rem;
	margin: 0 auto;
}

@media only screen and (max-width: 599px) {
	#top .sec-partner .partner-list .partner-item:nth-child(n+4){
		margin-top: 1rem;
	}
}
@media print,screen and (min-width: 600px) {
	#top .sec-partner{
		padding-top: 21rem;
		padding-bottom: 20rem;
	}
	#top .sec-partner .sub-ttl{
		font-size: 1.8rem;
		margin-bottom: 6.5rem;
	}
	#top .sec-partner .partner-list .partner-item{
		width: calc(100% / 7);
	}
	#top .sec-partner .partner-list .partner-item:nth-child(n+8){
		margin-top: 4rem;
	}
	#top .sec-partner .partner-special{
		margin-top: 8.6rem;
	}
	#top .sec-partner .partner-special .ttl{
		width: 12rem;
		height: 5rem;
		margin-bottom: 3rem;
		font-size: 1.8rem;
	}
	#top .sec-partner .partner-special .partner-item{
		width: 8.8rem;
	}
}

/* joinus
--------------------------------------*/
#top .sec-joinus .link{
	display: block;
	position: relative;
	overflow: hidden;
}
#top .sec-joinus .arrow-bg{
	position: absolute;
	background-color: #00A0C8;
	width: 14rem;
	height: 14rem;
	border-radius: 100%;
	right: 0;
	bottom: 0;
	transform: translate(50%, 50%);
}
#top .sec-joinus .arrow{
	position: absolute;
	width: 2rem;
	height: 2rem;
	right: 1.5rem;
	bottom: 1.5rem;
}
#top .sec-joinus .sec-inner{
	position: relative;
	z-index: 2;
	padding-top: 8rem;
	padding-bottom: 6.7rem;
}
#top .sec-joinus .sec-ttl{
	margin-bottom: 4.5rem;
}
#top .sec-joinus .box-ttl{
	font-size: 1.8rem;
}

@media only screen and (max-width: 599px) {
	#top .sec-joinus .link{
		pointer-events: none;
	}
	#top .sec-joinus .arrow-bg{
		pointer-events: auto;
	}
	#top .sec-joinus .box-ttl{
		text-align: center;
		padding-bottom: 3.2rem;
		border-bottom: 1px solid #707070;
		margin-bottom: 2.8rem;
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-joinus{
		margin-bottom: -10rem;
	}
	#top .sec-joinus .arrow-bg{
		width: 17rem;
		height: 17rem;
		animation: joinus-hover-out-anim .6s ease forwards;
	}
	#top .sec-joinus a:hover .arrow-bg{
		animation: joinus-hover-anim .2s ease-out forwards;
	}
	#top .sec-joinus .arrow{
		right: 2.3rem;
		bottom: 2.3rem;
	}
	#top .sec-joinus .sec-inner{
		padding-bottom: 16rem;
	}
	#top .sec-joinus .sec-ttl{
		margin-bottom: 5rem;
	}
	#top .sec-joinus .block-joinus{
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#top .sec-joinus .box-ttl{
		padding-right: 4rem;
		font-size: 2.4rem;
		line-height: 1.66;
	}
	#top .sec-joinus .box-txt{
		width: 87rem;
		padding-left: 4rem;
		border-left: 1px solid #707070;
		transition: border .3s ease, color .3s ease;
	}
	#top .sec-joinus a:hover .box-txt{
		border-color: #fff;
	}
}

@keyframes joinus-hover-anim {
	0% {
		width: 17rem;
		height: 17rem;
	}
	100% {
		width: 210vw;
		height: 210vw;
	}
}
@keyframes joinus-hover-out-anim {
	0% {
		opacity: 1;
		width: 210vw;
		height: 210vw;
	}
	40%{
		opacity: 0;
		width: 210vw;
		height: 210vw;
	}
	50%{
		opacity: 0;
		width: 0;
		height: 0;
	}
	100% {
		opacity: 1;
		width: 17rem;
		height: 17rem;
	}
}

/*====================================
404
====================================*/
#page404 .sec-404 .block-txt{
	margin-bottom: 6rem;
}

@media print,screen and (min-width: 600px) {
	#page404 .sec-404{
		display: flex;
		justify-content: center;
	}
	#page404 .sec-404 .block-txt{
		margin-bottom: 10rem;
	}
}

/*====================================
contact
====================================*/
/* contact
--------------------------------------*/
#contact .sec-form .block-lead,
#confirm .sec-form .block-lead{
	margin-bottom: 6.5rem;
}

@media print,screen and (min-width: 600px) {
	#contact .sec-form .block-lead,
	#confirm .sec-form .block-lead{
		margin-bottom: 9.5rem;
	}
}

/* thankyou
--------------------------------------*/
#thankyou .sec-thankyou .block-txt{
	margin-bottom: 6rem;
}

@media print,screen and (min-width: 600px) {
	#thankyou .sec-thankyou{
		display: flex;
		justify-content: center;
	}
	#thankyou .sec-thankyou .block-txt{
		margin-bottom: 10rem;
	}
}


/*====================================
news
====================================*/
#news .news-item-head{
	display: flex;
	align-items: center;
	margin-bottom: 1.3rem;
}
#news .news-item-time{
	display: flex;
	align-items: center;
}
#news .news-item-time-icon{
	width: 1rem;
	height: 1rem;
}
#news .news-item-time-txt{
	font-size: 1.3rem;
	margin-left: 0.7rem;
}
#news .news-item-cat{
	display: inline-block;
	font-size: 1.3rem;
	padding: 0.8rem;
}
#news .news-item-ttl{
	font-size: 1.8rem;
	line-height: 2;
}
#news .news-item-tag-list{
	margin-top: 0.4rem;
	display: flex;
	flex-wrap: wrap;
	width: calc(100% + 1.5rem);
}
#news .news-item-tag{
	display: block;
	font-size: 1.3rem;
	line-height: 1.3;
	margin-right: 1.5rem;
	margin-top: 1.5rem;
}

#news .sec-archive .news-item .img--posted{
	padding-bottom: 65.81%;
}
#news .sec-archive .news-item-head{
	justify-content: space-between;
	margin-top: 1.5rem;
}

#news .sec-single .single-head{
	margin-bottom: 7rem;
}
#news .sec-single .news-item-time{
	margin-right: 2rem;
}
#news .sec-single .main-img{
	margin-bottom: 7rem;
}
#news .sec-single .btn-to-archive{
	margin-top: 9.5rem;
}

@media only screen and (max-width: 599px) {
	#news .sec-archive .news-item:not(:last-child){
		margin-bottom: 7rem;
	}
}

@media print,screen and (min-width: 600px) {
	#news .sec-archive .news-list{
		display: flex;
		flex-wrap: wrap;
	}
	#news .sec-archive .news-item{
		width: calc((100% - 8rem) / 3);
	}
	#news .sec-archive .news-item:not(:nth-child(3n)){
		margin-right: 4rem;
	}
	#news .sec-archive .news-item:nth-child(n+4){
		margin-top: 10rem;
	}
	#news .sec-archive .news-item .img--posted{
		padding-bottom: 65.9%;
	}
	#news .sec-archive .news-item-ttl{
		-webkit-line-clamp: 2;
		height: 4em;
	}

	#news .sec-single .single-head{
		margin-bottom: 15rem;
	}
	#news .sec-single .news-item-ttl{
		font-size: 2.8rem;
		line-height: 1.78;
	}
	#news .sec-single .main-img{
		width: 88rem;
		margin: 0 auto 15rem auto;
	}
	#news .sec-single .btn-to-archive{
		margin: 14.5rem auto 0 auto;
	}
}

/*====================================
projects
====================================*/
#projects .projects-item-head{
	margin-top: 2rem;
	margin-bottom: 1.5rem;
}
#projects .projects-item-cat{
	display: inline-block;
	font-size: 1.3rem;
	padding: 0.8rem;
}
#projects .projects-item-ttl{
	font-size: 1.8rem;
	line-height: 2;
}
#projects .projects-item-tag-list{
	margin-top: 0.4rem;
	display: flex;
	flex-wrap: wrap;
	width: calc(100% + 1.5rem);
}
#projects .projects-item-tag{
	display: block;
	font-size: 1.3rem;
	line-height: 1.3;
	margin-right: 1.5rem;
	margin-top: 1.5rem;
}

#projects .sec-archive .projects-item .img--posted{
	padding-bottom: 75.42%;
}

#projects .sec-single .single-head{
	margin-bottom: 7rem;
}
#projects .sec-single .main-img{
	margin-bottom: 7rem;
}
#projects .sec-single .btn-to-archive{
	margin-top: 9.5rem;
}

@media only screen and (max-width: 599px) {
	#projects .sec-archive .projects-item:not(:last-child){
		margin-bottom: 7rem;
	}
}

@media print,screen and (min-width: 600px) {
	#projects .sec-archive .projects-list{
		display: flex;
		flex-wrap: wrap;
	}
	#projects .sec-archive .projects-item{
		width: calc((100% - 16rem) / 5);
	}
	#projects .sec-archive .projects-item:not(:nth-child(5n)){
		margin-right: 4rem;
	}
	#projects .sec-archive .projects-item:nth-child(n+6){
		margin-top: 6.5rem;
	}
	#projects .sec-archive .projects-item .img--dummy img{
		width: calc(22.5rem * 0.7);
		height: calc(9.7rem * 0.7);
		top: calc((100% - 9.7rem * 0.7) / 2);
		left: calc((100% - 22.5rem * 0.7) / 2);
	}

	#projects .sec-single .single-head{
		margin-bottom: 15rem;
	}
	#projects .sec-single .projects-item-ttl{
		font-size: 2.8rem;
		line-height: 1.78;
	}
	#projects .sec-single .main-img{
		width: 88rem;
		margin: 0 auto 15rem auto;
	}
	#projects .sec-single .btn-to-archive{
		margin: 14.5rem auto 0 auto;
	}
}

/*====================================
join
====================================*/
#join .sec-pamphlet{
	box-sizing: border-box;
	padding: 3rem;
}
#join .sec-pamphlet .btn{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 10rem;
}
#join .sec-pamphlet .btn-txt{
	font-size: 1.8rem;
	margin-right: 1.5rem;
}

@media only screen and (max-width: 599px) {
	#join .sec-pamphlet .block-txt{
		margin-bottom: 2.4rem;
	}
}

@media print,screen and (min-width: 600px) {
	#join .sec-pamphlet{
		display: flex;
		padding: 6rem;
	}
	#join .sec-pamphlet .block-txt{
		flex: 1;
		padding-right: 4rem;
	}
	#join .sec-pamphlet .block-btn{
		width: 38rem;
	}
}

/* type
--------------------------------------*/
#join .sec-joinus{
	padding-top: 7rem;
}
#join .sec-type .block-txt{
	margin-bottom: 2.5rem;
}
#join .sec-type .block-table table{
	box-sizing: border-box;
	border: 1px solid #E8E8E8;
	width: 130rem;
}
#join .sec-type .block-table th,
#join .sec-type .block-table td{
	box-sizing: border-box;
	vertical-align: middle;
}
#join .sec-type .block-table th:not(:last-child),
#join .sec-type .block-table td:not(:last-child){
	border-right: 1px solid #E8E8E8;
}
#join .sec-type .block-table tr:not(:last-child) th,
#join .sec-type .block-table tr:not(:last-child) td{
	border-bottom: 1px solid #E8E8E8;
}
#join .sec-type .block-table th{
	text-align: center;
	font-size: 1.8rem;
	padding: 1.7rem 2rem;
}
#join .sec-type .block-table th:nth-child(1){
	width: 18rem;
}
#join .sec-type .block-table th:nth-child(2){
	width: 25rem;
}
#join .sec-type .block-table th:nth-child(3){
	width: 32rem;
}
#join .sec-type .block-table th:nth-child(4){
	width: 55.3rem;
}
#join .sec-type .block-table td{
	padding: 2rem 5.5rem 2rem 6rem;
}
#join .sec-type .block-table td:nth-last-child(3){
	padding-left: 5rem;
	padding-right: 4rem;
}
#join .sec-type .block-table td:nth-last-child(2){
	padding-left: 12.5rem;
	padding-right: 11.5rem;
}
#join .sec-type .block-table td:nth-last-child(1){
	padding-left: 11rem;
	padding-right: 10rem;
}
#join .sec-type .block-btn{
	margin-top: 5rem;
}

@media only screen and (max-width: 959px) {
	#join .sec-type .block-table{
		margin-left: calc((100vw - 100%) / 2 * -1);
		width: 100vw;
	}
	#join .sec-type .block-table .area-scroll{
		box-sizing: border-box;
		width: 100%;
		overflow-x: scroll;
		padding-left: calc((100vw - 130rem) / 2);
		padding-right: calc((100vw - 130rem) / 2);
	}
	#join .sec-type .block-table table{
		width: 1300px;
	}
}
@media only screen and (max-width: 599px) {
	#join .sec-type .block-table .area-scroll{
		padding-left: calc((100vw - 35.4rem) / 2);
		padding-right: calc((100vw - 35.4rem) / 2);
	}
}

@media print,screen and (min-width: 600px) {
	#join .sec-joinus{
		padding-top: 15rem;
	}
	#join .sec-type .block-txt{
		margin-bottom: 3.5rem;
	}
	#join .sec-type .block-btn{
		margin-top: 7rem;
	}
}

/* application
--------------------------------------*/
#join .sec-application .btn{
	margin-top: 4.5rem;
}
#join .sec-application .btn-txt{
	margin-right: 1.5rem;
}

@media print,screen and (min-width: 600px) {
	#join .sec-application .btn{
		margin: 6.5rem auto 0 auto;
	}
}

/* contact
--------------------------------------*/
#join .sec-contact .block-txt{
	margin-bottom: 2.5rem;
}
#join .sec-contact .block-contact{
	padding: 3rem;
}
#join .sec-contact .box-contact{
	box-sizing: border-box;
	padding: 3.3rem 3rem 3rem 3rem;
}
#join .sec-contact .box-contact .item-ttl-wrap{
	display: flex;
	align-items: center;
}
#join .sec-contact .box-contact .item-ttl{
	font-size: 1.8rem;
	margin-left: 1rem;
}
#join .sec-contact .box-contact .item-txt{
	font-size: 1.8rem;
}

@media only screen and (max-width: 599px) {
	#join .sec-contact .box-contact:not(:last-child){
		margin-bottom: 1rem;
	}
	#join .sec-contact .box-contact .item-ttl-wrap{
		justify-content: center;
		margin-bottom: 2rem;
	}
	#join .sec-contact .box-contact .item-txt{
		text-align: center;
	}
	#join .sec-contact .box-contact.box-tel{
		padding-top: 2.7rem;
	}
	#join .sec-contact .box-contact.box-tel .item-ttl-wrap{
		margin-bottom: 1.5rem;
	}
}

@media print,screen and (min-width: 600px) {
	#join .sec-contact .block-txt{
		margin-bottom: 3.5rem;
	}
	#join .sec-contact .block-contact{
		padding: 6rem;
		/* display: flex;
		justify-content: space-between; */
	}
	#join .sec-contact .box-contact{
		/* width: calc((100% - 2rem) / 2); */
		height: 10rem;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#join .sec-contact .box-contact .item-txt{
		margin-left: 2rem;
	}
	#join .sec-contact .box-contact.box-tel a{
		pointer-events: none;
	}
}

/*====================================
about
====================================*/
#about .sec-lead{
	padding-bottom: 7rem;
}
#about .sec-lead .block-txt{
	margin-bottom: 9.5rem;
}
#about .sec-lead .block-link{
	display: flex;
	justify-content: center;
}
#about .sec-lead .block-link .btn{
	width: calc((100% - 2rem) / 2);
	position: relative;
	height: 7rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.2rem;
}
#about .sec-lead .block-link .btn:before{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
	width: 1rem;
	height: 1rem;
	border: 2px solid #A5A5A5;
	border-radius: 100%;
	bottom: 1rem;
	right: 1rem;
}
#about .sec-lead .block-link .btn.is--active:before{
	border-color: #fff;
	background-color: #fff;
}
#about .sec-lead .block-link .btn:not(:last-child){
	margin-right: 2rem;
}

@media print,screen and (min-width: 600px) {
	#about .sec-lead{
		padding-bottom: 10rem;
	}
	#about .sec-lead .block-txt{
		margin-bottom: 19.5rem;
	}
	#about .sec-lead .block-link .btn{
		width: 31rem;
		height: 9rem;
		font-size: 2.8rem;
		transition: background .3s ease, color .3s ease;
	}
	#about .sec-lead .block-link .btn:before{
		transition: background .3s ease, border .3s ease;
	}
	#about .sec-lead .block-link a.btn:hover{
		background-color: #00A0C8;
		color: #fff;
	}
	#about .sec-lead .block-link a.btn:hover:before{
		border-color: #fff;
		background-color: #fff;
	}
}

/* concept
--------------------------------------*/
#about.page--concept .sec-concept{
	padding: 5rem 0;
}
#about.page--concept .sec-concept .concept-content{
	box-sizing: border-box;
	padding: 5.5rem 3rem 5rem 3rem;
	box-shadow: 0px 0px 3rem 0 rgba(0, 77, 97, .45);
}
#about.page--concept .sec-concept .concept-content-inner{
	background: url(../img/common/bg-crisscross.png) 0.4rem 0.4rem;
	background-size: 5rem 5rem;
}
#about.page--concept .sec-concept .btn-to-page{
	margin-top: 5rem;
}

@media print,screen and (min-width: 600px) {
	#about.page--concept .sec-concept{
		padding: 10rem 0;
	}
	#about.page--concept .sec-concept .concept-content{
		padding: 3rem 4.5rem;
	}
	#about.page--concept .sec-concept .concept-content-inner{
		padding: 6.5rem 10.5rem;
	}
	#about.page--concept .sec-concept .btn-to-page{
		margin: 10rem auto 0 auto;
	}
}

/* overview */
#about.page--concept .sec-overview{
	padding: 7rem 0 6.5rem 0;
	border-bottom: 1px solid #D4D4D4;
}
#about.page--concept .sec-overview .overview-item:not(:last-child){
	margin-bottom: 4.5rem;
}
#about.page--concept .sec-overview .overview-label{
	font-size: 1.8rem;
	line-height: 1.66;
}
#about.page--concept .sec-overview .overview-subitem{
	display: flex;
}
#about.page--concept .sec-overview .overview-subtxt{
	flex: 1;
}

@media only screen and (max-width: 599px) {
	#about.page--concept .sec-overview .overview-list:not(:last-child){
		margin-bottom: 4.5rem;
	}
	#about.page--concept .sec-overview .overview-label{
		padding-bottom: 1.2rem;
		background-image: linear-gradient(to right, #D4D4D4, #D4D4D4 0.7rem, transparent 0.7rem, transparent 1.4rem);
		background-size: 1.4rem 1px;
		background-position: left bottom;
		background-repeat: repeat-x;
	}
	#about.page--concept .sec-overview .overview-txt{
		padding-top: 1.2rem;
	}
}

@media print,screen and (min-width: 600px) {
	#about.page--concept .sec-overview{
		padding: 20rem 0;
	}
	#about.page--concept .sec-overview .sec-ttl{
		margin-bottom: 5rem;
	}
	#about.page--concept .sec-overview .overview-list-wrap{
		padding: 0 5rem;
		display: flex;
		justify-content: space-between;
	}
	#about.page--concept .sec-overview .overview-item{
		display: flex;
		align-items: center;
	}
	#about.page--concept .sec-overview .overview-item:not(:last-child){
		margin-bottom: 4rem;
	}
	#about.page--concept .sec-overview .overview-label{
		width: 11.5rem;
	}
	#about.page--concept .sec-overview .overview-txt{
		flex: 1;
		padding: 1rem 4.5rem;
		background-image: linear-gradient(to bottom, #D4D4D4, #D4D4D4 0.7rem, transparent 0.7rem, transparent 1.4rem);
		background-size: 1px 1.4rem;
		background-position: left top;
		background-repeat: repeat-y;
	}
	#about.page--concept .sec-overview .overview-list2 .overview-label{
		width: 8rem;
	}
	#about.page--concept .sec-overview .overview-list2 .overview-txt{
		padding-right: 0;
	}
}

/* fellow */
#about.page--concept .sec-fellow{
	padding: 7rem 0 6.5rem 0;
	border-bottom: 1px solid #D4D4D4;
}

@media print,screen and (min-width: 600px) {
	#about.page--concept .sec-fellow{
		padding: 12rem 0;
	}
	#about.page--concept .sec-fellow .block-fellow{
		display: flex;
		justify-content: center;
	}
}

/* partner */
#about.page--concept .sec-partner{
	padding-top: 7rem;
}
#about.page--concept .sec-partner .sec-ttl-wrap{
	margin-bottom: 3rem;
}
#about.page--concept .sec-partner .sec-ttl{
	margin-bottom: 0;
}
#about.page--concept .sec-partner .sub-ttl{
	line-height: 1;
}
#about.page--concept .sec-partner .sec-ttl-wrap .detail-txt{
	margin-top: 1rem;
	font-size: 1.3rem;
	line-height: 1.5;
}
#about.page--concept .sec-partner .block-partner .box-partner:not(:last-child){
	margin-bottom: 4rem;
}
#about.page--concept .sec-partner .block-partner .box-partner .box-ttl{
	margin-bottom: 1.4rem;
}
#about.page--concept .sec-partner .block-partner .partner-special{
	margin-top: 5rem;
}
#about.page--concept .sec-partner .block-partner .partner-special .ttl{
	width: 9.4rem;
	height: 4rem;
	border-radius: 10rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 2rem auto;
	font-size: 1.3rem;
}
#about.page--concept .sec-partner .block-partner .partner-special .partner-list{
	display: flex;
	justify-content: center;
}
#about.page--concept .sec-partner .block-detail{
	margin-top: 7rem;
	padding: 3rem;
}
#about.page--concept .sec-partner .block-detail .detail-item{
	padding: 3rem 3rem 2.5rem 3rem;
}
#about.page--concept .sec-partner .block-detail .detail-ttl{
	margin-bottom: 1.4rem;
}

@media only screen and (max-width: 599px) {
	#about.page--concept .sec-partner .block-detail .detail-item:not(:last-child){
		margin-bottom: 1rem;
	}
}

@media print,screen and (min-width: 600px) {
	#about.page--concept .sec-partner{
		padding-top: 10rem;
	}
	#about.page--concept .sec-partner .sec-ttl-wrap{
		margin-bottom: 7rem;
	}
	#about.page--concept .sec-partner .sub-ttl{
		font-size: 1.8rem;
	}
	#about.page--concept .sec-partner .sec-ttl-wrap .detail-txt{
		text-align: center;
		margin-top: 1.5rem;
	}
	#about.page--concept .sec-partner .block-partner{
		width: calc(100% - 6rem * 2);
		margin-left: auto;
		margin-right: auto;
	}
	#about.page--concept .sec-partner .block-partner .box-partner:not(:last-child){
		margin-bottom: 6rem;
	}
	#about.page--concept .sec-partner .block-partner .box-partner .box-ttl{
		font-size: 1.8rem;
	}
	#about.page--concept .sec-partner .block-partner .box-partner .partner-list-wrap{
		display: flex;
	}
	#about.page--concept .sec-partner .block-partner .box-partner .partner-list{
		box-sizing: border-box;
		width: calc(100% / 3);
		padding-right: 2rem;
	}
	#about.page--concept .sec-partner .block-partner .box-partner.box2 .partner-list:nth-child(1){
		width: 49rem;
	}
	#about.page--concept .sec-partner .block-partner .box-partner.box2 .partner-list:nth-child(2){
		flex: 1;
	}
	#about.page--concept .sec-partner .block-partner .box-partner.box2 .partner-list:nth-child(3){
		width: 42rem;
	}
	#about.page--concept .sec-partner .block-partner .partner-special{
		margin-top: 8.6rem;
	}
	#about.page--concept .sec-partner .block-partner .partner-special .ttl{
		width: 12rem;
		height: 5rem;
		margin-bottom: 3rem;
		font-size: 1.8rem;
	}
	#about.page--concept .sec-partner .block-detail{
		display: flex;
		justify-content: space-between;
		margin-top: 10rem;
		padding: 6rem;
	}
	#about.page--concept .sec-partner .block-detail .detail-item{
		box-sizing: border-box;
		width: calc((100% - 1rem) / 2);
		padding: 5.5rem 6rem;
	}
}

/* vision
--------------------------------------*/
#about.page--vision .sec-cycle{
	padding-bottom: 7rem;
}
#about.page--vision .sec-cycle .btn-popup{
	margin-top: 5rem;
}
#about.page--vision .popup--cycle .scroll-area{
	width: 100vw;
	max-height: calc(100vh - 20rem);
	overflow-x: scroll;
	overflow-y: scroll;
}
#about.page--vision .popup--cycle .figure-wrap{
	background-color: #fff;
	width: 90.4rem;
	padding: 5rem;
	margin-left: 3rem;
	margin-right: 3rem;
}

#about.page--vision .cycle-figure-wrap .circle{
	position: relative;
	margin: 0 auto;
	width: 62.4rem;
}
#about.page--vision .cycle-figure-wrap .vision-item:not(.item1){
	position: absolute;
	top: 10.5rem;
}
#about.page--vision .cycle-figure-wrap .vision-item{
	width: 38rem;
}
#about.page--vision .cycle-figure-wrap .vision-box{
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	border-radius: 1rem;
	font-size: 1.8rem;
	line-height: 1.66;
	padding: 1.5rem 2rem;
}
#about.page--vision .cycle-figure-wrap .vision-ttl{
	min-height: 9rem;
}
#about.page--vision .cycle-figure-wrap .vision-txt{
	min-height: 6rem;
}
#about.page--vision .cycle-figure-wrap .vision-box:not(:last-child){
	margin-bottom: 1rem;
}
#about.page--vision .cycle-figure-wrap .vision-item.item1{
	position: relative;
	margin: -14.9rem auto 0 auto;
}
#about.page--vision .cycle-figure-wrap .vision-item.item2{
	left: -15rem;
}
#about.page--vision .cycle-figure-wrap .vision-item.item3{
	right: -15rem;
}
#about.page--vision .cycle-figure-wrap .vision-item.item3 .vision-txt{
	min-height: 9.5rem;
}

@media print,screen and (min-width: 600px) {
	#about.page--vision .sec-cycle{
		padding-top: 5rem;
		padding-bottom: 20rem;
	}
}

/* v-a */
#about.page--vision .sec-v-a{
	padding-top: 7rem;
	padding-bottom: 5rem;
}
#about.page--vision .sec-v-a .v-block:not(:last-child){
	margin-bottom: 5rem;
}
#about.page--vision .sec-v-a .v-ttl-box{
	margin-bottom: 2rem;
}
#about.page--vision .sec-v-a .v-num{
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-radius: 100%;
	background: linear-gradient(to right, #0192EA 0%, #14BAD1 100%);
	width: 8rem;
	height: 8rem;
}
#about.page--vision .sec-v-a .v-num .txt{
	line-height: 1;
	margin-bottom: 0.5rem;
}
#about.page--vision .sec-v-a .v-num .num{
	font-size: 3rem;
}
#about.page--vision .sec-v-a .v-ttl{
	font-size: 2.2rem;
}
#about.page--vision .sec-v-a .a-list-wrap{
	margin-top: 2.5rem;
	padding: 3rem 3rem 2.5rem 3rem;
}
#about.page--vision .sec-v-a .a-block:not(:last-child){
	margin-bottom: 2.5rem;
}
#about.page--vision .sec-v-a .a-label{
	font-size: 1.8rem;
	border-radius: 1rem;
}
#about.page--vision .sec-v-a .a-txt{
	font-size: 1.8rem;
	line-height: 1.66;
}
#about.page--vision .sec-v-a .btn-to-page{
	margin-top: 5rem;
}

@media only screen and (max-width: 599px) {
	#about.page--vision .sec-v-a .v-ttl-box{
		display: flex;
		align-items: center;
	}
	#about.page--vision .sec-v-a .v-ttl{
		flex: 1;
		padding-left: 2rem;
	}
	#about.page--vision .sec-v-a .a-label{
		display: inline-block;
		margin-bottom: 1rem;
		padding: 1.1rem 1.6rem;
	}
}

@media print,screen and (min-width: 600px) {
	#about.page--vision .sec-v-a{
		padding: 10rem 0;
	}
	#about.page--vision .sec-v-a .v-block:not(:last-child){
		margin-bottom: 10rem;
	}
	#about.page--vision .sec-v-a .v-ttl-box,
	#about.page--vision .sec-v-a .v-lead-txt{
		padding-left: 12rem;
	}
	#about.page--vision .sec-v-a .v-ttl-box{
		margin-bottom: 1.5rem;
		position: relative;
	}
	#about.page--vision .sec-v-a .v-num{
		width: 10rem;
		height: 10rem;
		position: absolute;
		left: 0;
		top: 0;
	}
	#about.page--vision .sec-v-a .v-num .txt{
		margin-bottom: 0.7rem;
	}
	#about.page--vision .sec-v-a .v-num .num{
		font-size: 4rem;
	}
	#about.page--vision .sec-v-a .v-ttl{
		font-size: 2.4rem;
	}
	#about.page--vision .sec-v-a .a-list-wrap{
		margin-top: 4rem;
		padding: 4rem;
	}
	#about.page--vision .sec-v-a .a-block{
		display: flex;
	}
	#about.page--vision .sec-v-a .a-block:not(:last-child){
		margin-bottom: 2rem;
	}
	#about.page--vision .sec-v-a .a-label{
		box-sizing: border-box;
		width: 12rem;
		height: 4rem;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#about.page--vision .sec-v-a .a-txt{
		flex: 1;
		padding-left: 2rem;
		padding-top: 0.4rem;
	}
	#about.page--vision .sec-v-a .btn-to-page{
		margin: 10rem auto 0 auto;
	}
}

/*====================================
yoxo
====================================*/
#yoxo .sec-about{
	padding-bottom: 7rem;
}
#yoxo .sec-about .block-lead{
	margin-bottom: 7rem;
}
#yoxo .sec-about .block-lead .btn-to-page{
	margin-top: 4.5rem;
	min-height: 10rem;
}

#yoxo .sec-about .block-figure .btn-popup{
	margin-top: 5rem;
}
#yoxo .popup--yoxo-chain .scroll-area{
	width: 100vw;
	max-height: calc(100vh - 20rem);
	overflow-x: scroll;
	overflow-y: scroll;
}
#yoxo .popup--yoxo-chain .figure-wrap{
	background-color: #fff;
	width: 116.5rem;
	padding: 5rem;
	margin-left: 3rem;
	margin-right: 3rem;
}

#yoxo .chain-figure-wrap .chain-wrap{
	/* padding: 12.4rem; */
	padding: 11.8rem 0;
}
#yoxo .chain-figure-wrap .chain{
	position: relative;
	/* width: 91.9rem; */
	width: 71rem;
	margin: 0 auto;
}
#yoxo .chain-figure-wrap .company{
	position: absolute;
	width: 30rem;
	left: calc((100% - 30rem) / 2);
	/* top: 22.8rem; */
	top: 16rem;
}
#yoxo .chain-figure-wrap .circle{
	position: absolute;
	box-sizing: border-box;
	border-radius: 100%;
	width: 25.4rem;
	height: 25.4rem;
	border: 0.5rem solid #00A0C8;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-left: 2.4rem;
	padding-right: 2.4rem;
}
#yoxo .chain-figure-wrap .circle-ttl{
	font-size: 2.8rem;
	line-height: 1.28;
}
#yoxo .chain-figure-wrap .circle-txt{
	font-size: 1.5rem;
	line-height: 1.44;
	margin-top: 0.9rem;
}
#yoxo .chain-figure-wrap .circle .newtab-arrow{
	position: absolute;
	width: 3.4rem;
	height: 3.4rem;
	border: 0.7rem solid #fff;
	border-radius: 100%;
	right: 0.7rem;
	bottom: 1.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
#yoxo .chain-figure-wrap .circle .newtab-arrow-icon{
	width: 1.2rem;
	height: 1.2rem;
}
#yoxo .chain-figure-wrap .circle1{
	/* top: -12.4rem;
	left: 7.6rem; */
	top: -11.8rem;
	left: -11.8rem;
}
#yoxo .chain-figure-wrap .circle2{
	/* top: -12.4rem;
	right: 7.6rem; */
	top: -11.8rem;
	right: -11.8rem;
}
#yoxo .chain-figure-wrap .circle3{
	/* top: 17rem;
	right: -12.4rem; */
	right: -11.8rem;
	bottom: -11.8rem;
}
#yoxo .chain-figure-wrap .circle4{
	bottom: -12.4rem;
	right: 7.6rem;
}
#yoxo .chain-figure-wrap .circle5{
	bottom: -12.4rem;
	left: 7.6rem;
}
#yoxo .chain-figure-wrap .circle6{
	/* top: 17rem;
	left: -12.4rem; */
	bottom: -11.8rem;
	left: -11.8rem;
}

@media only screen and (max-width: 599px) {
	#yoxo .sec-about .block-lead .btn-to-page{
		line-height: 1.66;
		text-align: center;
	}
}

@media print,screen and (min-width: 600px) {
	#yoxo .sec-about{
		padding-bottom: 15rem;
	}
	#yoxo .sec-about .block-lead{
		margin-bottom: 15rem;
	}
	#yoxo .sec-about .block-lead .btn-to-page{
		margin-left: auto;
		margin-right: auto;
	}
}

#yoxo .sec-startup{
	padding: 7rem 0;
}
#yoxo .sec-startup .sub-ttl{
	line-height: 1;
}
#yoxo .sec-startup .btn-to-page{
	margin-top: 4.5rem;
	height: 10rem;
}

@media only screen and (max-width: 599px) {
	#yoxo .sec-startup .btn-to-page{
		line-height: 1.66;
		text-align: center;
	}
}
@media print,screen and (min-width: 600px) {
	#yoxo .sec-startup{
		padding: 10rem 0;
	}
	#yoxo .sec-startup .sub-ttl{
		font-size: 1.8rem;
	}
	#yoxo .sec-startup .btn-to-page{
		margin-left: auto;
		margin-right: auto;
	}
}

/*====================================
startup
====================================*/
#startup .sec-about .sub-ttl{
	line-height: 1;
}
#startup .sec-about .block-numbers{
	margin-top: 6.5rem;
}

#startup .sec-about .numbers-container{
	margin-bottom: 3rem;
	padding: 0 3rem;
}
#startup .sec-about .numbers-num{
	font-size: 10rem;
}
#startup .sec-about .numbers-txt{
	font-size: 1.8rem;
	margin-top: 2.5rem;
}

#startup .sec-about .ranking-container{
	padding: 5rem 0;
}
#startup .sec-about .ranking-list-ttl{
	margin-bottom: 4rem;
}
#startup .sec-about .ranking-list-ttl-inner{
	position: relative;
	display: inline-block;
}
#startup .sec-about .ranking-list-ttl .ttl{
	font-size: 2.4rem;
}
#startup .sec-about .ranking-list-ttl .kome{
	position: absolute;
	line-height: 1;
	top: calc(50% - 0.5em);
	right: calc(-0.5rem - 1.5em);
}
#startup .sec-about .ranking-box{
	position: relative;
	padding-bottom: 3.5rem;
}
#startup .sec-about .ranking-ttl{
	font-size: 1.8rem;
}
#startup .sec-about .ranking-num{
	font-size: 8rem;
	margin-top: -0.5rem;
}
#startup .sec-about .ranking-unit{
	font-size: 1.8rem;
	margin-top: 0.5rem;
}
#startup .sec-about .ranking-deco{
	position: absolute;
	bottom: 0;
	left: calc((100% - 10.8rem) / 2);
	width: 10.8rem;
}
#startup .sec-about .wrap-btm-kome{
	margin-top: 2rem;
	padding-left: 1.8em;
	text-indent: -1.8em;
}

@media only screen and (max-width: 599px) {
	#startup .sec-about .numbers-box{
		padding: 4.3rem 0;
	}
	#startup .sec-about .numbers-box:not(:last-child){
		border-bottom: 1px solid #707070;
	}
	#startup .sec-about .ranking-container:not(:last-child){
		margin-bottom: 3rem;
	}
	#startup .sec-about .ranking-box:not(:last-child){
		margin-bottom: 4.5rem;
	}

	#startup .sec-about .ranking-container.container2 .ranking-list-ttl .ttl{
		line-height: 1.66;
	}
	#startup .sec-about .ranking-container.container2 .ranking-list-ttl .kome{
		top: auto;
		bottom: 1.2rem;
	}
}

@media print,screen and (min-width: 600px) {
	#startup .sec-about .sub-ttl{
		font-size: 1.8rem;
	}
	#startup .sec-about .block-numbers{
		margin-top: 19.5rem;
	}
	#startup .sec-about .numbers-container{
		margin-bottom: 4rem;
		padding: 6rem 0;
	}
	#startup .sec-about .numbers-list{
		display: flex;
		justify-content: center;
	}
	#startup .sec-about .numbers-box{
		width: 33.5rem;
	}
	#startup .sec-about .numbers-box:not(:last-child){
		border-right: 1px solid #707070;
	}

	#startup .sec-about .ranking-container-wrap{
		display: flex;
		justify-content: space-between;
	}
	#startup .sec-about .ranking-container{
		box-sizing: border-box;
		width: calc((100% - 4rem) / 2);
	}
	#startup .sec-about .ranking-list{
		display: flex;
		justify-content: center;
	}
	#startup .sec-about .ranking-box{
		width: 10.8rem;
	}
	#startup .sec-about .ranking-box:not(:last-child){
		margin-right: 5rem;
	}
	#startup .sec-about .ranking-ttl{
		width: calc(100% + 4em);
		margin-left: -2em;
	}

	#startup .sec-about .ranking-container.container2 .ranking-box:not(:last-child){
		margin-right: 9rem;
	}
}

/* why
--------------------------------------*/
#startup .sec-why{
	padding: 7rem 0 6.5rem 0;
}
#startup .sec-why .why-block:not(:last-child){
	padding-bottom: 4.5rem;
	border-bottom: 1px solid #707070;
}
#startup .sec-why .why-block:not(:first-child){
	padding-top: 5rem;
}
#startup .sec-why .why-ttl{
	font-size: 2.2rem;
	line-height: 1.63;
	margin-bottom: 2.5rem;
}
#startup .sec-why .why-link{
	margin-top: 2.5rem;
}

@media only screen and (max-width: 599px) {
	#startup .sec-why .why-txt-box{
		padding-top: 2.7rem;
	}
}

@media print,screen and (min-width: 600px) {
	#startup .sec-why{
		padding: 10.5rem 0 15rem 0;
	}
	#startup .sec-why .sec-ttl{
		margin-bottom: 6rem;
	}
	#startup .sec-why .why-block{
		display: flex;
	}
	#startup .sec-why .why-block:not(:last-child){
		padding-bottom: 10rem;
	}
	#startup .sec-why .why-block:not(:first-child){
		padding-top: 10rem;
	}
	#startup .sec-why .why-img-box{
		width: 62.1rem;
	}
	#startup .sec-why .why-txt-box{
		flex: 1;
	}
	#startup .sec-why .why-block:nth-child(odd) .why-txt-box{
		padding-left: 5rem;
	}
	#startup .sec-why .why-block:nth-child(even) .why-img-box{
		order: 2;
	}
	#startup .sec-why .why-block:nth-child(even) .why-txt-box{
		order: 1;
		padding-right: 5rem;
	}
	#startup .sec-why .why-ttl{
		font-size: 2.4rem;
		margin-bottom: 2.5rem;
	}
	#startup .sec-why .why-link{
		margin-top: 4.5rem;
		text-align: right;
	}
}

/* db
--------------------------------------*/
#startup .sec-db{
	padding: 7rem 0;
}
#startup .sec-db .db-container{
	padding: 3rem;
}
#startup .sec-db .block-search{
	margin-bottom: 5rem;
}

@media only screen and (max-width: 599px) {
	#startup .sec-db .sec-ttl{
		line-height: 1.63;
	}
}

@media print,screen and (min-width: 600px) {
	#startup .sec-db{
		padding: 10rem 0 15rem 0;
	}
	#startup .sec-db .sec-ttl{
		margin-bottom: 5.5rem;
	}
	#startup .sec-db .db-container{
		padding: 8rem;
	}
	#startup .sec-db .block-search{
		margin-bottom: 8rem;
	}
}

/* parts--search */
.parts--search{
	padding: 3rem;
}
.parts--search .search-label{
	font-size: 1.8rem;
}
.parts--search button{
	width: 100%;
	height: 7rem;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-left: 3.4rem;
}
.parts--search button .btn-txt{
	font-size: 1.8rem;
	margin-right: 1.5rem;
}
.parts--search-industry{
	padding-bottom: 4rem;
	border-bottom: 1px solid #D4D4D4;
}
.parts--search-industry .search-btn{
	margin-top: 1rem;
}
.parts--search-industry .input--checkbox{
	display: inline-block;
	margin-bottom: 1.5rem;
}
.parts--search-industry .input--checkbox span{
	padding-left: 2.8rem;
	line-height: 2;
}
.parts--search-industry .input--checkbox span:before{
	width: 1.8rem;
	height: 1.8rem;
	border-radius: 0;
	border-color: #D4D4D4;
	top: 0.6rem;
}
.parts--search-industry .input--checkbox span:after{
	left: 0.6rem;
	top: 1.5rem;
}
.parts--search-keyword{
	padding-top: 4rem;
}
.parts--search-keyword button{
	padding-left: 1.2rem;
}
.parts--search-keyword button .btn-txt{
	margin-right: 1.9rem;
}

@media only screen and (max-width: 599px) {
	.parts--search .search-label{
		text-align: center;
		margin-bottom: 1.5rem;
	}
	.parts--search-keyword .search-btn{
		margin-top: 1rem;
	}
	.parts--search-industry .input--checkbox{
		display: block;
	}
}

@media print,screen and (min-width: 600px) {
	.parts--search{
		padding: 4rem;
	}
	.parts--search-industry .search-label{
		margin-bottom: 1.5rem;
	}
	.parts--search-industry .search-input{
		width: calc(100% + 3rem);
	}
	.parts--search-industry .input--checkbox{
		margin-right: 3rem;
	}
	.parts--search-industry .search-btn{
		margin-top: 2.5rem;
	}
	.parts--search-industry button{
		width: 30rem;
		margin: 0 auto;
		padding-left: 6.7rem;
	}
	.parts--search-industry button .btn-txt{
		margin-right: 4.8rem;
	}
	.parts--search-keyword{
		display: flex;
		align-items: center;
	}
	.parts--search-keyword .search-label{
		padding-right: 2rem;
	}
	.parts--search-keyword .search-input-wrap{
		flex: 1;
		display: flex;
	}
	.parts--search-keyword .search-input{
		flex: 1;
	}
	.parts--search-keyword .search-input input,
	.parts--search-keyword button{
		height: 6rem;
	}
	.parts--search-keyword .search-btn{
		width: 24rem;
	}
	.parts--search-keyword button{
		padding-left: 1.8rem;
	}
}

/* parts--search */
.parts--startup-list table{
	width: 100%;
}
.parts--startup-list th,
.parts--startup-list td{
	box-sizing: border-box;
	vertical-align: middle;
	width: 50%;
}
.parts--startup-list th{
	text-align: center;
	font-size: 1.8rem;
	padding: 1.8rem;
}
.parts--startup-list th:not(:last-child){
	border-right: 1px solid #fff;
}
.parts--startup-list td{
	padding: 1.5rem 1rem;
}
.parts--startup-list tr:not(:last-child) td{
	background-image: linear-gradient(to right, #D4D4D4, #D4D4D4 0.8rem, transparent 0.8rem, transparent 1.6rem);
	background-size: 1.6rem 1px;
	background-position: left bottom;
	background-repeat: repeat-x;
}
.parts--startup-list td:nth-child(3){
	text-align: center;
}
.parts--startup-list .company-name{
	position: relative;
	display: inline-block;
	padding-left: 1.5rem;
}
.parts--startup-list .company-name .arrow{
	position: absolute;
	left: 0;
	top: 0.6em;
	width: 1rem;
	height: 1rem;
}

@media only screen and (max-width: 599px) {
	.parts--startup-list th:nth-child(2),
	.parts--startup-list td:nth-child(2){
		display: none;
	}
}
@media print,screen and (min-width: 600px) {
	.parts--startup-list th:nth-child(1),
	.parts--startup-list td:nth-child(1){
		width: 35.96%;
	}
	.parts--startup-list th:nth-child(2),
	.parts--startup-list td:nth-child(2){
		width: 48.07%;
	}
	.parts--startup-list th:nth-child(3),
	.parts--startup-list td:nth-child(3){
		width: 15.96%;
	}
	.parts--startup-list td{
		padding: 3rem 2rem;
	}
}

/*====================================
startup single
====================================*/
#startup-s .sec-single .single-head{
	margin-bottom: 6.5rem;
}
#startup-s .sec-single .startup-ttl{
	font-size: 1.8rem;
	line-height: 2;
}
#startup-s .sec-single .startup-tbl{
	box-sizing: border-box;
	width: 100%;
	border: 1px solid #E8E8E8;
}
#startup-s .sec-single .startup-tbl th,
#startup-s .sec-single .startup-tbl td{
	box-sizing: border-box;
	padding: 2rem 3rem;
}
#startup-s .sec-single .single-txt{
	margin-top: 6.5rem;
}
#startup-s .sec-single .btn-to-archive{
	margin-top: 6.5rem;
}

@media only screen and (max-width: 599px) {
	#startup-s .sec-single .startup-tbl th,
	#startup-s .sec-single .startup-tbl td{
		display: block;
	}
	#startup-s .sec-single .startup-tbl th,
	#startup-s .sec-single .startup-tbl tr:not(:last-child) td{
		border-bottom: 1px solid #E8E8E8;
	}
}

@media print,screen and (min-width: 600px) {
	#startup-s .sec-single .startup-ttl{
		font-size: 2.8rem;
	}
	#startup-s .sec-single .startup-tbl{
		width: 110rem;
		margin-left: auto;
		margin-right: auto;
	}
	#startup-s .sec-single .startup-tbl tr:not(:last-child) th,
	#startup-s .sec-single .startup-tbl tr:not(:last-child) td{
		border-bottom: 1px solid #E8E8E8;
	}
	#startup-s .sec-single .startup-tbl th{
		width: 23.63%;
		text-align: center;
		border-right: 1px solid #E8E8E8;
	}
	#startup-s .sec-single .startup-tbl td{
		width: 76.37%;
	}
	#startup-s .sec-single .btn-to-archive{
		margin: 10rem auto 0 auto;
	}
}


/*====================================

====================================*/

@media only screen and (max-width: 599px) {
}

@media print,screen and (min-width: 600px) {
}

/*
--------------------------------------*/
