@charset "utf-8";
/* CSS Document */
/*====================================
Reset
====================================*/
html{
	width: 100%;
	font-size: 2.66666vw; /* 画面幅375pxの時1rem=10px */
	font-weight: 500;
}
body{
	min-width: 320px;
	line-height: 1;
	position: relative;
	overflow-x: hidden;
	overflow-wrap: break-word;
	word-wrap: break-word;
	font-family: 'Noto Sans JP', 'メイリオ', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color: #000;
	background: url(../img/common/body-bg-sp.jpg) no-repeat center top, #fff;
	background-size: 100% auto;
}

@media print,screen and (min-width: 600px) {
	html{
		font-size: 0.76923vw; /* 画面幅1300pxの時1rem=10px */
	}
}
@media print,screen and (min-width: 1300px) {
	html{
		font-size: 10px;
	}
	body{
		background-image: url(../img/common/body-bg-pc.jpg);
		background-repeat: repeat-x;
		background-size: 200rem auto;
	}
}

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,
.swiper-button-prev, .swiper-button-next{
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	outline: 0;
}
::selection {
	background: rgba(0, 177, 211, .3);
}

/*====================================
Common
====================================*/
.anchor{
	display: block;
	width: 0;
	height: 0;
	padding-top: 8rem;
	margin-top: -8rem;
}
.width--cmn{
	margin-left: auto;
	margin-right: auto;
	width: 33.5rem;
}
.fw--700{
	font-weight: 700;
}

@media only screen and (max-width: 599px) {
	.disp--pc{
		display: none !important;
	}
	.width--cmn-sp{
		margin-left: auto;
		margin-right: auto;
		width: 33.5rem;
	}
}

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

/* アイコン
--------------------------------------*/
.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: #000;
	transition: background .3s ease;
}
.icon--new-tab{
	mask-image: url(../img/common/icon-new-tab.svg);
	-webkit-mask-image: url(../img/common/icon-new-tab.svg);
}
.icon--instagram{
	mask-image: url(../img/common/icon-instagram.svg);
	-webkit-mask-image: url(../img/common/icon-instagram.svg);
}
.icon--line{
	mask-image: url(../img/common/icon-line.svg);
	-webkit-mask-image: url(../img/common/icon-line.svg);
}
.icon--map-pin{
	mask-image: url(../img/common/icon-map-pin.svg);
	-webkit-mask-image: url(../img/common/icon-map-pin.svg);
}
.icon--company-logo{
	mask-image: url(../img/common/company-logo.svg);
	-webkit-mask-image: url(../img/common/company-logo.svg);
}

/* タイトル
--------------------------------------*/
.sec-pagettl{
	padding-top: 6rem;
}
.sec-pagettl .sec-inner{
	height: 27.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sec-pagettl .pagettl{
	font-size: 2.6rem;
	line-height: 1.46;
}
.sec-pagettl .subttl{
	font-size: 1.8rem;
	margin-top: 1rem;
}

.page--not-has-sec-pagettl{
	padding-top: 10rem;
}

@media print,screen and (min-width: 600px) {
	.sec-pagettl{
		padding-top: 10rem;
	}
	.sec-pagettl .sec-inner{
		height: 36rem;
	}
	.sec-pagettl .pagettl{
		font-size: 4rem;
	}
	.sec-pagettl .subttl{
		font-size: 2.6rem;
		margin-top: 2rem;
	}

	.page--not-has-sec-pagettl{
		padding-top: 16rem;
	}
}

/* パンくず
--------------------------------------*/
.pnkz{
	font-size: 1.3rem;
	display: flex;
	align-items: center;
}
.pnkz span:nth-child(5),
.pnkz span:nth-child(7) {
	max-width: 40%;
}
.pnkz .separator{
	display: inline-block;
	width: 1rem;
	height: 1px;
	margin: 0 1rem;
}
.pnkz .txt--line-clamp{
	-webkit-line-clamp: 1;
	max-height: 1em;
}

/* 色
--------------------------------------*/
.c--white{
	color: #fff !important;
}
.c--black{
	color: #000 !important;
}
.c--gray{
	color: #727171 !important;
}
.c--light-gray{
	color: #BCBCBC !important;
}
.c--cyan{
	color: #00B1D3 !important;
}
.c--navy{
	color: #0C2D4E !important;
}

.bg--white{
	background-color: #fff !important;
}
.bg--black{
	background-color: #000 !important;
}
.bg--gray{
	background-color: #727171 !important;
}
.bg--light-gray{
	background-color: #BCBCBC !important;
}
.bg--light-gray2{
	background-color: #F4F4F0 !important;
}
.bg--cyan{
	background-color: #00B1D3 !important;
}
.bg--navy{
	background-color: #0C2D4E !important;
}

/* ホバー
--------------------------------------*/
@media print,screen and (min-width: 600px) {
	.hover--c-white,
	.hover--c-black,
	.hover--c-cyan,
	.hover--c-navy{
		transition: color .3s ease;
	}
	a.hover--c-white:hover,
	a:hover .hover--c-white{
		color: #fff !important;
	}
	a.hover--c-black:hover,
	a:hover .hover--c-black{
		color: #000 !important;
	}
	a.hover--c-cyan:hover,
	a:hover .hover--c-cyan,
	.has--child:hover .hover--c-cyan{
		color: #00B1D3 !important;
	}
	a.hover--c-navy:hover,
	a:hover .hover--c-navy{
		color: #0C2D4E !important;
	}

	.hover--bg-white,
	.hover--bg-black,
	.hover--bg-transparent,
	.hover--bg-cyan{
		transition: background .3s ease, color .3s ease, border .3s ease;
	}
	a.hover--bg-white:hover,
	a:hover .hover--bg-white,
	button.hover--bg-white:hover,
	button:hover .hover--bg-white,
	a.link--arrow.hover--c-white:hover:before,
	a:hover .link--arrow.hover--c-white:before,
	a:hover .hover--c-white .link--arrow:before{
		background-color: #fff !important;
	}
	a.hover--bg-black:hover,
	a:hover .hover--bg-black{
		background-color: #000 !important;
	}
	a.hover--bg-transparent:hover,
	a:hover .hover--bg-transparent{
		background-color: transparent !important;
	}
	a.hover--bg-cyan:hover,
	a:hover .hover--bg-cyan,
	a.link--arrow.hover--c-cyan:hover:before,
	a:hover .link--arrow.hover--c-cyan:before,
	a:hover .hover--c-cyan .link--arrow:before,
	.swiper-button.hover--bg-cyan:hover,
	.swiper-button:hover .hover--bg-cyan{
		background-color: #00B1D3 !important;
	}

	.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);
	}
	a.hover--underline:hover,
	a:hover .hover--underline,
	.has--dd:hover > .hover--underline,
	.js--btn-popup.hover--underline:hover,
	.js--btn-popup:hover .hover--underline{
		background-position: left bottom;
		background-size: 100% 100%;
	}

	.hover--opacity,
	.hover--img-opacity > img{
		transition: opacity .3s ease;
	}
	a.hover--opacity:hover,
	a:hover .hover--opacity,
	a.hover--img-opacity:hover > img,
	a:hover .hover--img-opacity > img{
		opacity: 0.5;
	}
	.hover--img-zoom{
		position: relative;
	}
	.hover--img-zoom > img{
		transition: transform .3s ease-in-out;
	}
	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: 75%;
}
.img--posted > img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.img--dummy{
	box-sizing: border-box;
	background-color: #F9F9F9;
	border: 1px solid #E9E9E1;
}
.img--dummy img{
	position: absolute;
	height: auto;
	width: 30%;
	opacity: 0.5;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

@media print,screen and (min-width: 600px) {
	a:hover .img--dummy img{
		transform: scale(1.1) translate(-50%, -50%);
	}
}

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

.txt--cmn1{
	font-size: 1.6rem;
	line-height: 1.93;
}
.txt--cmn2{
	font-size: 1.3rem;
	line-height: 2;
}
.txt--cmn3{
	font-size: 1.6rem;
	line-height: 2.33;
}
.txt--cmn3-margin-p p:not(:last-child){
	margin-bottom: 2.33em;
}

@media print,screen and (min-width: 600px) {
	.txt--cmn3{
		font-size: 1.8rem;
		line-height: 2.11;
	}
	.txt--cmn3-margin-p p:not(:last-child){
		margin-bottom: 2.11em;
	}
}

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

/* iframe処理
--------------------------------------*/
.gmap--wrap{
	position: relative;
	width: 100%;
	overflow: hidden;
	padding-top: 74.92%;
}
.gmap--wrap iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*====================================
pagenavi
====================================*/
.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: 3.4rem;
	position: relative;
}
.wp-pagenavi .page,
.wp-pagenavi .current,
.wp-pagenavi .extend{
	box-sizing: border-box;
	font-size: 1.6rem;
	margin-left: 0.5rem;
	margin-right: 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.4rem;
	border: 1px solid #727171;
	border-radius: 0.5rem;
}
.wp-pagenavi .current{
	background-color: #727171;
	border-color: #727171;
	color: #fff;
}
.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 1px #727171;
	top: 50%;
}
.wp-pagenavi .previouspostslink:before,
.wp-pagenavi .first:before,
.wp-pagenavi .first:after{
	border-left: solid 1px #727171;
}
.wp-pagenavi .nextpostslink:before,
.wp-pagenavi .last:before,
.wp-pagenavi .last:after{
	border-right: solid 1px #727171;
}
.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 .page,
	.wp-pagenavi .current,
	.wp-pagenavi .extend,
	.wp-pagenavi .previouspostslink,
	.wp-pagenavi .nextpostslink,
	.wp-pagenavi .first,
	.wp-pagenavi .last{
		width: 4rem;
		font-size: 1.8rem;
	}
	.wp-pagenavi .page,
	.wp-pagenavi .current,
	.wp-pagenavi .extend{
		margin-left: 1rem;
		margin-right: 1rem;
		height: 4rem;
	}
	.wp-pagenavi .page{
		transition: background .3s ease, color .3s ease, border .3s ease;
	}
	.wp-pagenavi a.page:hover{
		background-color: #727171;
		border-color: #727171;
		color: #fff;
	}
	.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: #727171;
	}
}

