@charset "UTF-8";
/*
tinyPreCss-ver1.0

【補足１】 CSS設計について
PRECSSに準じて設計
https://precss.io/ja/
*/

/* ==========================================================================
  Base ベース
========================================================================== */
/*icon-tinyHP-v2.7*/
@font-face {
  font-family: 'icon-tinyHP';
  src:  url('fonts/icon-tinyHP.eot?g8x80z');
  src:  url('fonts/icon-tinyHP.eot?g8x80z#iefix') format('embedded-opentype'),
    url('fonts/icon-tinyHP.woff2?g8x80z') format('woff2'),
    url('fonts/icon-tinyHP.ttf?g8x80z') format('truetype'),
    url('fonts/icon-tinyHP.woff?g8x80z') format('woff'),
    url('fonts/icon-tinyHP.svg?g8x80z#icon-tinyHP') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
/* 変数*/
:root{
	--maxWidth:832px;
	--maxWidthMd:600px;
	--maxWidthMd-per:82.86%;
	--gap:clamp(20px, 14.58px + 1.88vw, 40px);
	--gapMd:clamp(33px, 25.952px + 1.88vw, 53px);
	--colorBase:#ffffff;
	--colorMain:#AC1F24;
	--colorTxt:#242424;
	--colorTxtGray:#989898;
	--fontFamSansSerif:"BIZ UDPGothic", "Meiryo UI", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	--fontSzDefolt:clamp(0.938rem, 0.871rem + 0.28vw, 1.125rem);/*min15px -> max18px*/
	--fontSzSm:clamp(0.875rem, 0.809rem + 0.28vw, 1.063rem)/*min14px -> max17px*/;
	--fontWtRegular:400;
	--fontWtBold:700;
}
/* 要素*/
body{
	background-color:var(--colorBase);
	color:var(--colorTxt);
	font-family:var(--fontFamSansSerif);
	font-size:var(--fontSzDefolt);
	font-weight:var(--fontWtRegular);
	font-style: normal;
	letter-spacing:.12em;
	line-height:1.0;
}
a{
	color:inherit;
	text-decoration:underline;
	transition:.3s;
}

/* ==========================================================================
  Layout　レイアウト
========================================================================== */
/* ヘッダー
========================================================================== */
.ly_header{
	width: 100%;
}
.ly_header_inner{
	width:100%;
	padding:clamp(32px, 26.368px + 1.5vw, 48px) 0;
	/*background: linear-gradient(to bottom,#FFF57A 0%,#FCCD00 30%,#F1942E 70%,#B70008 100%);*/
	background-color: var(--colorMain);
}
.ly_header_icatch{
	width:100%;
	background-color:#fff;
}
/* コント
========================================================================== */
.ly_cont_wrap{
	padding-top:var(--gapMd);
	padding-bottom:var(--gapMd);
}
.ly_cont_wrap.ly_cont_wrap__top{
	padding-top:calc(var(--gapMd) * 1.5);
}
.ly_cont_wrap.ly_cont_wrap__profile{
	padding-top:calc(var(--gapMd) * 1.55);
}
.ly_cont_wrap.ly_cont_wrap__links{
	padding-top:calc(var(--gapMd) * 1.65);
}
.ly_cont_wrap.ly_cont_wrap__company{
	padding-top:calc(var(--gapMd) * 1.85);
}
.ly_cont_wrap.ly_cont_wrap__bnr{
	padding-top:calc(var(--gapMd) * 1.55);
	padding-bottom:calc(var(--gapMd) * 2.4);
}
.ly_cont_wrap.ly_cont_wrap__policy{
	padding-top:calc(var(--gapMd) * 1.55);
	padding-bottom:calc(var(--gapMd) * 1.5);
}
.ly_cont{
	padding-right:30px;
	padding-left:30px;
	margin-inline:auto;
	max-width:calc(var(--maxWidth) + 30px + 30px);
}
.ly_cont > *:last-child{
	margin-bottom:0;
}
.ly_cont2nd{
	margin-top:var(--gap);
}
.ly_cont3rd{
	margin-top:var(--gap);
}
@media (min-width:768px){
	.ly_cont_wrap__company .ly_cont{
		display: table;
	}
	.ly_cont.ly_cont__widthMd{
		width:var(--maxWidthMd-per);
		max-width:var(--maxWidthMd);
	}
}
@media (max-width:767px){
	.ly_header_inner{
		padding:35px 30px 31px;
	}
	.ly_cont{
		padding-right:24px;
		padding-left:24px;
	}
}
/* フッター
========================================================================== */
.ly_footer{
	background-color:#fff;
}
.ly_footer_inner{
	padding-right:30px;
	padding-bottom:calc(var(--gapMd) * 1.5);
	padding-left:30px;
	margin-inline:auto;
	max-width:calc(var(--maxWidth) + 30px + 30px);
	line-height:1.7;
}

/* ==========================================================================
  Javascript Modules jsモジュール
========================================================================== */
/* js_telLink
========================================================================== */
.js_telLink a{
	color:inherit;
	text-decoration: underline;
}

/* ==========================================================================
  Element Modules エレメントモジュール
========================================================================== */
/* 見出し el_lv2Heading
========================================================================== */
.el_lv2Heading{
	display:table;
	margin-right:auto;
	margin-bottom:2.55em;
	margin-left:auto;
	color:var(--colorMain);
	font-size:clamp(1.063rem, 0.996rem + 0.28vw, 1.25rem);/*min17px -> max20px*/
	font-weight:var(--fontWtBold);
	letter-spacing:.16em;
	line-height:1.5;
	text-align: center;
}
.el_lv2Heading_mark{
	display: block;
	width: 8.25em;
	margin-bottom: .8em;
}
/* el_linkBtn
========================================================================== */
a.el_linkBtn{
	display:flex;
	align-items:center;
	justify-content:center;
	max-width:100%;
	min-height:3.111em;
	padding:0.667em 2.278em;
	background-color:#fff;
	border:2px solid var(--colorMain);
	color:var(--colorMain);
	font-weight:var(--fontWtBold);
	letter-spacing:.16em;
	line-height:1.2;
	text-decoration:none;
}
a.el_linkBtn.el_linkBtn__wMd{
	padding-right: 2.889em;
	padding-left: 2.889em;
}
a.el_linkBtn:hover{
	opacity:.75;
}
a.el_linkBtn.el_linkBtn__round{
	border-radius:.55em;
}
a.el_linkBtn.el_linkBtn__fillColorMain{
	background-color:var(--colorMain);
	border-color:var(--colorMain);
	color:#fff;
}
/* アイコン　*/
.el_linkBtn_hasBeforeIcon{
	position: relative;
	display: block;
	padding-left: 1.4em;
}
.el_linkBtn_hasBeforeIcon:before{
	content: "";
	position: absolute;
	left: 0;
	top:51%;
	transform: translateY(-50%);
	font-family: 'icon-tinyHP' !important;
	font-size: 1em;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
}
.el_linkBtn_hasBeforeIcon.el_linkBtn_hasBeforeIcon__fb{
	padding-left: 1.6em;
}
.el_linkBtn_hasBeforeIcon.el_linkBtn_hasBeforeIcon__fb:before{
	content: "\e923";
	font-size: 1.3em;
}
.el_linkBtn_hasBeforeIcon.el_linkBtn_hasBeforeIcon__mail:before{
	content: "\e912";
}
.el_email{
	display: flex;
	align-items:flex-start;
}
.el_email > span{
	line-height: 1.0;
	display: block;
	padding-top: .75em;
}
.el_email_link{
	display: block;
}
.el_email_link img{
	height: 1em;
}
/* ==========================================================================
  Block Modules　ブロックモジュール
========================================================================== */
/* bl_header
========================================================================== */
.bl_header_logo{
	display:table;
	width:clamp(301px, 212.624px + 23.57vw, 552px);
	max-width: 100%;
	margin-inline:auto;
}
.bl_header_logo img{
	width:100%;
}
/* bl_headerIcatch
========================================================================== */
.bl_headerIcatch_pic img{
	width:100%;
}

/* bl_linkList
========================================================================== */
ul.bl_linkList{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:1.5em;
}
ul.bl_linkList li{
	display:flex;
	justify-content:center;
	width:100%;
}
/*
ul.bl_linkList a.el_linkBtn{
	width:262px;
}
ul.bl_linkList li:nth-child(2) a.el_linkBtn{
	width:348px;
}
ul.bl_linkList li:nth-child(3) a.el_linkBtn{
	width:294px;
}
*/
@media (max-width:575px){
	/*ul.bl_linkList a.el_linkBtn,
	ul.bl_linkList li:nth-child(2) a.el_linkBtn,
	ul.bl_linkList li:nth-child(3) a.el_linkBtn{
		width:100%;
	}*/
}
/* bl_companyList
========================================================================== */
dl.bl_companyList{
	display:grid;
	grid-template-columns:8.889em 1fr;
	row-gap:1.45em;
	column-gap:1.778em;
	line-height:1.8;
}
dl.bl_companyList dt{
	font-weight:var(--fontWtBold);
	text-align: right;
}
dl.bl_companyList dd p{
	margin-bottom:.35em;
}
dl.bl_companyList dd p:last-child{
	margin-bottom:0;
}
dl.bl_companyList strong{
	font-weight:var(--fontWtBold);
}
@media (max-width:575px){
	dl.bl_companyList{
		grid-template-columns:1fr;
		row-gap:.55em;
	}
	dl.bl_companyList dt{
		text-align: left;
	}
	dl.bl_companyList dd{
		padding-left: 1em;
		margin-bottom:.9em;
	}
}
/* bl_footer
========================================================================== */
.bl_footer{
	margin-top: calc(var(--gapMd) * 2);
}
.bl_footer small{
	display:block;
	color:var(--colorTxtGray);
	font-size:clamp(0.813rem, 0.768rem + 0.19vw, 0.938rem);/*min13px -> max15px*/;
	font-weight:var(--fontWtRegular);
	letter-spacing:.12em;
	text-align:center;
}

/* ==========================================================================
  Unique　ユニーク
========================================================================== */
/* un_intro
========================================================================== */
.un_intro{
	text-align:center;
}
.un_intro_lead{
	margin-bottom:1.5em;
	color:var(--colorMain);
	font-size:clamp(1.063rem, 0.996rem + 0.28vw, 1.25rem);/*min17px -> max20px*/
	font-weight:var(--fontWtBold);
	letter-spacing:.13em;
	line-height:1.9;
}
.un_intro_body{
	line-height:2;
}
.un_intro_body p{
	margin-bottom:.85em;
}
.un_intro_body p:last-child{
	margin-bottom:0;
}
/* un_prof
========================================================================== */
.un_prof_pic{
	display:table;
	width:272px;
	margin-right:auto;
	margin-bottom:2.1em;
	margin-left:auto;
}
.un_prof_pic img{
	width:100%;
}
.un_prof_body{
	font-size: var(--fontSzSm);
	line-height: 1.8;
}
.un_prof_body > *:last-child{
	margin-bottom: 0;
}
.un_prof_body p{
	margin-bottom: 1em;
}
.un_prof_name{
	font-size: 1.471em;
}
@media (max-width:767px){
	.un_prof_pic{
		width:68%;
		max-width:272px;
	}
}
/* un_bnr
========================================================================== */
.un_bnr_link{
	display: table;
	margin-inline: auto;
	font-size: .8em;
	text-align: center;
	text-decoration: none;
}
.un_bnr_link:hover{
	opacity: .8;
}
.un_bnr_link img{
	width: 100%;
	max-width: 300px;
}
.un_bnr_link > span{
	display: block;
	margin-top: 1em;
}
/* un_notice
========================================================================== */
.un_notice{
	padding:1.6em 1.8em;
	background-color:#f7f6f4;
	border-left:4px solid var(--colorMain);
	line-height:1.9;
	text-align:center;
}
.un_notice p{
	margin-bottom:.5em;
}
.un_notice p:last-child{
	margin-bottom:0;
}
@media (max-width:575px){
	.un_notice{
		padding:1.4em 1.2em;
		text-align:left;
	}
}
/* un_policy
========================================================================== */
.un_policy_lead{
	margin-bottom:2.4em;
	line-height:2;
}
.un_policy_sec{
	margin-bottom:2.6em;
}
.un_policy_sec:last-of-type{
	margin-bottom:0;
}
.un_policy_secTitle{
	margin-bottom:1em;
	padding-bottom:.6em;
	border-bottom:2px solid var(--colorMain);
	color:var(--colorMain);
	font-size:1.05em;
	font-weight:var(--fontWtBold);
	letter-spacing:.1em;
	line-height:1.6;
}
.un_policy_subTitle{
	margin-top:1.6em;
	margin-bottom:.8em;
	font-weight:var(--fontWtBold);
	letter-spacing:.08em;
	line-height:1.6;
}
.un_policy_sec p{
	margin-bottom:1em;
	line-height:1.9;
}
.un_policy_sec p:last-child{
	margin-bottom:0;
}
.un_policy_list{
	margin-bottom:1em;
	line-height:1.9;
}
.un_policy_list li{
	position:relative;
	margin-bottom:.5em;
	padding-left:1.2em;
}
.un_policy_list li:last-child{
	margin-bottom:0;
}
.un_policy_list:not(.un_policy_list__num) li:before{
	content:"・";
	position:absolute;
	left:0;
}
.un_policy_list__num{
	counter-reset:policyNum;
}
.un_policy_list__num li{
	counter-increment:policyNum;
}
.un_policy_list__num li:before{
	content:counter(policyNum) ".";
	position:absolute;
	left:0;
}
.un_policy_list a{
	word-break:break-all;
}
.un_policy_contact{
	line-height:1.9;
}
.un_policy_date{
	margin-top:1.5em;
	color:var(--colorTxtGray);
	text-align:right;
}
.un_policy_back{
	margin-top:3em;
	text-align:center;
}
@media (max-width:575px){
	.un_policy_secTitle{
		font-size:1em;
	}
}

/* ==========================================================================
  Helpers　ヘルパー
========================================================================== */
.hp_visuallyHidden{
	position:absolute !important;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
}
.hp_db{ display: block;}
.hp_dib{ display:inline-block !important;}
.hp_pcOnly{display:none !important;}
.hp_mtGapMd{ margin-top: var(--gapMd);}
.hp_mt1em{ margin-top: 1em !important;}
.hp_fontColorMain{ color: var(--colorMain)!important;}
.hp_fontSzSm{ font-size: var(--fontSzSm)!important;}
.hp_txtCenter{ text-align: center;}
.hp_txtLS0{letter-spacing: 0 !important;}
@media (min-width:768px){
	.hp_pcOnly{display:block !important;}
}
