@charset "utf-8";
/* Foundation
***********************************************************************/
:root{
	--color-primary: #2f7192;
	--color-primary-pail: #EDF7F9;
}
figure{
	display: grid;
	place-content: center;
}
#contents{
	padding-bottom: 0;
}

/* a
***********************************************************************/
a{
	text-decoration: none;
}
.link_arrow,
.link_dl {
	display:block;
	padding-right:28px;
	position:relative;
}
.link_arrow.inlineBlock,
.link_dl.inlineBlock {
	display:inline-block;
}
.link_arrow::before {
	content:"";
	top:50%;
	right:0;
	transform:translateY(-50%);
	-webkit-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
	width:1.4rem;
	height:1.4rem;
	background:#307292;
	border-radius:50%;
	position:absolute;
}
.pamp .link_arrow::before {
	background:#F99D90;

}
.link_arrow::after {
	content:"";
	top:50%;
	right:0;
	width:10px;
	height:10px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	position:absolute;
}
.link_arrow.bottom::after {
	top:calc(50% - 2px);
	right:6px;
	transform:translateY(-50%) rotate(135deg);
	-webkit-transform:translateY(-50%) rotate(135deg);
	-ms-transform:translateY(-50%) rotate(135deg);
}
.link_arrow.right::after {
	right:8px;
	transform:translateY(-50%) rotate(45deg);
	-webkit-transform:translateY(-50%) rotate(45deg);
	-ms-transform:translateY(-50%) rotate(45deg);
}
.link_dl::before {
	content:"";
	top:50%;
	right:0;
	transform:translateY(-50%);
	-webkit-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
	width:1.4rem;
	height:1.4rem;
	background:url(../introduction/images/icon_dl.png) no-repeat;
	background-size:contain;
	position:absolute;
}
.btn,
.pamp {
	display:inline-block;
	position:relative;
	line-height:1.5;
	margin:8px 8px 11px;
	padding:12px 24px;
	background:#fff;
	border:3px solid #307292;
	border-radius:30px;
	box-shadow:0 2px 7px 0px rgba(0, 0, 0, 0.2);
	color: #307292;
	font-size:18px;
	font-weight:600;
	text-decoration: none;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
.pamp{
	transition: background .3s, color .3s;
	border-color:#F99D90;
	color:#F56244;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0;
}
.pamp > img{
	height:3.2rem;
}
.pamp:hover{
	color:#fff;
	background-color: linear-gradient(to right, #F99D90, #F56244);
}

/* layout
----------------------------------------------------------------------*/
.layout{
	margin:0 auto;
	max-width:1000px;
}

/* mv
----------------------------------------------------------------------*/
.mv{
	padding:30px 0;
	text-align: center;
	background: url(../transfer/images/mv_bg.png) top 10% center / contain no-repeat, linear-gradient(90deg, #57d4b3, #43a6c4);
}
.mv .layout{
	padding: 0 16px;
}
.mv_subttl{
	display: inline-flex;
	align-items: end;
	gap: 8px;
	color: #fff;
	font-size:20px;
	font-weight: bold;
}
.mv_subttl::before,
.mv_subttl::after{
	content: "";
	display: block;
	width: 2px;
	height: 1.5em;
	background: currentColor;
}
.mv_subttl::before{
	transform: rotate(-30deg);
}
.mv_subttl::after{
	transform: rotate(30deg);
}
.mv_ttl{
	color: #1f263d;
	font-size:26px;
	font-weight:bold;
	text-align: center;
}
.mv_ttl span{
	display: inline-block;
	border-bottom: 6px solid #3d8c94;
	line-height: 1;
}
.mv .btn_area{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	margin-bottom:20px;
}
.mv .btn_l{
	margin:8px;
	width:100%;
	max-width:250px;
}
.contact_address{
	padding: 20px;
	margin-top: 20px;
	background: #fff2cf;
	border-radius: 10px;
	text-align: center;
}
.contact_content{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 10px 30px;
	flex-wrap: wrap;
	width: 100%;
}


/* main
----------------------------------------------------------------------*/
section.u-bg-primary-pail{
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	padding: 40px 16px;
}
.sec_ttl{
	font-size:28px;
	font-weight:bold;
	text-align:center;
	line-height:1.5;
	padding-top:20px;
	margin-bottom:1.6em;
}
.sec_subttl{
	display:block;
	font-size:18px;
	font-weight:bold;
	margin-bottom:6px;
}
.sec_ttl + .txt_area{
	text-align:center;
}
.item_ttl{
	font-size:20px;
	font-weight:bold;
	line-height:1.5;
}
sup{
	font-size:12px;
	vertical-align:super;
}
.txt_area p + p{
	margin-top:1em;
}

/*tel_wrap*/
.tel_wrap{
	flex: none;
}
.tel_wrap a{
	font-size: 30px;
	font-weight: bold;
}

/*problem*/
.problem{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 10px 30px;
	margin: 20px 0 40px;
}
.problem li{
	position: relative;
	background: #d4e8e6;
	border-radius: 5px;
	padding: 20px;
	margin-bottom: 20px;
	font-weight: bold;
	text-align: center;
}
.problem li::before{
	content: "";
	position: absolute;
	inset: auto 20px -20px auto;
	border: 10px solid #d4e8e6;
	border-left-color: transparent;
	border-bottom-color: transparent;
}
.problem figure{
	margin-bottom: 15px;
}
.problem img{
	border-radius: 50%;
	border: 3px solid #94acb8;
}

/*list_disc*/
.list_disc{
	list-style:disc;
	padding-left:1em;
}

/*label*/
.label{
	display: inline-block;
	padding: 2px 6px;
	margin-bottom: 8px;
	border-radius: 5px;
	color: #fff;
	font-size: 14px;
	line-height: 1.5;
	background: #fbb03b;
	vertical-align: text-bottom;
}

/*grid*/
.grid{
	display: grid;
	gap: 60px 30px;
}
.grid .item_ttl{
	margin-top: 30px;
	border-bottom: 0;
}
.grid.item2{
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.subgrid{
	display: grid;
	gap: 15px;
	grid-template-rows: subgrid;
}
.subgrid.item2{
	grid-row: span 2;
}
.subgrid.item3{
	grid-row: span 3;
}
.subgrid.item4{
	grid-row: span 4;
}
.subgrid.item5{
	grid-row: span 5;
}
.subgrid > *{
	margin-top: 0 !important;
}
.subgrid figure{
	place-content: center;
}
.subgrid .item_ttl{
	margin-bottom: 0;
}

/*media*/
.media, .media_rev{
	display: flex;
	gap: 20px 40px;
}
.media{
	flex-direction: column;
}
.media_rev{
	flex-direction:column-reverse;
}

/*card*/
.card_wrap{
	gap: 20px 30px;
}
.card{
	position:relative;
	border-radius:10px;
	padding:20px;
	background: #fff;
	box-shadow: 0px 3px 8px 0px rgba(48, 114, 146, .1);
}
.card_accent{
	background:#fcf9d6;
	border:4px solid #ffa800;
}
.card > .img_box{
	min-height:0;
	margin-bottom:15px;
}
.card .item_ttl{
	margin: 0 0 20px;
	color: var(--color-primary);
	text-align: center;
}

/*dl_table_wrap*/
:is(.dl_table_wrap, .dl_grid_wrap){
	display: grid;
}
dt{
	font-weight: bold;
}
.dl_table_wrap > dl > :is(dt, dd){
	padding: 10px 15px;
}
.dl_table_wrap > dl > dt{
	background: #eee;
}
.dl_table_wrap .dl_table_wrap{
	gap: 1em 20px;
}
.dl_table_wrap .dl_table_wrap > dl > :is(dt, dd){
	padding: 0;
}
.dl_table_wrap .dl_table_wrap > dl > dt{
	background: transparent;
}
.item_ttl + .dl_table_wrap{
	margin-top: 10px;
}

/*table*/
table{
	width:100%;
	margin:10px auto;
	font-size:14px;
}
th,td{
	vertical-align:middle;
	padding:5px;
	text-align:center;
	border:1px solid var(--color-primary);
}
thead th,
thead td{
	background:var(--color-primary);
	color:#fff;
	font-weight:bold;
	text-align:center;
}
thead th:not(:last-child){
	border-right-color: #fff;
}
tbody tr:first-child *{
	border-top:0;
}
td{
	background:#fff;
}

/*acc*/
input[type="radio"],
input[type="checkbox"]{
	display: none;
}
.acc{
	position: relative;
	background: #fff;
	border-radius: 5px;
}
.acc > input[type="checkbox"]{
	display: none;
}
.acc_ttl{
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 10px;
	min-height: 48px;
	font-weight: bold;
	border-radius: 5px;
	cursor: pointer;
}
.acc_ttl::after{
	content: "";
	display: inline-block;
	position: relative;
	top: 2px;
	width: 6px;
	height: 6px;
	border-right: 1px solid var(--color-primary);
	border-bottom: 1px solid var(--color-primary);
	transform: rotate(-135deg);
	flex: none;
}
.acc_content{
	padding: 0 10px;
	height: 0;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: padding .2s ease-out, opacity .2s linear, height .2s ease-out;
}
input:checked + .acc_ttl::after{
	top: -2px;
	transform: rotate(45deg);
}
input:checked ~ .acc_content{
	height: auto;
	opacity: 1;
	visibility: visible;
}

/*faq*/
.faq > li + li{
	margin-top: 4px;
}
.faq .acc_ttl{
	justify-content: start;
	background: var(--color-primary-pail);
}
.faq .acc_ttl::before{
	display: inline-grid;
	place-content: center;
	width: 1.5em;
	height: 1.5em;
	background: var(--color-primary);
	color: #fff;
	font-weight: bold;
	border-radius: 50%;
	flex: none;
}
.faq .acc_ttl::before{
	content: "Q";
}
.faq .acc_ttl::after{
	margin-left: auto;
}
input:checked ~ .acc_content{
	padding: 6px 10px 20px;
}

/* contact_area */
.contact .item_ttl{
	padding: 10px;
	border-top: 2px solid var(--color-primary);
	border-bottom: 2px solid var(--color-primary);
	color: var(--color-primary);
	font-size: 30px;
	text-align: center;
}
.contact_area_wrap {
	margin-top:40px;
}
.contact_area,
.contact_area_pamp{
	margin:0 auto;
	margin-top:20px;
	width:100%;
	max-width:600px;
	background:#fff;
	border:2px solid #bbdfef;
	box-shadow: 0px 3px 8px 0px rgba(48,114,146,.1);
	border-radius:10px;
}
.contact_area_pamp{
	border-color:#F99D90;
}
.contact_ttl {
	padding:8px 0;
	background:#bbdfef;
	border-radius:8px 8px 0 0;
	font-weight:600;
	text-align:center;
}
.contact_area_pamp > .contact_ttl {
	color:#fff;
	background: linear-gradient(to right, #F99D90, #F56244);
	margin-right:-1px;
}

.contact_txt {
	padding:8px 0;
}
.contact_txt .tel_link,
.contact_txt .tel_link_sec {
	display:flex;
	justify-content:center;
	align-items:center;
	text-decoration:none;
}
.contact_txt .tel_link_sec img {margin-right:.33rem;}

.contact_txt .tel_link .no,
.contact_txt .tel_link_sec .no {
	padding:0 0.5rem;
	font-size:1.9rem;
	font-weight:600;
}
.contact_txt .ex {
	display:block;
	color:#333;
	font-size:1rem;
	font-weight:500;
	text-align:center;
}
.bnr_consultation {
	margin-top:40px;
}
.bnr_consultation a {
	display: block;
	max-width:100%;
	text-align:center;
	transition:opacity .3s;
}
.bnr_consultation a:hover {
	opacity: .7;
	transition:opacity .3s;
}

/* utility
***********************************************************************/
.u-mt-8{
	margin-top: 8px;
}
.u-ai-c{
	align-items:center;
}
.u-fw-b{
	font-weight:bold;
}
.u-fz-12{
	font-size:12px;
}
.u-fz-1_5em{
	font-size:1.5em;
	line-height:1;
}
.u-fz-1_75em{
	font-size:1.75em;
	line-height:1;
}
.u-fz-0_75em{
	font-size:.75em;
}
.u-ta-c{
	text-align:center;
}
.u-ta-c.is-pc{
	text-align:left;
}
.u-ws-nw{
	white-space:nowrap;
}
.u-col-primary{
	color:var(--color-primary);
}
.u-bg-primary-pail{
	background: var(--color-primary-pail);
}
br.is-pc{
	display:none!important;
}

/*=====================================================================
   769 start
======================================================================*/
@media screen and ( min-width:769px ){

/* a
***********************************************************************/
.btn,
.pamp{
	transition: background .3s, color .3s;
}
.btn:hover {
	background:#307292;
	color:#fff;
	transition: background .3s, color .3s;
}
.pamp:hover {
	background: linear-gradient(to right, #F99D90, #F56244);
	color:#fff;
	transition: background .3s, color .3s;
}
.btn:hover .link_dl::before {
	background:url(../introduction/images/icon_dl_hover.png) no-repeat;background-size:contain;
	position:absolute;
}

/* mv
----------------------------------------------------------------------*/
.mv_ttl{
	font-size: 40px;
}

/* main
----------------------------------------------------------------------*/
.sec_ttl{
	font-size:34px;
}
.sec_subttl{
	font-size:20px;
}
.item_ttl{
	font-size:24px;
}

/*media*/
.media,
.media_rev{
	display:flex;
	justify-content:center;
	flex-direction:row;
}
.media_item:not(figure):not(.video_wrap){
	flex:1;
}
.media_item .btn_area{
	justify-content:flex-start;
}

/*dl_table_wrap*/
.dl_table_wrap{
	grid-template-columns: repeat(auto-fit, minmax(200px, auto) minmax(50%, 1fr));
}
.dl_table_wrap .dl_table_wrap{
	grid-template-columns: repeat(auto-fit, minmax(60px, auto) minmax(50%, 1fr));
}
.dl_grid_wrap{
	grid-template-columns: repeat(auto-fit, minmax(60px, auto) minmax(220px, 1fr));
}
.dl_table_wrap dl{
	grid-template-columns: repeat(auto-fit, minmax(auto, 200px) minmax(50%, 1fr));
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
:is(.dl_table_wrap, .dl_grid_wrap) > dl{
	display: grid;
	grid-template-columns: subgrid;
	grid-column: span 2;
}
.dl_table_wrap > dl + dl{
	border-top: 0;
}
.dl_table_wrap > dl > dt{
	padding: 15px;
	height: 100%;
}
.dl_table_wrap > dl > dd{
	padding: 15px 30px 15px 30px;
}
.dl_table_wrap .dl_table_wrap > dl{
	border: 0;
}

/*table*/
table{
	font-size:16px;
}

/* contact_area */
.contact_area_wrap {
	display:flex;
}
.contact_area,
.contact_area_pamp{
	display:flex;
	flex-direction:column;
	margin:20px 8px 0 8px;
}
.contact_txt .tel_link,
.contact_txt .tel_link_sec {
	pointer-events:none;
}
.contact_txt .tel_link_sec {
	margin:22px auto 30px;
}
.contact_txt .tel_link .no {
	font-size: 2.2rem;
}
.contact_txt .tel_link_sec .no {
	font-size: 1.3rem;
}

.bnr_consultation {
	margin:40px 8px 0 8px;
}

/* utility
----------------------------------------------------------------------*/
.u-ta-c.is-pc{
	text-align:center;
}
br.is-sp{
	display:none!important;
}
br.is-pc{
	display:block!important;
}

/*=====================================================================
   769 end
======================================================================*/
}