/*===============================
swiper
===============================*/
/* ナビゲーション */
.swiper-button{
	box-sizing: border-box;
	pointer-events: auto;
	cursor: pointer;
	top: 0;
	left: auto;
	right: auto;
	margin: 0;
	opacity: 1;
	position: relative;
}
.swiper-button:after{
	display: none;
}

/*====================================
parts
===================================*/
.ttl--cmn1{
}

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

.link--arrow{
	display: inline-block;
	position: relative;
	padding-left: 1.2rem;
}
.link--arrow:before{
	content: '';
	position: absolute;
	pointer-events: none;
	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: #000;
	transition: background .3s ease;
	mask-image: url(../img/common/icon-arrow1.svg);
	-webkit-mask-image: url(../img/common/icon-arrow1.svg);
	width: 0.5rem;
	height: 1rem;
	left: 0;
	top: calc((100% - 1rem) / 2);
}
.link--arrow.c--cyan:before{
	background-color: #00B1D3;
}

.link--arrow2{
	position: relative;
	box-sizing: border-box;
	display: inline-block;
	padding-left: 7rem;
	font-size: 1.6rem;
	min-height: 5rem;
	padding-top: calc((5rem - 1.6rem) / 2);
}
.link--arrow2 .arrow{
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 5rem;
	height: 5rem;
	border: 1px solid #00B1D3;
	border-radius: 100%;
	left: 0;
	top: 0;
}
.link--arrow2 .arrow:before{
	content: '';
	display: block;
	pointer-events: none;
	box-sizing: border-box;
	width: 1.4rem;
	height: 1.4rem;
	border-top: 0.2rem solid #fff;
	border-right: 0.2rem solid #fff;
	transform: rotate(45deg) translate(-10%, 10%);
}
.link--arrow2 .arrow.bg--white{
	border-color: #fff;
}
.link--arrow2 .arrow.bg--white:before{
	border-color: #00B1D3;
}

.link--new-tab{
	display: inline-block;
	position: relative;
	padding-right: 2rem;
}
.link--new-tab .icon--new-tab{
	display: block;
	position: absolute;
	pointer-events: none;
	width: 1.1rem;
	height: 1rem;
	right: 0;
	top: calc((1em - 1rem) / 2);
}

@media print,screen and (min-width: 600px) {
	.link--arrow:before{
		transition: background .3s ease;
	}
	.link--arrow2{
		padding-left: 8rem;
		min-height: 6rem;
		padding-top: calc((6rem - 1.6rem) / 2);
	}
	.link--arrow2 .arrow{
		width: 6rem;
		height: 6rem;
	}
	.link--arrow2 .arrow{
		transition: background .3s ease, border .3s ease;
	}
	.link--arrow2 .arrow:before{
		transition: border .3s ease;
	}
	.link--arrow2:hover .arrow:before{
		border-color: #00B1D3;
	}
	.link--arrow2:hover .arrow.bg--white:before{
		border-color: #fff;
	}
}

/* sidemenu
--------------------------------------*/
#sidemenu-container{
	margin-top: 8rem;
	padding-bottom: 4rem;
}
#sidemenu-side .sidemenu-container .container-ttl{
	box-sizing: border-box;
	border-radius: 0.5rem 0.5rem 0 0;
	min-height: 6rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
#sidemenu-side .sidemenu-container .container-inner{
	padding: 3rem;
	border-radius: 0 0 0.5rem 0.5rem;
}
#sidemenu-side .sidemenu-container .nav-item:not(:last-child){
	margin-bottom: 2rem;
}
#sidemenu-side .sidemenu-container .nav-item-txt:before{
	background-color: #00B1D3;
	top: calc((2em - 1rem) / 2);
}

@media only screen and (max-width: 599px) {
	#sidemenu-side{
		margin-top: 8rem;
	}
}

@media print,screen and (min-width: 600px) {
	#sidemenu-container{
		display: flex;
		justify-content: space-between;
		margin-top: 10rem;
		padding-bottom: 8rem;
	}
	#sidemenu-side{
		order: 1;
		width: 20rem;
	}
	#sidemenu-side .sidemenu-container .container-inner{
		padding: 3rem 2rem;
	}
	#sidemenu-body{
		order: 2;
		width: 83rem;
	}
}

/*====================================
form
====================================*/
/* common
--------------------------------------*/
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"],
input[type="date"],
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"],
input[type="number"],
input[type="date"],
textarea{
	box-sizing: border-box;
	width: 100%;
	background-color: #F5F5F5;
	color: #000;
	transition: background .3s ease;
}

/* form--tbl
--------------------------------------*/
.form--tbl input[type="text"],
.form--tbl input[type="tel"],
.form--tbl input[type="email"],
.form--tbl input[type="number"],
.form--tbl input[type="date"],
.form--tbl textarea{
	border-radius: 0.5rem;
}
.form--tbl input[type="text"],
.form--tbl input[type="tel"],
.form--tbl input[type="email"],
.form--tbl input[type="number"],
.form--tbl input[type="date"]{
	height: 5rem;
	padding: 0 2rem;
}
.form--tbl input:placeholder-shown,
.form--tbl textarea:placeholder-shown {
	color: #D8D8D8;
}
.form--tbl input::-webkit-input-placeholder,
.form--tbl textarea::-webkit-input-placeholder {
	color: #D8D8D8;
}
.form--tbl textarea{
	padding: 1.5rem 2rem;
}

/* checkbox radio */
.form--tbl span.wpcf7-list-item{
	margin: 0;
}
.form--tbl .wpcf7-radio,
.form--tbl .wpcf7-checkbox{
	display: block;
	margin-top: -2rem;
	width: calc(100% + 1rem);
}
.form--tbl .wpcf7-radio .wpcf7-list-item,
.form--tbl .wpcf7-checkbox .wpcf7-list-item{
	margin-top: 2rem;
	margin-right: 2rem;
}
.form--tbl .wpcf7-radio input[type="radio"],
.form--tbl .wpcf7-checkbox input[type="checkbox"],
.form--tbl .wpcf7-acceptance input[type="checkbox"]{
	display: none;
}
.form--tbl .wpcf7-radio .wpcf7-list-item-label,
.form--tbl .wpcf7-checkbox .wpcf7-list-item-label,
.form--tbl .wpcf7-acceptance .wpcf7-list-item-label{
	display: inline-block;
	position: relative;
	padding-left: 3rem;
}
.form--tbl .wpcf7-radio .wpcf7-list-item-label:before,
.form--tbl .wpcf7-radio .wpcf7-list-item-label:after,
.form--tbl .wpcf7-checkbox .wpcf7-list-item-label:before,
.form--tbl .wpcf7-checkbox .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-checkbox .wpcf7-list-item-label:before,
.form--tbl .wpcf7-acceptance .wpcf7-list-item-label:before{
	width: 2rem;
	height: 2rem;
	left: 0;
	top: 0.8rem;
	background-color: #fff;
	border: 1px solid #BCBCBC;
	transition: background .2s ease, border .2s ease;
}
.form--tbl .wpcf7-radio .wpcf7-list-item-label:before{
	border-radius: 100%;
}
.form--tbl .wpcf7-radio .wpcf7-list-item-label:after,
.form--tbl .wpcf7-checkbox .wpcf7-list-item-label:after,
.form--tbl .wpcf7-acceptance .wpcf7-list-item-label:after{
	opacity: 0;
	transition: opacity .2s ease;
}
.form--tbl .wpcf7-radio .wpcf7-list-item-label:after{
	width: 1rem;
	height: 1rem;
	background-color: #727171;
	left: 0.5rem;
	top: 1.3rem;
	border-radius: 100%;
}
.form--tbl .wpcf7-checkbox .wpcf7-list-item-label:after,
.form--tbl .wpcf7-acceptance .wpcf7-list-item-label:after{
	left: 0.6rem;
	width: 0.9rem;
	height: 1.2rem;
	top: 0.9rem;
	transform: rotate(40deg);
	border-bottom: 0.3rem solid #fff;
	border-right: 0.3rem solid #fff;
}
.form--tbl .wpcf7-checkbox input:checked + .wpcf7-list-item-label:before,
.form--tbl .wpcf7-acceptance input:checked + .wpcf7-list-item-label:before{
	background-color: #727171;
	border-color: #727171;
}
.form--tbl .wpcf7-radio input:checked + .wpcf7-list-item-label:after,
.form--tbl .wpcf7-checkbox input:checked + .wpcf7-list-item-label:after,
.form--tbl .wpcf7-acceptance input:checked + .wpcf7-list-item-label:after{
	opacity: 1;
}

@media print,screen and (min-width: 600px) {
	.form--tbl .wpcf7-radio,
	.form--tbl .wpcf7-checkbox{
		margin-top: -1rem;
	}
	.form--tbl .wpcf7-radio .wpcf7-list-item,
	.form--tbl .wpcf7-checkbox .wpcf7-list-item{
		margin-top: 1rem;
	}
}

/* select */
select{
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
}
select::-ms-expand{
	display: none;
}
.select--cmn1{
	box-sizing: border-box;
	position: relative;
	width: 100%;
	background-color: #F5F5F5;
	color: #000;
	height: 5rem;
	transition: background .3s ease;
}
.select--cmn1:before{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
	width: 0.9rem;
	height: 0.9rem;
	border-right: solid 0.2rem #727171;
	border-bottom: solid 0.2rem #727171;
	right: 2rem;
	top: 50%;
	transform: translateY(-70%) rotate(45deg);
}
.form--tbl .select--cmn1 > p{
	width: 100%;
	height: 100%;
}
.select--cmn1 select{
	width: 100%;
	height: 100%;
	padding: 0 5.5rem 0 2rem;
	cursor: pointer;
}

