@charset "UTF-8";

/*全体共通*/
:root, html{ font-size: 10px; } 
*{ box-sizing: border-box; }
body {
	--max-width: 900px;
  --c-base: #000;
  --c-main: #21266F;
  --c-link: #38A1DB;
  --c-hover: #2677A3;
  --c-accent: #B89639;
  --ff-main: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  --ff-en: 'EB Garamond', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	--ff-mincho: "dnp-shuei-mincho-pr6n", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;

  position: relative;
  width: 100%;
  overflow-x: hidden;
	font-family: var(--ff-main);
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.4;
  -webkit-text-size-adjust: 100%;
}
/* IE表示用のCSS　*/
@media all and (-ms-high-contrast:none){
	body {font-family: "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans",sans-serif;}
}
a{
	display: inline-block;
	color: inherit;
	font-weight: inherit;
}
a:hover{
	cursor: pointer;
}
img, svg{
  display: inline-block;
  max-width: 100%;
  vertical-align: bottom;
}
input, textarea, select{
  display: block;
  width: 100%;
  background: #fff;
  border: 1px solid #B8C1C7;
  border-radius: 2px;
  outline: none;
  resize: none;
  font-family: inherit;
  font-size: 16px;
  font-weight: inherit;
}
::placeholder{
  color: #C8C8C8;
}
select{
  cursor: pointer;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

.ff-en{ font-family: var(--ff-en); font-weight: 400; }
.ff-mincho{ font-family: var(--ff-mincho); font-weight: 400; }
.c-red{ color: #E60000 !important; }
.c-white{ color: #fff !important; }
.ta-c, .center{ text-align: center !important; }
.ta-l{ text-align: left !important; }
.ta-r{ text-align: right !important; }
.ta-justify{ text-justify: inter-ideograph; text-align: justify; text-align-last: left; }
.bold{ font-weight: bold !important; }
.thin{ font-weight: 100 !important; }
.nowrap{ white-space: nowrap; }
.kerning{ font-feature-settings: "palt"; }
a.h-opacity, .h-opacity a{ transition: opacity .3s; }
a.h-opacity:hover, .h-opacity a:hover{ opacity: .6; }

.overflow-ellipsis{
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.under{ border-bottom: 1px solid #888; }
.img-cover{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.img-contain{
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.clearfix::after{
  content: "";
  display: block;
  clear: both;
}
.d-ib{ display: inline-block !important; }
.d-f{ display: flex !important; }
.justify-center{ display: flex; justify-content: center; }
.hidden{ display: none !important; }

body.userAgent-pc a[href^="tel:"]{
	pointer-events: none;
}

/* PC */
@media (min-width: 900px){
	.tab{ display: none !important; }
	.sp{ display: none !important; }
	.tab-sp{ display: none !important; }

	.pc_pl-0{ padding: 0 !important; }
	.pc_pr-0{ padding: 0 !important; }
}
/* TAB */
@media screen and (max-width: 899px) and (min-width: 481px) {
	.pc{ display: none !important; }
	.sp{ display: none !important; }
	.pc-sp{ display: none !important; }

	.tab_pl-0{ padding: 0 !important; }
	.tab_pr-0{ padding: 0 !important; }
}
/* SP */
@media screen and (max-width: 480px) {
	.pc{ display: none !important; }
	.tab{ display: none !important; }
	.pc-tab{ display: none !important; }

	.sp-pl-0{ padding: 0 !important; }
	.sp-pr-0{ padding: 0 !important; }

	.sp_fs-14{ font-size: 14px !important; }
	.sp_fs-16{ font-size: 16px !important; }
	.sp_fs-18{ font-size: 18px !important; }
}

/* 共通 */
.mainCntBox{
  padding: 0 20px;
}
.cntInner, .cmnInner, .cmnInner-s, .cmnInner-l{
	width: 100%;
	margin: 0 auto;
}
.cmnInner{ max-width: 1100px; }
.cmnInner-s{ max-width: 960px; }
.cmnInner-l{ max-width: 1366px; }

.cmnTitle-01{
	text-align: center;
  color: var(--c-main);
	font-weight: 500;
}
.cmnTitle-01 .en{
	font-family: var(--ff-en);
	font-size: 4.5rem;
  letter-spacing: 0.02em;
  position: relative;
  margin-bottom: 16px;
}
.cmnTitle-01 .en::after{
	position: absolute;
  content: "";
  height: 1px;
  width: 60px;  
  bottom: -11px;
  right: 50%;
  transform: translateX(50%);
  background-color: var(--c-main);
}
.cmnTitle-01 .ja{
	font-family: var(--ff-mincho);
	font-size: 2.0rem;
  letter-spacing: 0.05em;
  line-height: 2;
}

.cmnTitle-02{
  display: inline-block;
  margin-bottom: 80px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--c-main);
  color: var(--c-main);
  font-size: 4.5rem;
  letter-spacing: .02em;
}
.cmnTitle-02 .en{
  display: inline-block;
  margin-right: 20px;
  font-family: var(--ff-en);
  font-weight: 400;
}
.cmnTitle-02 .ja{
  display: inline-block;
  color: var(--c-accent);
  font-family: var(--ff-mincho);
  font-size: 2.2rem;
  font-weight: 500;
}
/* TAB */
@media screen and (max-width: 899px) {
  .cmnTitle-01 .en{
    font-size: 3.0rem;
    margin-bottom: 10px;
  }
  .cmnTitle-01 .en::after{
    height: 1px;
    width: 45px;  
    bottom: -8px;
  }
  .cmnTitle-01 .ja{
    font-size: 1.6rem;
  }

  .cmnTitle-02{
    margin-bottom: 60px;
    padding-bottom: 5px;
    font-size: 4.25rem;
  }
  .cmnTitle-02 .en{
    margin-right: 15px;
  }
  .cmnTitle-02 .ja{
    font-size: 1.8rem;
  }
}
/* SP */
@media screen and (max-width: 480px) {
  .cmnTitle-02{
    margin-bottom: 40px;
    padding-bottom: 0;
    font-size: 3rem;
  }
  .cmnTitle-02 .en{
    margin-right: 10px;
  }
  .cmnTitle-02 .ja{
    font-size: 1.4rem;
  }
}

.cmnCatch-01{
  color: var(--c-main);
  font-family: var(--ff-mincho);
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: .03em;
  line-height: 1.7;
}

.cmnLink-01{
  color: var(--c-link);
  border-bottom: 1px solid var(--c-link);
  transition: all .3s;
}
.cmnLink-01:hover{
  color: var(--c-hover);
  border-bottom: 1px solid var(--c-hover);
}
.cmnLink-01[target="_blank"]::after{
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: 7px;
  margin-bottom: 1px;
  background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_6843%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%206843%22%20transform%3D%22translate(-248.5%2053)%22%3E%20%3Cg%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_52%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%2052%22%20transform%3D%22translate(248.5%20-53)%22%20fill%3D%22none%22%20stroke%3D%22%2338a1db%22%20stroke-width%3D%221%22%3E%20%3Crect%20width%3D%2210%22%20height%3D%2210%22%20stroke%3D%22none%22%2F%3E%20%3Crect%20x%3D%220.5%22%20y%3D%220.5%22%20width%3D%229%22%20height%3D%229%22%20fill%3D%22none%22%2F%3E%20%3C%2Fg%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_2%22%20data-name%3D%22%E3%83%91%E3%82%B9%202%22%20d%3D%22M0%2C0H3V3Z%22%20transform%3D%22translate(253.5%20-51)%22%20fill%3D%22%2338a1db%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_3%22%20data-name%3D%22%E3%83%91%E3%82%B9%203%22%20d%3D%22M2.4%2C0%2C0%2C2.4%22%20transform%3D%22translate(253.5%20-50.4)%22%20fill%3D%22none%22%20stroke%3D%22%2338a1db%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') center/contain no-repeat;
  transition: all .3s;
}
.cmnLink-01[target="_blank"]:hover::after{
  background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_6843%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%206843%22%20transform%3D%22translate(-248.5%2053)%22%3E%20%3Cg%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_52%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%2052%22%20transform%3D%22translate(248.5%20-53)%22%20fill%3D%22none%22%20stroke%3D%22%232677A3%22%20stroke-width%3D%221%22%3E%20%3Crect%20width%3D%2210%22%20height%3D%2210%22%20stroke%3D%22none%22%2F%3E%20%3Crect%20x%3D%220.5%22%20y%3D%220.5%22%20width%3D%229%22%20height%3D%229%22%20fill%3D%22none%22%2F%3E%20%3C%2Fg%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_2%22%20data-name%3D%22%E3%83%91%E3%82%B9%202%22%20d%3D%22M0%2C0H3V3Z%22%20transform%3D%22translate(253.5%20-51)%22%20fill%3D%22%232677A3%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_3%22%20data-name%3D%22%E3%83%91%E3%82%B9%203%22%20d%3D%22M2.4%2C0%2C0%2C2.4%22%20transform%3D%22translate(253.5%20-50.4)%22%20fill%3D%22none%22%20stroke%3D%22%232677A3%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') center/contain no-repeat;
}

.cmnButton-01{
  width: 189px;
  height: 3;
  color: var(--c-main);
	font-family: var(--ff-en);
  font-size: 1.5rem;
  letter-spacing: 0.03em;
  text-align: center;
  padding: 8px;
  border: 1px solid var(--c-main);
  position: relative;
  transition: all .3s;
}
.cmnButton-01:hover{
  color: #FFFFFF;
  background: var(--c-main);
}
.cmnButton-01.ja{
  padding: 9px;
  font-family: var(--ff-mincho);
  font-weight: 500;
}
.cmnButton-01 .arrow{
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 4px;
  border-color: transparent transparent transparent var(--c-main);
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  transition: all .3s;
}
.cmnButton-01.left .arrow{
  border-width: 4px 4px 4px 0;
  border-color: transparent var(--c-main) transparent transparent;
  left: 15px;
  right: auto;
}
.cmnButton-01:hover .arrow{
  border-color: transparent transparent transparent #FFFFFF;
  right: 10px;
}
.cmnButton-01.left:hover .arrow{
  border-color: transparent #fff transparent transparent;
  left: 10px;
  right: auto;
}
/* TAB */
@media screen and (max-width: 899px) {
  .cmnButton-01{
    width: 187px;
    font-size: 1.4rem;
  }
}

/* ローディング */
#loading{
	position: fixed;
	top: 0;
	left: 0;
	background: #fff;
	width: 100%;
	height: 100%;
	z-index: 999;
}

/* トップへ戻るボタン */
#topReturn{
	position: fixed;
	top: auto;
	bottom: 20px;
	right: 0;
	z-index: 100;
	color: #FFFFFF;
	background: var(--c-main);
	font-family: var(--ff-en);
	font-size: 1.9rem;
	letter-spacing: 0.03em;
	display: block;
	text-align: center;
	transform-origin:100% 0 0; 
	transform: rotate(90deg);
	padding: 6px 8px 3px;
	transition: background .3s;
}
#topReturn:hover{
	background: #21266fb3;
}

/* TAB */
@media screen and (max-width: 899px) {
	#topReturn{
		/* display: none !important; */
    bottom: 0px;
    font-size: 1.5rem;
	}
}

/* ヘッダー */
#header{
	position: fixed;
	width: 100%;
	padding: 0 20px;
	z-index: 100;
	background: linear-gradient(180deg, #FFFFFFCE 0%, #FFFFFF4D 58%, #FFFFFF00 100%);
}
#header .cntInner{
  display: grid;
  grid-template-columns: 90px 1fr;
	align-items: center;
	gap: 0 20px;
	width: 100%;
	padding: 20px 0 10px;
}
#headerNav{
	width: 100%;
}
#header .cntList{
  display: flex;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
}
#header .cntList > li{
	position: relative;
}
#header .cntList > li + li{
  margin-left: 40px;
}
#header .cntItem{
	position: relative;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: var(--c-main);
	padding-bottom: 2px;
	transition: all .3s;
}
#header .cntItem::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  transition: background .3s;
}
#header .cntItem:hover::after{
	background: var(--c-main);
}
#header .cntChild{
	position: absolute;
	top: calc(100% + 23px);
	left: -10px;
  display: none;
	padding: 18px 20px;
	background: #ffffffcc;
	font-size: 1.4rem;
	white-space: nowrap;
}
#header .cntChild.show{
	display: block !important;
}
#header .cntChild li::before{
	content: "- ";
}
#header .cntChild li + li{
	margin-top: 9px;
}
#header .cntButton{
  display: block;
  font-size: 1.6rem;
  color: #FFFFFF;
  background: var(--c-main);
  width: 170px;
  padding: 10px;
  text-align: center;
	transition: all .3s;
}
#header .cntButton:hover{
	background: rgba(33, 38, 111, 0.7);
}
/* TAB */
@media screen and (max-width: 899px) {
	#header{
		background: none;
	}
	#header .cntInner{
		padding-top: 10px;
	}
	#headerLogo{
		width: 55px;
	}
}