/* ボタン */
.btn--form{
	position: relative;
	margin: 6rem auto 0 auto;
	pointer-events: none;
	height: 7rem;
}
.btn--form > p{
	height: 100%;
	width: 100%;
}
.btn--form input{
	outline: none;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance: none;
	background: none;
	border: none;
	padding: 0;
	display: inline-block;
	position: relative;
	text-align: center;
	cursor: pointer;
	line-height: 1;
	z-index: 3;
	box-sizing: border-box;
	width: 100%;
	height: 8rem;
	font-size: 1.6rem;
	background-color: #00B1D3;
	color: #fff;
	border-radius: 0.5rem;
	pointer-events: auto;
	transition: background .3s ease, color .3s ease, border .3s ease, opacity .3s ease;
}
.btn--form input:disabled{
	opacity: .7;
	pointer-events: none;
}

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

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

.form--tbl .req{
	box-sizing: border-box;
	color: #00B1D3;
	display: inline-block;
}
.form--tbl .td-block:not(:last-child){
	margin-bottom: 2rem;
}
.form--tbl .td-detail-txt:not(:first-child){
	margin-top: 0.5rem;
}
.form--tbl .unit-wrap{
	display: flex;
	align-items: center;
}
.form--tbl .unit-wrap .unit:not(:last-child){
	margin-right: 1rem;
}

@media print,screen and (min-width: 600px) {
	.form--tbl th{
		font-size: 1.8rem;
	}
	.form--tbl tr:not(:last-child) td{
		padding-bottom: 5rem;
	}
}

/* response-output */
.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;
	font-size: 1.3rem;
	line-height: 1.69;
}
.wpcf7 .recaptha-caption a{
	text-decoration: underline;
}
.grecaptcha-badge { visibility: hidden; }
.wpcf7 form.sent .block-lead,
.wpcf7 form.sent .form--tbl,
.wpcf7 form.sent .btn--form,
.wpcf7 form.sent .recaptha-caption,
.wpcf7 form.sent .wpcf7-response-output{
	display: none;
}
.wpcf7 form .sent-thankyou-message{
	display: none;
}
.wpcf7 form.sent .sent-thankyou-message{
	display: block;
	padding: 3rem;
}
.wpcf7 form.sent .sent-thankyou-message .sec-ttl{
	font-size: 1.5em;
	margin-bottom: 3rem;
}

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

/* unique */
.form--tbl .address-block-postcode{
	display: flex;
}
.form--tbl .address-block-postcode .btn-setaddress{
	width: 15rem;
	height: 5rem;
	border-radius: 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	margin-left: 1rem;
}
.form--tbl span[data-name="your-address"],
.form--tbl span[data-name="your-address2"]{
	display: block;
}
.form--tbl .tr-privacy .td-detail-txt{
	margin-top: 2.5rem;
}

.form--tbl .tr-grad-status .td-block,
.form--tbl .tr-tour-date .td-block{
	display: flex;
	align-items: center;
}
.form--tbl .tr-grad-status .td-label,
.form--tbl .tr-tour-date .td-label{
	margin-right: 1rem;
}
.form--tbl .tr-grad-status .td-txt,
.form--tbl .tr-tour-date .td-txt{
	flex: 1;
}
.form--tbl .tr-birthday select,
.form--tbl .tr-grad-status select{
	width: 13rem;
}

@media screen and (max-width: 599px) {
	.form--tbl .address-block-postcode .unit-wrap{
		flex: 1;
	}
	.form--tbl .address-block-postcode .btn-setaddress{
		font-size: 1.5rem;
	}
}

@media print,screen and (min-width: 600px) {
	.form--tbl .tr-job .select--cmn1,
	.form--tbl .tr-tour-clinic .select--cmn1{
		width: 33.5rem;
	}
	.form--tbl .tr-tel input,
	.form--tbl .tr-grad-status input[type="text"]{
		width: 60rem;
	}
	.form--tbl .address-block-postcode .unit-input{
		width: 15rem;
	}
	.form--tbl .tr-tour-date input{
		width: 26rem;
	}
}

/*====================================
header
====================================*/
/* hamburger-btn
--------------------------------------*/
.hamburger-btn{
	box-sizing: border-box;
	cursor: pointer;
	position: fixed;
	z-index: 1001;
	width: 4rem;
	height: 4rem;
	top: 2rem;
	right: 1.5rem;
	background-color: #00B1D3;
	border-radius: 0.5rem;
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,.3);
	transition: background 0.35s ease;
}
.hamburger-btn-inner{
	display: block;
	position: absolute;
	width: 1.8rem;
	height: 1.7rem;
	top: 1.2rem;
	right: 1.1rem;
	transition: transform 0.35s ease;
	z-index: 2;
}
.hamburger-btn .border{
	position: absolute;
	top: 0;
	left: 0;
	width: 1.8rem;
	height: 0.1rem;
	background-color: #fff;
	transition: transform 0.35s ease, opacity 0.35s ease, background 0.35s ease;
}
.hamburger-btn .border2{
	top: 0.8rem;
}
.hamburger-btn .border3{
	top: 1.5rem;
}

.hamburger-btn.is--open{
	background-color: #fff;
}
.hamburger-btn.is--open .hamburger-btn-inner{
	transform: rotate(360deg);
}
.hamburger-btn.is--open .border{
	background-color: #00B1D3;
}
.hamburger-btn.is--open .border1,
.hamburger-btn.is--open .border3{
	top: 50%;
}
.hamburger-btn.is--open .border1{
	transform: rotate(-45deg);
}
.hamburger-btn.is--open .border2{
	opacity: 0;
}
.hamburger-btn.is--open .border3{
	transform: rotate(45deg);
}

/* hamburger menu
--------------------------------------*/
#hamburger-menu{
	z-index:1000;
	position: fixed;
	box-sizing: border-box;
	width: 30rem;
	height: 100vh;
	top: 0;
	right: -30rem;
	transition: transform 0.35s ease;
	border-left: 1px solid #4DC9E1;
	background-color: rgba(0, 177, 211, .65);
	backdrop-filter: blur(10px) brightness(0.7);
	-webkit-backdrop-filter: blur(10px) brightness(0.7);
}
#hamburger-menu.is--open{
	transform: translateX(-30rem);
}
#hamburger-menu .menu-inner{
	box-sizing: border-box;
	overflow-y: auto;
	position: relative;
	width: 100%;
	height: 100%;
	padding: 6.4rem 0;
}
#hamburger-menu .hamburger-nav-container{
	padding: 0 2rem;
}
#hamburger-menu .hamburger-nav-container .nav-item:not(:last-child){
	border-bottom: 1px solid #98DDE8;
}
#hamburger-menu .hamburger-nav-container .nav-item-link{
	box-sizing: border-box;
	min-height: 7.6rem;
	padding: 0 2rem;
	display: flex;
	align-items: center;
	border-radius: 0.5rem 0.5rem 0 0;
	transition: background .3s ease;
}
#hamburger-menu .hamburger-nav-container .nav-item-txt{
	font-size: 1.8rem;
	padding-left: 1.4rem;
}
#hamburger-menu .hamburger-nav-container .nav-item-txt:before{
	background-color: #fff;
	transition: transform .3s ease;
}
#hamburger-menu .hamburger-nav-container .nav-item.has--child .nav-item-txt:before{
	transform: rotate(90deg);
}
#hamburger-menu .hamburger-nav-container .nav-sublist-container{
	border-top: 1px solid #98DDE8;
	border-radius: 0 0 0.5rem 0.5rem;
	padding: 3rem;
}
#hamburger-menu .hamburger-nav-container .nav-subitem:not(:last-child){
	margin-bottom: 3rem;
}
#hamburger-menu .hamburger-nav-container .nav-sublist{
	line-height: 1.2;
}
#hamburger-menu .hamburger-nav-container .nav-subitem-txt:before{
	background-color: #fff;
	top: calc((1.2em - 1rem) / 2);
}
#hamburger-menu .hamburger-nav-container .nav-item-link.is--open,
#hamburger-menu .hamburger-nav-container .nav-sublist-container.is--open{
	background-color: rgba(0, 0, 0, .3);
}

@media print,screen and (min-width: 600px) {
	#hamburger-menu{
		width: 40rem;
		left: -40rem;
	}
	#hamburger-menu.is--open{
		transform: translateX(40rem);
	}
	#hamburger-menu .menu-inner{
		padding: 8rem 0;
	}
	#hamburger-menu .hamburger-nav-container{
		padding-top: 12rem;
	}
	#hamburger-menu .hamburger-nav-container .nav-item-txt{
		font-size: 2.2rem;
	}
}

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

/* header
--------------------------------------*/
header{
	position: absolute;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	height: 8rem;
}
.header-inner,
.header-logo-container{
	height: 100%;
	display: flex;
	align-items: center;
}
.header-logo-container .header-logo-block{
	display: flex;
	align-items: center;
}
.header-logo-container .header-logo-block .group-logo{
	width: 16rem;
}
.header-logo-container .header-logo-block .site-ttl{
	margin-left: 1rem;
	border-radius: 0.5rem;
	background-color: rgba(255, 255, 255, .5);
	font-size: 1rem;
	line-height: 1.6;
	padding: 0.5rem 0.6rem;
}