.navButton{
	position: relative;
	width: 36px;
	height: 36px;
	margin-left: auto;
	background: var(--c-main);
	border-radius: 50%;
	cursor: pointer;
}
.navButton:hover{
	background: rgba(33, 38, 111, 0.7);
}
.navButton span{
	position: absolute;
	left: 50%;
	display: inline-block;
	width: 15px;
	height: 1px;
	transform: translateX(-50%);
	transition: all .5s;
	background: #fff;
	border-radius: 2px;
}
.navButton span:nth-of-type(1){
	top: 13px;
}
.navButton span:nth-of-type(2){
	top: 50%;
	transform: translate(-50%, -50%);
}
.navButton span:nth-of-type(3){
	bottom: 13px;
}
#nav .navButton span{
	top: 17px;
	left: 11px;
}
#nav .navButton span:nth-of-type(1){
	transform: rotate(45deg);
}
#nav .navButton span:nth-of-type(2){
	opacity: 0;
}
#nav .navButton span:nth-of-type(3){
	transform: rotate(-45deg);
}

/* スマホナビ */
#nav{
	position: fixed;
	display: none;
	z-index: 101;
	width: 100%;
	height: calc(100vh + 50px);
	padding: 68px 0 0;
	background: #F4F6F7;
}
#nav .cntInner{
	width: 100vw;
	max-height: 100%;
	padding: 0 40px 100px;
	overflow-y: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