@media print,screen and (min-width: 600px) {
	header{
		height: 10rem;
	}
	.header-inner{
		width: 100%;
		box-sizing: border-box;
		justify-content: space-between;
		padding-left: calc((100% - 110rem) / 2);
		position: relative;
		z-index: 2;
	}
	.header-logo-container .header-logo-block .group-logo{
		width: 21.7rem;
	}
	.header-logo-container .header-logo-block .site-ttl{
		margin-left: 2rem;
		font-size: 1.3rem;
		line-height: 1.53;
		padding: 0.5rem 0.9rem;
	}
	.header-nav-container{
		height: 100%;
		display: flex;
	}
	.header-nav-container .nav-list{
		display: flex;
		align-items: center;
		margin-right: 5rem;
	}
	.header-nav-container .nav-item{
		position: relative;
	}
	.header-nav-container .nav-item:not(:last-child){
		margin-right: 4rem;
	}
	.header-nav-container .nav-item-txt{
		line-height: 1;
		height: 100%;
		display: flex;
		align-items: center;
		position: relative;
	}
	.header-nav-container .nav-item.has--child .nav-item-txt{
		cursor: pointer;
	}
	.header-nav-container .nav-item.has--child .nav-item-txt:before{
		content: '';
		display: block;
		position: absolute;
		pointer-events: none;
		width: 0.5rem;
		height: 0.5rem;
		background-color: #000;
		border-radius: 100%;
		bottom: -1rem;
		left: calc((100% - 0.5rem) / 2);
		transition: background .3s ease;
	}
	.header-nav-container .nav-item.has--child:hover .nav-item-txt:before{
		background-color: #00B1D3;
	}
	.header-nav-container .nav-sublist-container{
		opacity: 0;
		pointer-events: none;
		z-index: 3;
		padding-top: 3rem;
		position: absolute;
		top: 2rem;
		transition: opacity .3s ease;
		width: 21.5rem;
		left: calc((100% - 21.5rem) / 2);
	}
	.header-nav-container .nav-item.has--child:hover .nav-sublist-container{
		opacity: 1;
		pointer-events: auto;
	}
	.header-nav-container .nav-sublist-block{
		border-radius: 0.5rem;
		padding: 3rem;
		box-shadow: 0px 0px 10px 0px rgba(0,0,0,.3);
	}
	.header-nav-container .nav-subitem:not(:last-child){
		margin-bottom: 2rem;
	}
	.header-nav-container .nav-sublist{
		line-height: 1.2;
	}
	.header-nav-container .nav-subitem-txt:before{
		background-color: #fff;
		top: calc((1.2em - 1rem) / 2);
	}
	.header-nav-container .btn-list{
		height: 100%;
		display: flex;
	}
	.header-nav-container .btn-list .btn{
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 13rem;
		line-height: 1;
		border: 1px solid #00B1D3;
	}
	.header-nav-container .btn-list .btn-entry{
		border-color: #0C2D4E;
	}

	header.is--scroll{
		position: fixed;
		height: 6rem;
		background-color: #fff;
		animation: header-scroll-anim .3s ease-out forwards;
	}
	header.is--scroll .header-logo-container .header-logo-block .group-logo{
		width: 17.4rem;
	}
	header.is--scroll .header-logo-container .header-logo-block .site-ttl{
		display: none;
	}
}

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

/*====================================
footer
====================================*/
footer{
	background: url(../img/common/footer-bg-sp.png) no-repeat center bottom;
	background-size: 100% auto;
	padding-top: 4rem;
}
.footer-link-container .link-block{
	display: block;
	position: relative;
	box-sizing: border-box;
	padding: 4rem 2rem;
}
.footer-link-container .link-block:not(:last-child){
	border-bottom: 1px solid #BCBCBC;
}
.footer-link-container .link-block .arrow{
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
	width: 2.2rem;
	height: 2.2rem;
	border-top: 0.2rem solid #000;
	border-right: 0.2rem solid #000;
	bottom: calc((100% - 2.2rem) / 2);
	right: 2.2rem;
	transform: rotate(45deg);
}
.footer-link-container .link-block .e-txt{
	font-size: 4.8rem;
}

@media only screen and (max-width: 599px) {
	.footer-link-container .link-block .j-txt{
		margin-top: 1.5rem;
	}
}

@media print,screen and (min-width: 600px) {
	footer{
		background-image: url(../img/common/footer-bg-pc.png);
		background-size: 130rem auto;
		background-position: right center;
		padding-top: 8rem;
	}
	.footer-link-container .link-block{
		padding: 0 8rem;
		min-height: 30rem;
		display: flex;
		align-items: center;
	}
	.footer-link-container .link-block .img{
		pointer-events: none;
		position: absolute;
		top: 0;
		right: 0;
		height: 100%;
		overflow: hidden;
	}
	.footer-link-container .link-block .img:before{
		content: '';
		display: block;
		position: absolute;
		pointer-events: none;
		width: 200%;
		height: 100%;
		top: 0;
		left: 0;
		background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 75%, rgba(255, 255, 255, 0) 100%);
		transition: transform .4s ease;
	}
	.footer-link-container .link-block .img img{
		width: auto;
		height: 100%;
	}
	.footer-link-container .link-block .arrow{
		width: 3rem;
		height: 3rem;
		bottom: calc((100% - 3rem) / 2);
		right: 8.3rem;
		transition: border .3s ease;
	}
	.footer-link-container .link-block .box-txt{
		position: relative;
		z-index: 2;
		display: flex;
		align-items: center;
	}
	.footer-link-container .link-block .e-txt{
		font-size: 7rem;
		margin-right: 3rem;
	}
	.footer-link-container .link-block:hover .img:before{
		transform: translateX(-100%);
	}
	.footer-link-container .link-block:hover .arrow{
		border-color: #fff;
	}
}

/* sns
--------------------------------------*/
.footer-sns-container{
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
	margin-top: 4rem;
	border-radius: 0.5rem;
	padding: 4rem 3.5rem;
}
.footer-sns-container .block-ttl{
	font-size: 1.8rem;
}
.footer-sns-container .sns-list{
	display: flex;
	align-items: center;
}
.footer-sns-container .sns-box{
	display: block;
}
.footer-sns-container .sns-box:not(:last-child){
	margin-right: 4rem;
}
.footer-sns-container .sns-box .icon{
	width: 4.4rem;
	height: 4.4rem;
}
.footer-sns-container .sns-box[data-sns="line"] .icon{
	width: 4.7rem;
	height: 4.4rem;
}

@media only screen and (max-width: 599px) {
	.footer-sns-container .block-ttl{
		text-align: center;
		margin-bottom: 3rem;
	}
	.footer-sns-container .sns-list{
		justify-content: center;
	}
	.footer-sns-container .sns-box .icon{
		margin-left: auto;
		margin-right: auto;
	}
	.footer-sns-container .sns-box .txt{
		text-align: center;
		margin-top: 1rem;
	}
}

@media print,screen and (min-width: 600px) {
	.footer-sns-container{
		margin-top: 8rem;
		height: 18rem;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.footer-sns-container .bg{
		position: absolute;
		pointer-events: none;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		transition: opacity .3s ease;
	}
	.footer-sns-container .bg.instagram{
		background: url(../img/common/footer-instagram-bg.jpg) no-repeat center center;
		background-size: cover;
	}
	.footer-sns-container .bg.line{
		background-color: #06C755;
	}
	.footer-sns-container[data-sns="instagram"] .bg.instagram,
	.footer-sns-container[data-sns="line"] .bg.line{
		opacity: 1;
	}
	.footer-sns-container .block-ttl,
	.footer-sns-container .block-sns{
		position: relative;
		z-index: 2;
	}
	.footer-sns-container .block-ttl{
		font-size: 2.2rem;
		margin-right: 15rem;
	}
	.footer-sns-container .sns-box{
		display: flex;
		align-items: center;
	}
	.footer-sns-container .sns-box:not(:last-child){
		margin-right: 6rem;
	}
	.footer-sns-container .sns-box .icon{
		margin-right: 2rem;
	}
}

/* logo
--------------------------------------*/
.footer-logo-container{
	padding-top: 10rem;
}
.footer-logo-container .block-logo .box-logo{
	display: flex;
	align-items: center;
}
.footer-logo-container .block-logo .box-logo .group-logo{
	width: 20rem;
}
.footer-logo-container .block-logo .box-logo .site-ttl{
	margin-left: 2rem;
	border-radius: 0.5rem;
	font-size: 1rem;
	line-height: 1.6;
	padding: 0.5rem 0.6rem;
}
.footer-logo-container .block-logo .box-catch{
	margin-top: 3rem;
	font-size: 1.8rem;
}
.footer-logo-container .block-logo .box-link{
	margin-top: 4rem;
	line-height: 1;
}
.footer-copyright-container{
	padding-top: 10rem;
	padding-bottom: 13.5rem;
	font-size: 1rem;
}

@media only screen and (max-width: 599px) {
	.footer-logo-container .block-logo .box-logo{
		justify-content: space-between;
	}
}

@media print,screen and (min-width: 600px) {
	.footer-logo-container{
		padding-top: 15rem;
		display: flex;
		justify-content: space-between;
	}
	.footer-logo-container .block-logo .box-logo .group-logo{
		width: 21.7rem;
	}
	.footer-logo-container .block-logo .box-logo .site-ttl{
		font-size: 1.3rem;
		line-height: 1.53;
		padding: 0.5rem 0.9rem;
	}
	.footer-logo-container .block-logo .box-link{
		margin-top: 5rem;
	}
	.footer-logo-container .block-nav{
		display: flex;
		line-height: 1;
	}
	.footer-logo-container .block-nav .nav-list:not(:last-child){
		margin-right: 5rem;
	}
	.footer-logo-container .block-nav .nav-item:not(:last-child){
		margin-bottom: 2rem;
	}
	.footer-copyright-container{
		padding-bottom: 15rem;
	}
}

/*====================================
top
====================================*/
/* main
--------------------------------------*/
#top .sec-main{
	overflow: hidden;
	position: relative;
	padding-top: 8rem;
}
#top .sec-main .circle-txt{
	animation: rotate-infinite 30s linear infinite;
	display: block;
	position: absolute;
	pointer-events: none;
	width: 60rem;
	top: 43rem;
	left: calc((100% - 60rem) / 2);
}
#top .sec-main .container-catch{
	padding-top: 3rem;
}
#top .sec-main .container-catch .catch{
	font-size: 2.6rem;
	line-height: 1.61;
	margin-bottom: 2rem;
}
#top .sec-main .img2,
#top .sec-main .img3{
	position: relative;
	z-index: 3;
}
#top .sec-main .img2{
	width: 17rem;
}
#top .sec-main .img3{
	width: 24rem;
}
#top .sec-main .img2 img,
#top .sec-main .img3 img{
	border-radius: 0.5rem;
}
#top .sec-main .container-news{
	margin-top: 4rem;
	position: relative;
	z-index: 2;
}
#top .sec-main .container-news .container-ttl{
	font-size: 1.8rem;
}
#top .sec-main .container-news .block-article{
	position: relative;
}
#top .sec-main .container-news .block-article .layer{
	position: absolute;
	pointer-events: none;
	width: calc(100% - 2.3rem);
	height: 7rem;
	left: 0;
	bottom: 0;
	background: linear-gradient(180deg,rgb(255, 255, 255, 0) 0%, rgb(255, 255, 255, 1) 100%);
}
#top .sec-main .container-news .box-scroll{
	height: 36rem;
	overflow-y: scroll;
	padding-right: 1.5rem;
}
#top .sec-main .container-news .box-scroll::-webkit-scrollbar{
	width: 0.8rem;
}
#top .sec-main .container-news .box-scroll::-webkit-scrollbar-thumb{
	background-color: #727171;
}
#top .sec-main .container-news .box-scroll::-webkit-scrollbar-track{
	background-color: #ECECEC;
}
#top .sec-main .container-news .box-scroll .article-card:not(:last-child){
	margin-bottom: 3rem;
}
#top .sec-main .container-news .article-time{
	margin-bottom: 1rem;
}

@media only screen and (max-width: 599px) {
	#top .sec-main .container-catch{
		display: flex;
		justify-content: center;
	}
	#top .sec-main .img2{
		margin-top: 5rem;
	}
	#top .sec-main .img3{
		margin-top: -10rem;
		margin-left: auto;
		margin-right: 0;
	}
	#top .sec-main .container-news .container-ttl{
		margin-bottom: 2rem;
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-main{
		padding-top: 10rem;
	}
	#top .sec-main .img1{
		position: absolute;
		height: 70rem;
		top: 15rem;
		left: calc((100% - 110rem) / 2 + 40rem);
	}
	#top .sec-main .img1 img{
		height: 100%;
		width: auto;
	}
	#top .sec-main .circle-txt{
		width: 87rem;
		top: 26.4rem;
		left: calc((100% - 110rem) / 2 - 30.1rem);
	}
	#top .sec-main .container-catch{
		padding-top: 38.7rem;
	}
	#top .sec-main .container-catch .catch{
		font-size: 3.6rem;
		line-height: 1.61;
		margin-bottom: 3rem;
	}
	#top .sec-main .img2{
		position: absolute;
		top: 25rem;
		left: calc((100% - 110rem) / 2 - 15.2rem);
	}
	#top .sec-main .img3{
		position: absolute;
		width: 28rem;
		top: 77.6rem;
		left: calc((100% - 110rem) / 2 - 5rem);
	}
	#top .sec-main .container-news{
		margin-top: 27.5rem;
	}
	#top .sec-main .container-news .container-inner{
		width: 76.5rem;
		margin-left: auto;
		margin-right: 0;
		display: flex;
	}
	#top .sec-main .container-news .block-article{
		flex: 1;
		padding-left: 4rem;
	}
	#top .sec-main .container-news .box-scroll{
		height: 25rem;
		padding-right: 5rem;
	}
}

@keyframes rotate-infinite {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

/* about
--------------------------------------*/
#top .sec-about{
	padding-top: 8rem;
	position: relative;
	z-index: 3;
}
#top .sec-about .container-about{
	position: relative;
	padding-bottom: 7rem;
}
#top .sec-about .sec-ttl{
	margin-bottom: 5rem;
}
#top .sec-about .sec-ttl .e-txt{
	font-size: 4.8rem;
}
#top .sec-about .sec-ttl .j-txt{
	margin-top: 2rem;
}
#top .sec-about .container-about .block-txt .catch{
	font-size: 2.6rem;
	line-height: 2;
	margin-bottom: 3rem;
}
#top .sec-about .container-about .map{
	position: relative;
}
#top .sec-about .container-about .map .pin{
	position: absolute;
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 100%;
}
#top .sec-about .container-about .map .pin:before{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	width: 2rem;
	height: 2rem;
	border-radius: 100%;
	top: 50%;
	left: 50%;
	background-color: #00B1D3;
	opacity: 0;
	transform: translate(-50%, -50%) scale(0);
	transition: opacity .3s ease-out, transform .3s ease-out;
}
#top .sec-about .container-about .map .pin.is--active{
	z-index: 3;
}
#top .sec-about .container-about .map .pin.is--active:before{
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}
#top .sec-about .container-about .map .pin[data-clinic="tana-seikei"]{
	top: calc(28.5rem / 64rem * 100%);
	right: calc(23.5rem / 60.6rem * 100%);
}
#top .sec-about .container-about .map .pin[data-clinic="kitashin-seikei"]{
	top: calc(29rem / 64rem * 100%);
	right: calc(16rem / 60.6rem * 100%);
}
#top .sec-about .container-about .map .pin[data-clinic="noukendai-seikei"]{
	bottom: calc(14rem / 60.6rem * 100%);
	right: calc(17rem / 60.6rem * 100%);
}
#top .sec-about .container-about .map .pin[data-clinic="kamoi-seikei"]{
	top: calc(33.5rem / 64rem * 100%);
	right: calc(24rem / 60.6rem * 100%);
}
#top .sec-about .container-about .map .pin[data-clinic="naruse-seikei"]{
	top: calc(29.5rem / 64rem * 100%);
	right: calc(27rem / 60.6rem * 100%);
}
#top .sec-about .container-about .map .pin[data-clinic="yamazaki-seikei"]{
	top: calc(26.5rem / 64rem * 100%);
	right: calc(26.5rem / 60.6rem * 100%);
}
#top .sec-about .container-about .map .pin[data-clinic="oguchi-seikei"]{
	top: calc(33.5rem / 64rem * 100%);
	right: calc(19.5rem / 60.6rem * 100%);
}
#top .sec-about .container-about .map .pin[data-clinic="sugamo-seikei"]{
	top: calc(13rem / 64rem * 100%);
	right: calc(13rem / 60.6rem * 100%);
}

#top .sec-about .container-department{
	position: relative;
}
#top .sec-about .container-department .current-mark{
	position: absolute;
	top: -1rem;
	left: calc((100% - 8rem) / 2);
	width: 8rem;
	height: 2rem;
	border-radius: 0.5rem 0.5rem 0 0;
}
#top .sec-about .container-department .current-mark .border{
	width: 1px;
	height: 5rem;
	background-image: linear-gradient(to bottom, #00B1D3, #00B1D3 0.5rem, transparent 0.5rem, transparent 1rem);
	background-size: 1px 1rem;
	background-position: left bottom;
	background-repeat: repeat-y;
	position: absolute;
	bottom: 2.5rem;
	left: 50%;
}
#top .sec-about .container-department .block-slide{
	position: relative;
	overflow: hidden;
}
#top .sec-about .container-department .block-slide .swiper{
	padding: 1rem 0;
}
#top .sec-about .container-department .block-slide .swiper-slide{
	height: auto;
}
#top .sec-about .container-department .clinic-card{
	box-sizing: border-box;
	height: 100%;
	border-radius: 0.5rem;
	box-shadow: 0px 0px 20px -10px rgba(0,0,0,.2);
	padding: 1rem 1rem 2rem 1rem;
}
#top .sec-about .container-department .clinic-card .item-img img{
	border-radius: 0.5rem;
}
#top .sec-about .container-department .clinic-card .clinic-ttl{
	line-height: 1.72;
}
#top .sec-about .container-department .clinic-card .el-txt{
	line-height: 1.69;
	margin-top: 0.5rem;
}
#top .sec-about .container-department .clinic-card .box-address{
	display: flex;
	align-items: center;
	margin-top: 1.5rem;
}
#top .sec-about .container-department .clinic-card .box-address .icon{
	width: 2.1rem;
	height: 3.1rem;
}
#top .sec-about .container-department .clinic-card .box-address .txt{
	flex: 1;
	line-height: 1.69;
	padding-left: 1rem;
}

@media only screen and (max-width: 599px) {
	#top .sec-about .container-about .block-map{
		margin-top: 5rem;
	}

	#top .sec-about .container-department .clinic-card .item-txt{
		padding: 0.5rem 1rem 0 1rem;
	}
	#top .sec-about .container-department .clinic-card .box-address{
		padding: 0 1rem;
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-about{
		padding-top: 15rem;
	}
	#top .sec-about .container-about{
		padding-bottom: 14rem;
	}
	#top .sec-about .sec-ttl{
		margin-bottom: 10rem;
	}
	#top .sec-about .sec-ttl .e-txt{
		font-size: 7rem;
	}
	#top .sec-about .container-about .block-txt .catch{
		margin-bottom: 4rem;
	}
	#top .sec-about .container-about .block-map{
		position: absolute;
		top: 5rem;
		right: -3.3rem;
		width: 64rem;
	}
	#top .sec-about .container-about .map .pin{
		width: 1.6rem;
		height: 1.6rem;
	}
	#top .sec-about .container-about .map .pin:before{
		width: 4rem;
		height: 4rem;
	}

	#top .sec-about .container-department .current-mark .border{
		height: 11rem;
		transform: rotate(25deg);
		transform-origin: center bottom;
	}
	#top .sec-about .container-department .swiper-button{
		width: 8rem;
		height: 8rem;
		overflow: hidden;
		position: absolute;
		top: -7rem;
	}
	#top .sec-about .container-department .swiper-button .circle{
		position: absolute;
		top: 0;
		width: 16rem;
		height: 16rem;
		border-radius: 100%;
	}
	#top .sec-about .container-department .swiper-button .arrow{
		box-sizing: border-box;
		position: absolute;
		width: 2rem;
		height: 2rem;
		border-top: 0.2rem solid #fff;
		bottom: 2rem;
	}
	#top .sec-about .container-department .swiper-button-prev{
		left: 0;
	}
	#top .sec-about .container-department .swiper-button-prev .circle{
		right: 0;
	}
	#top .sec-about .container-department .swiper-button-prev .arrow{
		border-left: 0.2rem solid #fff;
		left: 2.5rem;
		transform: rotate(-45deg);
	}
	#top .sec-about .container-department .swiper-button-next{
		right: 0;
	}
	#top .sec-about .container-department .swiper-button-next .circle{
		left: 0;
	}
	#top .sec-about .container-department .swiper-button-next .arrow{
		border-right: 0.2rem solid #fff;
		right: 2.5rem;
		transform: rotate(45deg);
	}
	#top .sec-about .container-department .block-slide .swiper-slide{
		width: 40.2rem;
	}
	#top .sec-about .container-department .clinic-card{
		padding: 3rem 3rem 3.5rem 3rem;
	}
	#top .sec-about .container-department .clinic-card .box-img{
		display: flex;
	}
	#top .sec-about .container-department .clinic-card .item-img{
		width: 16rem;
	}
	#top .sec-about .container-department .clinic-card .item-txt{
		flex: 1;
		padding-left: 2rem;
	}
	#top .sec-about .container-department .clinic-card .box-address{
		margin-top: 2.5rem;
	}
}