#nav .cntInner::-webkit-scrollbar{
	display: none;
}
#nav .navButton{
	position: absolute;
	top: 14px;
	right: 20px;
}
#nav .cntList{
	margin-bottom: 16px;
}
#nav .cntItem{
	font-size: 1.4rem;
	font-weight: 600;
	margin-bottom: 10px;
	transition: all .3s;
}
#nav .cntChild{
	border-bottom: 1px solid #B8C1C7;
	padding-bottom: 12px;
	margin-bottom: 15px;
}
#nav .cntChild_item{
	font-size: 1.2rem;
	position: relative;
	margin-left: 10px;
	transition: all .3s;
}
#nav .cntChild_item + .cntChild_item{
	margin-top: 9px;
}
#nav .cntChild_item::before{
	content: "- ";
}
#nav .cntItem:hover,
#nav .cntChild_item:hover{
	opacity: 0.6;
}
#nav .cntButton{
  width: 200px;
  color: var(--c-main);
  text-align: center;
  padding: 10px;
  border: 1px solid var(--c-main);
  transition: all .3s;
  font-family: var(--ff-mincho);
	display: block;
	margin: 0 auto;
}
#nav .cntButton:hover{
  color: #FFFFFF;
  background: var(--c-main);
}

/* お問い合わせ */
#_contact{
  margin-bottom: 120px;
}
#_contact .cntInner{
  background-image: url(../img/common/contact_bg.png);
  background-position: center;
  background-size: cover;
  padding: 63px 20px;
  text-align: center;
  color: #FFFFFF;
}
#_contact .cntTitle{
  color: #FFFFFF;
  margin-bottom: 37px;
}
#_contact .cntTitle .en::after{
  background-color: #FFFFFF;
}
#_contact .cntText{
  margin-bottom: 35px;
  line-height: 1.6875;
}
#_contact .cntButton{
  width: 200px;
  color: #FFFFFF;
  text-align: center;
  padding: 10px;
  border: 1px solid #FFFFFF;
  transition: all .3s;
  font-family: var(--ff-mincho);
}
#_contact .cntButton:hover{
  color: var(--c-main);
  background: #FFFFFF;
}
/* TAB */
@media screen and (max-width: 899px) {
  #_contact{
    margin-bottom: 60px;
  }
  #_contact .cntInner{
    padding: 40px 20px;
  }
  #_contact .cntText{
    margin-bottom: 26px;
    font-size: 1.4rem;
  }
  #_contact .cntButton{
    font-size: 1.4rem;
  }
}
/* SP */
@media screen and (max-width: 480px) {
  #_contact .cntText{
    text-align: left;
  }
}