/* number
--------------------------------------*/
#top .sec-number{
	position: relative;
	z-index: 2;
	overflow: hidden;
	margin-top: -11rem;
	background: linear-gradient(to bottom, rgba(0, 177, 211, 0) 0%, rgba(0, 177, 211, .3) 8rem, rgba(0, 177, 211, .6) 21.5rem, rgba(0, 177, 211, 1) 44rem, rgba(0, 177, 211, 1) calc(100% - 10.1rem), rgba(0, 177, 211, 0) calc(100% - 10.1rem));
	padding-top: 16rem;
	padding-bottom: 8rem;
}
#top .sec-number .triangle{
	position: absolute;
	pointer-events: none;
	bottom: 0;
	right: -35.8rem;
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	width: 92.3rem;
	height: 10.1rem;
}
#top .sec-number .sec-ttl,
#top .sec-number .container-lead,
#top .sec-number .container-number,
#top .sec-number .container-detail{
	position: relative;
	z-index: 2;
}
#top .sec-number .sec-ttl{
	font-size: 2.2rem;
	line-height: 1.9;
}
#top .sec-number .container-lead{
	margin-top: 1.5rem;
}
#top .sec-number .container-number{
	margin-top: 4rem;
	display: flex;
	flex-wrap: wrap;
}
#top .sec-number .number-card{
	box-sizing: border-box;
	position: relative;
	width: 50%;
}
#top .sec-number .number-card:before{
	content: '';
	display: none;
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
	height: 1px;
	width: calc(200% - 2rem * 2);
	background-color: #4DC9E1;
	left: 2rem;
	top: -3rem;
}
#top .sec-number .number-card .card-ttl{
	font-size: 1.8rem;
	margin-bottom: 2rem;
}
#top .sec-number .number-card .block-img img{
	width: auto;
	height: 8rem;
}
#top .sec-number .number-card .block-txt{
	margin-top: 1.5rem;
}
#top .sec-number .number-card .unit-wrap{
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
#top .sec-number .number-card .unit-wrap .num{
	font-size: 4.8rem;
}
#top .sec-number .number-card .unit-wrap .unit{
	font-size: 1.8rem;
}
#top .sec-number .number-card .unit-wrap .unit:not(:last-child){
	margin-right: 0.5rem;
}
#top .sec-number .number-card .unit-wrap .unit:not(:first-child){
	margin-left: 0.5rem;
}

#top .sec-number .number-card.card2 .block-txt .box-txt{
	line-height: 1.69;
}
#top .sec-number .number-card.card3 .unit:first-child{
	line-height: 1.11;
}

#top .sec-number .container-detail{
	box-sizing: border-box;
	margin-top: 4rem;
}

@media only screen and (max-width: 599px) {
	#top .sec-number .container-number{
		width: 100%;
	}
	#top .sec-number .number-card:nth-child(even){
		border-left: 1px solid #4DC9E1;
	}
	#top .sec-number .number-card:nth-child(n+3){
		margin-top: 6rem;
	}
	#top .sec-number .number-card:nth-child(odd):before{
		display: block;
	}
	#top .sec-number .number-card:nth-child(1):before{
		display: none;
	}

	#top .sec-number .number-card.card2 .block-txt .box-txt{
		display: flex;
		justify-content: center;
		margin-top: 1rem;
	}
	#top .sec-number .number-card.card3 .unit-wrap:not(:last-child){
		margin-bottom: 1rem;
	}

	#top .sec-number .container-detail{
		text-align: center;
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-number{
		background: linear-gradient(to bottom, rgba(0, 177, 211, 0) 0%, rgba(0, 177, 211, .3) 8.5rem, rgba(0, 177, 211, .6) 22rem, rgba(0, 177, 211, 1) 44rem, rgba(0, 177, 211, 1) calc(100% - 35rem), rgba(0, 177, 211, 0) calc(100% - 35rem));
		padding-top: 20.9rem;
		padding-bottom: 15rem;
	}
	#top .sec-number .triangle{
		width: 320rem;
		height: 35rem;
		right: calc((100% - 200rem) / 2 - 89rem);
	}
	#top .sec-number .sec-ttl{
		font-size: 2.6rem;
	}
	#top .sec-number .container-lead{
		margin-top: 2rem;
	}
	#top .sec-number .container-number{
		margin-top: 8rem;
	}
	#top .sec-number .number-card{
		width: calc(100% / 3);
	}
	#top .sec-number .number-card:not(:nth-child(3n)){
		border-right: 1px solid #4DC9E1;
	}
	#top .sec-number .number-card:nth-child(n+4){
		margin-top: 12rem;
	}
	#top .sec-number .number-card:before{
		top: -7rem;
		left: 0;
		width: 300%;
	}
	#top .sec-number .number-card:nth-child(4):before{
		display: block;
	}
	#top .sec-number .number-card .card-ttl{
		font-size: 2.2rem;
		margin-bottom: 3rem;
	}
	#top .sec-number .number-card .block-img img{
		height: 12rem;
	}
	#top .sec-number .number-card .block-txt{
		margin-top: 2.5rem;
	}
	#top .sec-number .number-card .unit-wrap .num{
		font-size: 7rem;
	}
	#top .sec-number .number-card .unit-wrap .unit{
		font-size: 2.2rem;
	}

	#top .sec-number .number-card.card2 .block-txt{
		display: flex;
		align-items: flex-end;
		justify-content: center;
	}
	#top .sec-number .number-card.card2 .block-txt .box-txt{
		padding-left: 1rem;
	}
	#top .sec-number .number-card.card3 .block-txt{
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#top .sec-number .number-card.card3 .unit-wrap:not(:last-child){
		margin-right: 2.5rem;
	}
	#top .sec-number .number-card.card3 .unit:first-child{
		font-size: 2.2rem;
	}

	#top .sec-number .container-detail{
		margin-top: 8rem;
		text-align: right;
		padding-right: 12.5rem;
	}
}

/* interview
--------------------------------------*/
#top .sec-interview{
	position: relative;
	overflow: hidden;
	margin-top: -6rem;
	padding-top: 14rem;
	padding-bottom: 8rem;
}
#top .sec-interview .container-ttl{
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	border-radius: 0 0.5rem 0.5rem 0;
	padding: 2.5rem 2rem 2rem 2rem;
	box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, .2);
	width: calc(100% - 2rem);
	background: url(../img/top/interview-ttl-bg-sp.jpg) no-repeat center right;
	background-size: auto 100%;
}
#top .sec-interview .container-ttl:before{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) calc(100% - 20rem), rgba(255, 255, 255, 0) 100%);
}
#top .sec-interview .container-ttl .block-ttl{
	position: relative;
	z-index: 2;
}
#top .sec-interview .container-ttl .block-ttl .e-ttl{
	font-size: 4.8rem;
}
#top .sec-interview .container-txt .catch{
	font-size: 2.2rem;
	line-height: 1.9;
	margin-bottom: 3rem;
}
#top .sec-interview .container-interview{
	margin-top: 5rem;
}
#top .sec-interview .interview-card .block-img .box-img{
	border-radius: 0.5rem;
	overflow: hidden;
}
#top .sec-interview .interview-card .block-txt{
	margin-top: 2rem;
}
#top .sec-interview .interview-card .box-name{
	display: flex;
	align-items: center;
	margin-top: 1rem;
}
#top .sec-interview .interview-card .box-name .name{
	padding-left: 0.5rem;
	flex: 1;
	font-size: 2.2rem;
	line-height: 1.3;
}
#top .sec-interview .swiper-button-wrap{
	display: flex;
}
#top .sec-interview .swiper-button{
	width: 5rem;
	height: 5rem;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
#top .sec-interview .swiper-button:before{
	content: '';
	display: block;
	pointer-events: none;
	box-sizing: border-box;
	width: 1.3rem;
	height: 1.3rem;
	border-top: 0.2rem solid #00B1D3;
	transition: border .3s ease;
}
#top .sec-interview .swiper-button-prev{
	margin-right: 3rem;
}
#top .sec-interview .swiper-button-prev:before{
	border-left: 0.2rem solid #00B1D3;
	transform: rotate(-45deg) translate(10%, 10%);
}
#top .sec-interview .swiper-button-next:before{
	border-right: 0.2rem solid #00B1D3;
	transform: rotate(45deg) translate(-10%, 10%);
}

@media only screen and (max-width: 599px) {
	#top .sec-interview .container-ttl{
		margin-bottom: 5rem;
	}
	#top .sec-interview .container-ttl .block-ttl .j-ttl{
		margin-top: 1.5rem;
	}
	#top .sec-interview .swiper-button-wrap{
		margin-top: 5rem;
		justify-content: center;
	}
}

@media only screen and (min-width: 600px) and (max-width: 1549px) {
	#top .sec-interview .container-txt{
		width: 80rem;
	}
}
@media print,screen and (min-width: 600px) {
	#top .sec-interview{
		margin-top: -35rem;
		padding-top: 41rem;
		padding-bottom: 15rem;
	}
	#top .sec-interview .container-ttl{
		position: absolute;
		z-index: 3;
		bottom: 15rem;
		left: 0;
		width: 20rem;
		height: calc(100% - 15rem - 12.2rem);
		padding: 6rem 2rem;
		border-radius: 0 0.5rem 0.5rem 0;
		background: url(../img/top/interview-ttl-bg-pc.jpg) no-repeat center bottom;
		background-size: 100% auto;
	}
	#top .sec-interview .container-ttl:before{
		background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) calc(100% - 60rem), rgba(255, 255, 255, 0) 100%);
	}
	#top .sec-interview .container-ttl .block-ttl .e-ttl{
		writing-mode: vertical-rl;
		margin: 0 auto;
		letter-spacing: 0.02em;
		font-size: 7rem;
	}
	#top .sec-interview .container-ttl .block-ttl .j-ttl{
		writing-mode: vertical-rl;
		margin: 3rem auto 0 auto;
		letter-spacing: 0.05em;
	}
	#top .sec-interview .container-interview{
		margin-top: 10rem;
		min-height: 41.5rem;
		position: relative;
	}
	#top .sec-interview .container-interview .block-slide{
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
	}
	#top .sec-interview .container-interview .swiper{
		overflow: visible;
		width: 24rem;
		margin: 0;
		position: absolute;
		bottom: 0;
		right: calc((100% - 110rem) / 2);
	}
	#top .sec-interview .container-interview .swiper-slide{
		display: flex;
		align-items: flex-end;
		height: auto;
		transition: margin .3s ease;
	}
	#top .sec-interview .container-interview .interview-card{
		display: block;
		transition: width .3s ease;
	}
	#top .sec-interview .container-interview .interview-card .block-img{
		position: relative;
		width: 100%;
		height: 32rem;
	}
	#top .sec-interview .container-interview .interview-card .block-img .box-img{
		width: 100%;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		transition: width .3s ease;
	}
	#top .sec-interview .container-interview .interview-card .block-txt{
		opacity: 0;
		pointer-events: none;
		transition: opacity .3s ease;
	}
	#top .sec-interview .container-interview .swiper-slide-active{
		z-index: 3;
	}
	#top .sec-interview .container-interview .swiper-slide-active .interview-card .block-img .box-img{
		width: 41.3rem;
	}
	#top .sec-interview .container-interview .swiper-slide-active .block-txt{
		opacity: 1;
		pointer-events: auto;
	}
	#top .sec-interview .swiper-button-wrap{
		position: absolute;
		z-index: 3;
		left: 3rem;
		bottom: 21rem;
	}
	#top .sec-interview .swiper-button{
		width: 6rem;
		height: 6rem;
	}
	#top .sec-interview .swiper-button:hover:before{
		border-color: #fff;
	}
	#top .sec-interview .swiper-button-prev{
		margin-right: 2rem;
	}
}

/* career
--------------------------------------*/
#top .sec-career{
	margin-top: -6rem;
	padding-top: 15rem;
	/* padding-top: 9rem; */
	padding-bottom: 8rem;
	background: url(../img/top/career-bg.png) no-repeat;
	background-position: left -7.6rem top -21.2rem;
	background-size: 51.89rem auto;
	overflow: hidden;
}
#top .sec-career .container-ttl{
	margin-bottom: 5rem;
}
#top .sec-career .sec-ttl .e-ttl{
	font-size: 4.8rem;
	line-height: 1.08;
}
#top .sec-career .sec-ttl .j-ttl{
	margin-top: 1rem;
}
#top .sec-career .container-txt .catch{
	font-size: 2.2rem;
	margin-bottom: 3rem;
}
#top .sec-career .container-blog{
	margin-top: 7.5rem;
}
#top .sec-career .container-blog .block-ttl{
	position: relative;
	margin-bottom: 3rem;
}
#top .sec-career .container-blog .block-ttl .ttl{
	font-size: 2.2rem;
}
#top .sec-career .container-blog .block-ttl .box-link{
	box-sizing: border-box;
	width: 16rem;
	height: 16rem;
	padding-top: 4.5rem;
	border: 1px solid #00B1D3;
	border-radius: 100%;
	position: absolute;
	right: -3.5rem;
	top: -3rem;
}
#top .sec-career .container-blog .article-img{
	border-radius: 0.5rem;
}
#top .sec-career .container-blog .article-ttl{
	margin-top: 2rem;
}
#top .sec-career .container-detail{
	margin-top: 4rem;
}

@media only screen and (max-width: 599px) {
	#top .sec-career .container-blog .article-card:not(:last-child){
		margin-bottom: 4rem;
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-career{
		margin-top: -35rem;
		padding-top: 50rem;
		/* padding-top: 15rem; */
		padding-bottom: 15rem;
		background-position: left calc((100vw - 110rem) / 2 - 38.1rem) top -20rem;
		/* background-position: left calc((100vw - 110rem) / 2 - 38.1rem) top -55rem; */
		background-size: 141.3rem auto;
	}
	#top .sec-career .sec-ttl .e-ttl{
		font-size: 7rem;
	}
	#top .sec-career .sec-ttl .j-ttl{
		margin-top: 2rem;
	}
	#top .sec-career .container-txt .catch{
		font-size: 2.6rem;
		margin-bottom: 4rem;
	}
	#top .sec-career .container-blog{
		margin-top: 10rem;
	}
	#top .sec-career .container-blog .block-ttl{
		margin-bottom: 4rem;
	}
	#top .sec-career .container-blog .block-ttl .ttl{
		font-size: 2.6rem;
	}
	#top .sec-career .container-blog .block-ttl .box-link{
		width: 19rem;
		height: 19rem;
		padding-top: 6.5rem;
		right: -5rem;
		top: -4rem;
	}
	#top .sec-career .container-blog .article-list{
		display: flex;
	}
	#top .sec-career .container-blog .article-card{
		width: calc((100% - 4rem * 2) / 3);
	}
	#top .sec-career .container-blog .article-card:not(:nth-child(3n)){
		margin-right: 4rem;
	}
	#top .sec-career .container-detail{
		margin-top: 8rem;
	}
}

/* job
--------------------------------------*/
#top .sec-job{
	padding-top: 8rem;
	padding-bottom: 4rem;
	background: url(../img/top/job-bg-sp.jpg) no-repeat center top;
	background-size: 100% auto;
}
#top .sec-job .container-ttl{
	margin-bottom: 5rem;
}
#top .sec-job .sec-ttl .e-ttl{
	font-size: 4.8rem;
	line-height: 1.2;
}
#top .sec-job .sec-ttl .j-ttl{
	margin-top: 1rem;
}
#top .sec-job .container-job .article-card-inner{
	box-sizing: border-box;
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: 0.5rem;
	padding: 2rem;
}
#top .sec-job .container-job .article-card.has--label .article-card-inner{
	padding-top: 4rem;
}
#top .sec-job .container-job .article-card .label{
	position: absolute;
	top: 0;
	left: 0;
	padding: 0 0.8rem;
	border-radius: 0.5rem 0 0.5rem 0;
}
#top .sec-job .container-job .article-card .article-ttl{
	font-size: 1.8rem;
	line-height: 1.54;
	margin-bottom: 1rem;
}
#top .sec-job .container-job .article-card .box-txt{
	line-height: 1.68;
}
#top .sec-job .container-job .article-card .box-txt .item-txt:not(:last-child){
	padding-bottom: 1rem;
	border-bottom: 1px solid #BCBCBC;
}
#top .sec-job .container-job .article-card .box-txt .item-txt:not(:first-child){
	padding-top: 1rem;
}

@media only screen and (max-width: 599px) {
	#top .sec-job .container-job .article-card:not(:last-child){
		margin-bottom: 1rem;
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-job{
		background-image: url(../img/top/job-bg-pc.jpg);
		background-size: 200rem auto;
		padding-top: 16rem;
	}
	#top .sec-job .container-ttl{
		margin-bottom: 10rem;
	}
	#top .sec-job .sec-ttl .e-ttl{
		font-size: 7rem;
	}
	#top .sec-job .sec-ttl .j-ttl{
		margin-top: 1.5rem;
	}
	#top .sec-job .container-job .job-list{
		display: flex;
		flex-wrap: wrap;
	}
	#top .sec-job .container-job .article-card{
		width: calc((100% - 1.2rem * 3) / 4);
	}
	#top .sec-job .container-job .article-card:not(:nth-child(4n)){
		margin-right: 1.2rem;
	}
	#top .sec-job .container-job .article-card:nth-child(n+5){
		margin-top: 1.2rem;
	}
	#top .sec-job .container-job .article-card-inner{
		height: 100%;
		min-height: 24rem;
		padding: 4rem 3rem 2rem 3rem;
	}
	#top .sec-job .container-job .article-card .article-ttl{
		font-size: 2.2rem;
		text-align: center;
		margin-bottom: 2rem;
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: calc(1.54em * 2);
	}
	#top .sec-job .container-job .article-card .box-txt .item-txt{
		transition: border .3 ease;
	}
	#top .sec-job .container-job .article-card-inner:hover .box-txt .item-txt{
		border-color: #4DC9E1;
	}
}

/*====================================
page404
====================================*/
#page404 .sec-404{
	padding-top: 8rem;
}
#page404 .sec-404 .box-btn{
	margin-top: 5rem;
}

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


/*====================================
job
====================================*/
#job .sec-job .tr:not(:last-child) .td{
	border-bottom: 1px solid #D8D8D8;
}
#job .sec-job .container-entry{
	margin-top: 4rem;
}

@media only screen and (max-width: 599px) {
	#job .sec-job .th{
		padding-bottom: 1.5rem;
	}
	#job .sec-job .tr:not(:first-child) .th{
		padding-top: 3rem;
	}
	#job .sec-job .tr:not(:last-child) .td{
		padding-bottom: 3rem;
	}
}

@media print,screen and (min-width: 600px) {
	#job .sec-job .tr{
		display: flex;
	}
	#job .sec-job .tr:not(:last-child) .th,
	#job .sec-job .tr:not(:last-child) .td{
		padding-bottom: 4rem;
		border-bottom: 1px solid #D8D8D8;
	}
	#job .sec-job .tr:not(:first-child) .th,
	#job .sec-job .tr:not(:first-child) .td{
		padding-top: 4rem;
	}
	#job .sec-job .th{
		box-sizing: border-box;
		width: 16.8rem;
		padding-left: 2rem;
		padding-right: 2rem;
	}
	#job .sec-job .td{
		flex: 1;
	}
	#job .sec-job .container-entry{
		margin-top: 10rem;
	}
}