/* フッター */
#footer{
  border-top: 1px solid var(--c-main);
	padding: 0 20px;
}
#footer .cntInner{
  padding: 60px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#footerLogo{
  width: 40%;
  max-width: 163px;
  min-width: 110px;
}
#footerNav{
  max-width: 492px;
	min-width: 426px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-left: 10px;
  margin-bottom: -11px;
  font-size: 1.4rem;
}
#footerNav a{
	display: block;
  margin-bottom: 11px;
}
#footerNav .cntList{
  min-width: 116px;
}
#footerNav .cntList + .cntList{
  margin-left: 10px;
}
#footerNav .cntItem > .txt{
  font-weight: 600;
}
#footerNav .cntChild_item .txt{
  padding-left: 10px;
  position: relative;
}
#footerNav .cntChild_item .txt::before{
  position: absolute;
  content: "-";
  font-size: 1.4rem;
  top: 0;
  left: 0;
  
}
#footerSNS{
  border: 1px solid #D1D1D1;
  max-width: 433px;
  width: 100%;
  height: 398px;
  max-height: 38vw;
  margin-left: 20px;
  display: none;
}
#copyright{
  display: block;
  text-align: center;
  font-size: 1.5rem;
  letter-spacing: 0.03em;
  border-top: 1px solid #C4C4C4;
  padding: 17px 20px 33px;
}
/* TAB */
@media screen and (max-width: 899px) {
	#footer{
		border-top: none;
	}
	#footer .cntInner{
		padding: 0 0 60px;
	}
	#footerSNS{
    max-height: 100%;
    height: 307px;
		margin: 0 auto;
	}
	#copyright{
		font-size: 1.2rem;
		padding: 14px 20px;
	}
}

/*パンくずリスト*/
#breadcrumb{
  padding: 107px 20px 14px;
  color: var(--c-main);
  font-size: 1.4rem;
}
#breadcrumb .cntList{
  display: flex;
  flex-wrap: wrap;
}
#breadcrumb .cntItem{
  margin-right: 7px;
}
#breadcrumb .cntItem + .cntItem::before{
	content: "";
	display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 10px;
  border-top: 1px solid #B8C1C7;
  border-right: 1px solid #B8C1C7;
  transform: rotate(45deg);
}

#pageHeading{
  padding: 0 20px;
}
#pageHeading .cntImg{
  height: 512px;
  margin-bottom: 30px;
}
#pageHeading .cntTitle{
  color: var(--c-main);
  font-size: 6.5rem;
  font-weight: 500;
  font-family: var(--ff-en);
  letter-spacing: .02em;
}
#pageHeading .cntTitle .ja{
  position: relative;
  padding-left: 20px;
  font-family: var(--ff-mincho);
  font-size: 2.5rem;
  letter-spacing: .05em;
}
#pageHeading .cntTitle .ja::before{
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 1px;
  height: 30px;
  background: var(--c-main);
}
#pageHeading .cntCatch{
  margin-top: 75px;
  color: var(--c-main);
  font-family: var(--ff-mincho);
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.6875;
}
/* TAB */
@media screen and (max-width: 899px) {
  #breadcrumb{
    padding-top: 70px;
    padding-bottom: 8px;
    font-size: 1.2rem;
  }
  #breadcrumb .cntItem{
    margin-right: 6px;
  }
  #breadcrumb .cntItem + .cntItem::before{
    width: 6px;
    height: 6px;
    margin-right: 8px;
    margin-bottom: 1px;
  }
  #pageHeading .cntImg{
    height: 56vw;
  }
  #pageHeading .cntTitle{
    font-size: 4.75rem;
  }
  #pageHeading .cntTitle .ja{
    font-size: 2.05rem;
    padding-left: 15px;
  }
  #pageHeading .cntTitle .ja::before{
    height: 23px;
  }
  #pageHeading .cntCatch{
    margin-top: 55px;
    font-size: 2.6rem;
  }
}
/* SP */
@media screen and (max-width: 480px) {
  #pageHeading .cntTitle{
    font-size: 3rem;
  }
  #pageHeading .cntTitle .ja{
    padding-left: 11px;
    font-size: 1.6rem;
  }
  #pageHeading .cntTitle .ja::before{
    top: 4px;
    height: 17px;
  }
  #pageHeading .cntCatch{
    margin-top: 38px;
    font-size: 2rem;
  }
  
}