/*====================================
entry
====================================*/
#entry .sec-lead{
	padding-top: 8rem;
}
#entry .sec-form{
	padding-top: 6rem;
}

@media only screen and (max-width: 599px) {
	#entry .sec-form{
		padding-bottom: 4rem;
	}
}

@media print,screen and (min-width: 600px) {
	#entry .sec-lead,
	#entry .sec-form{
		width: 90rem;
	}
	#entry .sec-lead{
		padding-top: 10rem;
	}
	#entry .sec-form{
		padding-top: 10rem;
	}
}

/*====================================
tour
====================================*/
#tour .sec-lead{
	padding-top: 8rem;
}
#tour .sec-form{
	padding-top: 6rem;
}

@media only screen and (max-width: 599px) {
	#tour .sec-form{
		padding-bottom: 4rem;
	}
}

@media print,screen and (min-width: 600px) {
	#tour .sec-lead,
	#tour .sec-form{
		width: 90rem;
	}
	#tour .sec-lead{
		padding-top: 10rem;
	}
	#tour .sec-form{
		padding-top: 10rem;
	}
}

/*====================================
about
====================================*/
#about .sec-about{
	padding: 8rem 0;
}
#about .sec-about .container-about .container-ttl{
	margin-bottom: 2rem;
}
#about .sec-about .container-about .container-ttl .sub-ttl{
	margin-bottom: 1rem;
}
#about .sec-about .container-about .catch{
	font-size: 2.4rem;
	line-height: 1.58;
}
#about .sec-about .container-about .box-img img{
	border-radius: 0.5rem;
}
#about .sec-about .separator-box{
	margin: 6rem 0;
	display: flex;
	align-items: center;
}
#about .sec-about .separator-box .icon{
	width: 3.8rem;
	height: 3rem;
	margin: 0 0.9rem;
}
#about .sec-about .separator-box .border{
	flex: 1;
	height: 1px;
}
#about .sec-about .container-about.container3 .item-txt:not(:last-child){
	margin-bottom: 3rem;
}
#about .sec-about .container-about.container3 .item-txt .catch{
	margin-bottom: 1.5rem;
}

@media only screen and (max-width: 599px) {
	#about .sec-about .container-about .block-txt{
		display: flex;
		flex-direction: column;
	}
	#about .sec-about .container-about .box-img{
		margin-top: 2rem;
		order: 2;
	}
	#about .sec-about .container-about .box-txt{
		order: 1;
	}
}

@media print,screen and (min-width: 600px) {
	#about .sec-about{
		padding: 15rem 0;
	}
	#about .sec-about .container-about .container-ttl{
		margin-bottom: 6rem;
	}
	#about .sec-about .container-about .container-ttl .sub-ttl{
		margin-bottom: 2rem;
	}
	#about .sec-about .container-about .container-ttl .ttl{
		font-size: 3rem;
	}
	#about .sec-about .container-about .box-img{
		width: 49rem;
		margin-left: 5rem;
		margin-bottom: 3rem;
	}
	#about .sec-about .container-about.container1 .box-img,
	#about .sec-about .container-about.container2 .box-img{
		float: right;
	}
	#about .sec-about .container-about.container3 .container-ttl{
		margin-bottom: 0;
	}
	#about .sec-about .container-about.container3 .block-txt{
		display: flex;
	}
	#about .sec-about .container-about.container3 .box-img{
		order: 2;
	}
	#about .sec-about .container-about.container3 .box-txt{
		flex: 1;
		order: 1;
	}
	#about .sec-about .container-about.container3 .item-txt:not(:last-child){
		margin-bottom: 6rem;
	}
}

/* message
--------------------------------------*/
#about .sec-message{
	padding-top: 6rem;
	padding-bottom: 8rem;
	background: linear-gradient(to bottom, rgba(0, 177, 211, 1) 0%, rgba(0, 177, 211, 1) calc(100% - 57.5rem), rgba(0, 177, 211, .6) calc(100% - 29rem), rgba(0, 177, 211, .3) calc(100% - 12rem), rgba(0, 177, 211, 0) 100%);
}
#about .sec-message .sec-ttl{
	font-size: 2.4rem;
	margin-bottom: 2rem;
}
#about .sec-message .block-img .box-img{
	position: relative;
}
#about .sec-message .block-img .box-img img{
	border-radius: 0.5rem;
}
#about .sec-message .block-img .item-name{
	position: absolute;
	bottom: 2rem;
	right: 2rem;
}
#about .sec-message .block-img .item-name .el-txt,
#about .sec-message .block-img .item-name .el-name .txt{
	line-height: 1;
}
#about .sec-message .block-img .item-name .el-name{
	margin-top: 1.5rem;
	display: flex;
	align-items: flex-end;
}
#about .sec-message .block-img .item-name .el-name .name{
	font-size: 1.8rem;
	margin-left: 1rem;
}

@media only screen and (max-width: 599px) {
	#about .sec-message .block-img{
		margin-top: 2rem;
	}
}

@media print,screen and (min-width: 600px) {
	#about .sec-message{
		padding-top: 15rem;
		padding-bottom: 20rem;
	}
	#about .sec-message .sec-ttl{
		font-size: 3rem;
		margin-bottom: 6rem;
	}
	#about .sec-message .container-message{
		display: flex;
	}
	#about .sec-message .block-txt{
		flex: 1;
		padding-right: 6rem;
	}
	#about .sec-message .block-img{
		width: 44.8rem;
	}
	#about .sec-message .block-img .item-name .el-name .name{
		font-size: 2.2rem;
	}
}

/* outline
--------------------------------------*/
#about .sec-outline{
	padding-top: 8rem;
	padding-bottom: 4rem;
}
#about .sec-outline .sec-ttl{
	font-size: 2.4rem;
	margin-bottom: 2rem;
}
#about .sec-outline .outline-tbl{
	width: 100%;
	box-sizing: border-box;
}
#about .sec-outline .outline-tbl th,
#about .sec-outline .outline-tbl td{
	box-sizing: border-box;
	padding: 0 1rem;
}
#about .sec-outline .outline-tbl th{
	font-weight: 700;
}

@media only screen and (max-width: 599px) {
	#about .sec-outline .outline-tbl th,
	#about .sec-outline .outline-tbl td{
		display: block;
	}
	#about .sec-outline .outline-tbl th{
		padding-bottom: 0.5rem;
	}
	#about .sec-outline .outline-tbl tr:not(:first-child) th{
		padding-top: 2.2rem;
	}
	#about .sec-outline .outline-tbl tr:not(:last-child) td{
		padding-bottom: 2.2rem;
		border-bottom: 1px solid #D8D8D8;
	}
}

@media print,screen and (min-width: 600px) {
	#about .sec-outline{
		padding-top: 15rem;
		padding-bottom: 7rem;
	}
	#about .sec-outline .sec-inner{
		width: 90rem;
	}
	#about .sec-outline .sec-ttl{
		font-size: 3rem;
		margin-bottom: 6rem;
	}
	#about .sec-outline .outline-tbl th{
		width: 12.2rem;
		padding-left: 2rem;
	}
	#about .sec-outline .outline-tbl td{
		padding-right: 2rem;
	}
	#about .sec-outline .outline-tbl tr:not(:first-child) th,
	#about .sec-outline .outline-tbl tr:not(:first-child) td{
		padding-top: 3.5rem;
	}
	#about .sec-outline .outline-tbl tr:not(:last-child) th,
	#about .sec-outline .outline-tbl tr:not(:last-child) td{
		padding-bottom: 3.5rem;
		border-bottom: 1px solid #D8D8D8;
	}
}

/*====================================
info
====================================*/
/* archive
--------------------------------------*/
#info .article-head{
	display: flex;
	align-items: center;
	margin-bottom: 1.5rem;
}
#info .article-cat{
	line-height: 1;
	padding: 0.7rem 0.5rem;
	border-radius: 0.5rem;
	margin-right: 1.5rem;
}
#info .article-time{
	line-height: 1;
}
#info .article-ttl{
	font-size: 1.8rem;
	line-height: 1.88;
}

#info.page--archive .article-card:not(:last-child){
	padding-bottom: 4rem;
	border-bottom: 1px solid #D8D8D8;
}
#info.page--archive .article-card:not(:first-child){
	padding-top: 4rem;
}
#info.page--archive .article-card-inner{
	display: block;
}
#info.page--archive .article-card .article-img{
	border-radius: 0.5rem;
}
#info.page--archive .article-card .article-txt{
	margin-top: 1.5rem;
}

@media only screen and (max-width: 599px) {
	#info.page--archive .article-card .article-txt-box{
		margin-top: 2rem;
	}
}

@media print,screen and (min-width: 600px) {
	#info .article-head{
		margin-bottom: 2rem;
	}
	
	#info.page--archive .article-card-inner{
		display: flex;
	}
	#info.page--archive .article-card .article-img-box{
		width: 24.5rem;
	}
	#info.page--archive .article-card .article-txt-box{
		flex: 1;
		padding-left: 4rem;
	}
}

/* single
--------------------------------------*/
#info.page--single .single-article{
	padding-top: 6rem;
}
#info.page--single .article-head-container{
	margin-bottom: 3rem;
}
#info.page--single .article-ttl{
	font-size: 2.2rem;
	line-height: 1.9;
}
#info.page--single .article-img{
	margin-top: 2.5rem;
}
#info.page--single .article-img img{
	border-radius: 0.5rem;
}
#info.page--single .article-btn{
	margin-top: 4rem;
}

@media only screen and (max-width: 599px) {
	#info.page--single .single-article{
		padding-bottom: 4rem;
	}
}

@media print,screen and (min-width: 600px) {
	#info.page--single .single-article{
		width: 90rem;
		padding-top: 10rem;
	}
	#info.page--single .article-head-container{
		margin-bottom: 7rem;
	}
	#info.page--single .article-ttl{
		font-size: 2.6rem;
		line-height: 1.76;
	}
	#info.page--single .article-img{
		margin-top: 6.5rem;
	}
	#info.page--single .article-btn{
		margin-top: 10rem;
	}
}

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

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

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

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

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