/* フォーム */
#_form{
  padding: 88px 20px 120px;
}
#_form .cntText{
  margin-bottom: 43px;
  font-size: 1.8rem;
  line-height: 1.6666;
  text-align: center;
}
#_form .cntBox{
  padding: 80px 20px;
  background: #F4F6F7;
}
#_form .cntBox_inner{
  max-width: 766px;
  margin: 0 auto;
}
#_form .cntBox_text{
  margin-bottom: 35px;
  font-size: 1.8rem;
  line-height: 1.5;
  text-align: center;
}
#_form .cntItem{
  display: grid;
  grid-template-columns: 166px 1fr;
  gap: 8px 20px;
}
#_form .cntItem + .cntItem{
  margin-top: 30px;
}
#_form .cntItem_title{
  font-weight: 600;
}
#_form .cntItem.required .cntItem_title::after{
  content: "※";
  display: inline-block;
  margin-left: 5px;
  color: #E60000;
  font-size: 1.3rem;
  font-weight: 600;
}
#_form.confirm .cntItem_inputs{
  line-height: 1.6666;
}
#_form .cntItem .input{
  padding: 9px 15px 8px;
}
#_form.input .cntItem .error{
  color: #E60000;
  font-size: 1.2rem;
  padding: 4px 10px 0;
}
#_form .cntItem .select{
  padding: 13px 15px;
}
#_form.input .cntItem .select.empty{
  color: #C8C8C8;
}
#_form.input .cntItem .select option{
  color: #000;
}
#_form.input .cntItem .down-arrow{
  position: relative;
}
#_form.input .cntItem .down-arrow::before,
#_form.input .cntItem .down-arrow::after{
  content: "";
  position: absolute;
  right: 20px;
  bottom: 20px;
  height: 8px;
  width: 2px;
  background: #767676;
  border-radius: 2px;
}
#_form.input .cntItem .down-arrow::before{
  transform: rotate(-45deg);
  transform-origin: bottom center;
}
#_form.input .cntItem .down-arrow::after{
  transform: rotate(45deg);
  transform-origin: bottom center;
}
#_form .cntItem .checkbox{
  display: none;
}
#_form .cntItem .checkbox + label{
  position: relative;
  padding-left: 25px;
  display: block;
  cursor: pointer;
}
#_form .cntItem .checkbox + label::before{
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 15px;
  height: 15px;
  background-color: #fff;
  border: 1px solid #111;
  border-radius: 2px;
}
#_form .cntItem .checkbox:checked + label::after{
  content: "";
  position: absolute;
  top: 5px;
  left: 3px;
  width: 10px;
  height: 5px;
  border-left: 2px solid #111;
  border-bottom: 2px solid #111;
  transform: rotate(-44deg);
}
#_form.input .cntItem .textarea{
  height: 200px;
}
#_form .cntItem_privacy{
  margin-top: 28px;
  text-align: center;
}
#_form.confirm .cntItem_privacy{
  display: none;
}
#_form .cntItem_privacy a{
  transition: all .3s;
  color: var(--c-link);
  text-decoration: underline;
}
#_form .cntItem_privacy a:hover{
  color: var(--c-hover);
}
#_form .cntBox_buttons{
  display: flex;
  justify-content: center;
  gap: 0 15px;
}
#_form .cntButton{
  display: block;
  margin-top: 57px;
  pointer-events: none;
}
#_form .cntButton.return{
  border-color: #767676;
  color: #767676;
}
#_form .cntButton.return .arrow{
  border-color: transparent #767676 transparent transparent;
}
#_form .cntButton.return:hover{
  background: #767676;
  color: #fff;
}
#_form .cntButton.return:hover .arrow{
  border-color: transparent #fff transparent transparent;
}

#_form.input #_form_type .cntItem_inputs{
  margin-top: -7px;
}
#_form.input #_form_type label{
  margin-top: 7px;
}
/* TAB */
@media screen and (max-width: 899px) {
  #_form{
    padding: 66px 20px 90px;
  }
  #_form .cntText{
    margin-bottom: 30px;
    font-size: 1.7rem;
  }
  #_form .cntBox{
    padding: 60px 20px;
  }
  #_form .cntBox_text{
    font-size: 1.6rem;
  }
  #_form .cntItem{
    grid-template-columns: 1fr;
  }
}
/* SP */
@media screen and (max-width: 480px) {
  #_form{
    padding: 43px 20px 60px;
  }
  #_form .cntText{
    margin-bottom: 20px;
    font-size: 1.6rem;
    text-align: left;
  }
  #_form .cntBox{
    padding: 40px 20px;
  }
  #_form .cntBox_text{
    margin-bottom: 24px;
    font-size: 1.4rem;
  }
  #_form .cntItem + .cntItem{
    margin-top: 18px;
  }
  #_form .cntItem_title{
    font-size: 1.4rem;
  }
  #_form .cntItem.required .cntItem_title::after{
    margin-left: 3px;
    font-size: 1.1rem;
  }
  #_form.confirm .cntItem_inputs{
    font-size: 1.4rem;
    line-height: 1.6428;
  }
  #_form .cntItem .input{
    padding: 6px 15px;
  }
  #_form .cntItem .select{
    padding: 9px 15px 8px;
  }
  #_form.input .cntItem .down-arrow::before,
  #_form.input .cntItem .down-arrow::after{
    bottom: 17px;
  }
  #_form .cntItem .checkbox + label{
    font-size: 1.4rem;
  }
  #_form .cntItem .checkbox + label::before{
    top: 1px;
    width: 13px;
    height: 13px;
  }
  #_form .cntItem .checkbox:checked + label::after{
    top: 5px;
    left: 3px;
    width: 8px;
    height: 3px;
  }
  #_form.input .cntItem .textarea{
    height: 100px;
  }
  #_form .cntItem_privacy{
    margin-top: 17px;
  }
  #_form .cntBox_buttons{
    gap: 0 20px;
  }
  #_form .cntButton{
    margin-top: 28px;
  }

  #_form.input #_form_type .cntItem_inputs{
    margin-top: -5px;
  }
  #_form.input #_form_type label{
    margin-top: 5px;
  }
}

/* フォーム送信完了 */
#_complete{
  padding: 88px 20px 120px;
}
#_complete .cntText{
  font-size: 1.8rem;
  line-height: 1.6666;
  text-align: center;
}
#_complete .cntButton{
  display: block;
  margin: 55px auto 0;
}
/* TAB */
@media screen and (max-width: 899px) {
  #_complete{
    padding: 66px 20px 90px;
  }
  #_complete .cntText{
    font-size: 1.7rem;
  }
}
/* SP */
@media screen and (max-width: 480px) {
  #_complete{
    padding: 43px 20px 60px;
  }
  #_complete .cntText{
    font-size: 1.6rem;
    text-align: left;
    line-height: 1.6875;
  }
  #_complete .cntText a{
    color: var(--c-link);
    transition: color .3s;
  }
  #_complete .cntText a:hover{
    color: var(--c-hover);
  }
  #_complete .cntButton{
    margin-top: 25px;
  }
}

/* テキストページ */
#_simple{
  padding: 88px 20px 120px;
}
#_simple .cntTitle{
  margin-bottom: 75px;
  color: var(--c-main);
  font-family: var(--ff-mincho);
  font-size: 4rem;
  font-weight: 500;
  text-align: center;
}
#_simple .cntTitle .txt{
  position: relative;
  display: inline-block;
  padding: 0 75px;
}
#_simple .cntTitle .txt::before,
#_simple .cntTitle .txt::after{
  content: "";
  position: absolute;
  top: 60%;
  width: 60px;
  height: 1px;
  background: var(--c-main);
}
#_simple .cntTitle .txt::before{
  left: 0;
}
#_simple .cntTitle .txt::after{
  right: 0;
}
#_simple .cntBox p{
  line-height: 1.6875;
}
#_simple .cntBox h2{
  margin: 20px 0 5px;
  color: var(--c-main);
  font-size: 1.8rem;
  font-weight: 600;
}
#_simple .cntBox li{
  margin: 3px 0;
}
#_simple .cntBox ul,
#_simple .cntBox ol{
  padding-left: 10px;
}
#_simple .cntBox ol li{
  padding-left: 40px;
	list-style-type: none;
	counter-increment: cnt;
}
#_simple .cntBox ol li::before{
	content: "（" counter(cnt) "）";
  margin-left: -40px;
}
#_simple .cntButton{
  display: block;
  margin: 57px auto 0;
}
#_simple .cntBox a{
  transition: all .3s;
  color: var(--c-link);
  text-decoration: underline;
}
#_simple .cntBox a:hover{
  color: var(--c-hover);
}
/* TAB */
@media screen and (max-width: 899px) {
  #_simple{
    padding: 66px 20px 90px;
  }
  #_simple .cntTitle{
    margin-bottom: 60px;
    font-size: 3.5rem;
  }
  #_simple .cntTitle .txt{
    padding: 0 60px;
  }
  #_simple .cntTitle .txt::before,
  #_simple .cntTitle .txt::after{
    width: 45px;
  }
  #_simple .cntBox{
    font-size: 1.5rem;
  }
  #_simple .cntBox h2{
    font-size: 1.7rem;
  }
}
/* SP */
@media screen and (max-width: 480px) {
  #_simple{
    padding: 44px 20px 60px;
  }
  #_simple .cntTitle{
    margin-bottom: 40px;
    font-size: 2.5rem;
  }
  #_simple .cntTitle .txt{
    padding: 0 45px;
  }
  #_simple .cntTitle .txt::before,
  #_simple .cntTitle .txt::after{
    width: 30px;
  }
  #_simple .cntBox{
    font-size: 1.4rem;
  }
  #_simple .cntBox h2{
    margin: 15px 0 3px;
    font-size: 1.6rem;
  }
  #_simple .cntBox ul,
  #_simple .cntBox ol{
    padding-left: 0;
  }
  #_simple .cntButton{
    margin-top: 30px;
  }
}