@charset "UTF-8";

abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;vertical-align:baseline;background:transparent}@media screen and (min-width:768px){html{font-size:75%}}@media screen and (max-width:767px){html{font-size:62.5%}}body{color:#000;line-height:1.8;font-size:1.7rem;font-smoothing:antialiased;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;padding:0;vertical-align:baseline;text-decoration:none;color:inherit;outline:0}ins{text-decoration:none}ins,mark{background-color:#ff9;color:#000}mark{font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}img{vertical-align:middle;width:100%;max-width:100%;height:auto;font-style:italic;shape-margin:0.75rem;background-repeat: no-repeat;background-size: cover;}button,img{line-height:1}button{background-color:transparent;border:0;cursor:pointer;padding:0;appearance:none}:focus,button{outline:0}*{box-sizing:border-box}
*{
	min-height:0;
	min-width : 0;
}

body {
  line-height: 1.8;
  color: #102D43;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
}

.min{
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-style: normal;
}

html {
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 767px) {
	body{
		padding-top: 120px;
	}
	body.open{
		height: 100%;
		overflow: hidden;
	}
}
@media screen and (max-width: 375px) {
	body{
		padding-top: 32vw;
	}
}

a{
  transition: ease .3s;
}

a[href^="tel:"] {
	pointer-events: none;
}

.display_sp{ display: none!important;}
.red{ color: red;}
.orange{ color: #FDD001;}
.textcenter{ text-align: center;}
.textright{ text-align: right;}
.mt0{ margin-top: 0!important;}
.mt10{ margin-top: 10px!important;}
.mt20{ margin-top: 20px!important;}
.mt30{ margin-top: 30px!important;}
.mt40{ margin-top: 40px!important;}
.mt50{ margin-top: 50px!important;}
.mb0{ margin-bottom: 0!important;}
.mb10{ margin-bottom: 10px!important;}
.mb20{ margin-bottom: 20px!important;}
.mb30{ margin-bottom: 30px!important;}
.mb40{ margin-bottom: 40px!important;}
.mb50{ margin-bottom: 50px!important;}
sup{ 
	font-size: 75.5%;
	vertical-align: top;
	position: relative;
	top: -0.1em;
}

.inner{
  width: min(100%, 1200px);
  margin: 0 auto;
}

.flex{
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .display_sp{ display: block!important;}
  .display_pc{ display: none!important;}
  img{
    max-width: 100%!important;
    height: auto!important;
    display: block;
    margin: 0 auto;
  }
  .gm-style img{
    max-width: initial!important;
    max-width: auto!important;
  }
  a[href^="tel"] {
    pointer-events: auto;
    cursor: pointer;
  }
  .flex{
    display: block;
  }
}

/* 
-------------------------------------------------- */
#breadcrumb{
	padding: 15px 0;
}

#breadcrumb ul {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  line-height: 1.3;
  font-size: 1.4rem;
  color: #CBCBCB;
}

#breadcrumb ul li {
  position: relative;
}

#breadcrumb ul li a{
  color: #CBCBCB;
}

#breadcrumb ul li span{
	display: inline-block;
	padding-left: 16px;
}

#breadcrumb ul li:first-child span{
	padding-left: 0;
}

#breadcrumb ul li span{
	position: relative;
}

#breadcrumb ul li span::after{
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 3px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

#breadcrumb ul li:first-child span::after{
  display: none;
}

#breadcrumb ul li a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
	#breadcrumb{
		padding: 0;
	}
	#breadcrumb ul{
		font-size: 1.1rem;
		justify-content: flex-end;
		text-align: right;
	}
}

.wp-pagenavi{
  margin: 50px 0 0 0;
  text-align: center;
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wp-pagenavi a,
.wp-pagenavi span{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 36px;
  padding: 0!important;
  font-size: 1.6rem;
  border-radius: 9999px;
  margin: 0 10px!important;
  border: none!important;
  color: #005DA4!important;
  font-weight: bold;
  background: none;
}

.wp-pagenavi span{
	background: #FDD001;
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink{
	width: 36px!important;
	aspect-ratio: 1 / 1;
	padding: 0;
	text-indent: -9999px!important;
	border-radius: 50%!important;
  background: none;
  border: 1px solid #102D43!important;
}

.wp-pagenavi a.previouspostslink::before,
.wp-pagenavi a.nextpostslink::before{
	content: "";
	display: block;
	width: 6.266px;
	height: 11.032px;
	background: #102D43;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../img/icon_pager.svg);
	mask-size: contain;
}

.wp-pagenavi a.previouspostslink::before{
	transform: scale(-1, 1);
}

.wp-pagenavi span.extend{
	background: none!important;
}

@media screen and (max-width: 767px) {
	.wp-pagenavi{
	  margin: 50px 0 0 0;
	  font-size: 1.3rem;
	}
	.wp-pagenavi a,
	.wp-pagenavi span{
		margin: 0!important;
	}
}

.pager{
	width: min(100%, 540px);
	margin: 60px auto 0 auto;
	display: grid;
	grid-template-columns: 140px auto 140px;
	gap: 10px;
  align-items: center;
}

.pager li.prev{
	text-align: right;
}

.pager li.list_back{
	width: min(100%, 270px);
	text-align: center;
}

.pager li a{
	display: block;
	color: #005DA4;
	position: relative;
	line-height: 36px;
	text-decoration: none!important;
}

.pager li a:hover{
  color: #102D43;
}

.pager li.prev a, .pager li.next a{
	display: block;
}

.pager li.prev a::before,
.pager li.next a::before{
	content: "";
	display: block;
	width: 36px;
	aspect-ratio: 1 / 1;
	border: 1px solid #102D43;
	border-radius: 50%;
}

.pager li.prev a,
.pager li.next a{
	width: auto!important;
	height: 36px;
	aspect-ratio: auto;
}

.pager li.prev a::before,
.pager li.next a::before{
	content: "";
	display: block;
	width: 6.266px;
	aspect-ratio: 6.266 / 11.032;
	background: #102D43;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../img/icon_pager.svg);
	mask-size: contain;
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
}

.pager li.prev a::before{
	transform: translateY(-50%) scale(-1, 1);
}
	
.pager li.next a::before{
	left: auto;
	right: 15px;
}

.pager li.prev a::after,
.pager li.next a::after{
	content: "";
	display: block;
	width: 36px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 1px solid #102D43;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.pager li.next a::after{
	left: auto;
	right: 0;
}

@media screen and (max-width: 767px){
	.pager{
		width: 100%;
		margin: 110px auto 0 auto;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  flex-wrap: wrap;
	  gap: 0;
	}
	.pager li.prev, 	.pager li.next{
		width: 45%;
	}
	.pager li.list_back{
		order: 3;
		margin-top: 30px;
	}
	.pager li.prev a{
		text-align: left;
		padding-left: 45px;
	}
	.pager li.next a{
		text-align: right;
		padding-right: 45px;
	}
}













.wp-block-image{
  margin-top: 20px;
  margin-bottom: 20px;
}

.wp-block-image img{
  width: auto;
  height: auto;
  max-width: 100%;
  height: auto;
}

table{
  width: 100%;
	border-top: 1px solid #707070;
}

table th, table td{
	font-weight: normal;
	padding: 20px;
	vertical-align: top;
	border-bottom: 1px solid #707070;
}

table thead th, table thead td{ 
	background: #E5E9EC;
}

table tbody th{
	text-align: center;
	font-weight: 600;
	background: #E5E9EC;
}

.tb_s{
	width: 100%;
	table-layout: fixed;
}

.tb_s th, .tb_s td{
	vertical-align: middle;
	border: 1px solid #707070;
}

.tb_s th{
	text-align: left;
	white-space: normal;
}

@media screen and (max-width: 767px){
	.scroll_txt{
		width: 70px;
		font-style: italic;
		margin: 0 0 10px auto; 
		padding-bottom: 2px;
		background: url(../img/icon_arrow_l.svg) no-repeat right bottom;
	}
	.tb_scroll{
		width: 100%;
		overflow-x: scroll;
	}
	.tb_scroll table{
		width: 800px;
		white-space: nowrap;
	}
	table th, table td{
		font-size: 1.5rem;
		padding: 10px!important;
	}
	.note{
		font-size: 1.4rem;
	}
}

ul.indent{
	margin-left: 1em;
}

ul.indent li{
	margin-left: 1em;
	text-indent: -1em;
}

ul.ulist li {
  list-style:disc;
}

ol.olist li {
  list-style:decimal;
}

ul.ulist li, ol.olist li{
  margin: 0 0 0 20px;
}

dl.dlist dt{
  font-weight:bold;
  font-size:1.2em;
  margin:0 0 2px;
}

dl.dlist dd{
  margin:0 0 5px 12px;
}

.form_wrap{
	max-width: 800px;
	margin: 0 auto;
}

.form_wrap table td{
	vertical-align: middle;
}

.form_wrap table th p,
.form_wrap table td p{
	margin: 0;
}

@media screen and (min-width: 768px) {
	.thanks_wrap{
	  text-align: center;
	}
}

.form_att{
	text-align: center;
	margin-bottom: 20px;
}

.submit_wrap{
	margin-top: 50px;
}

.submit_wrap p{
	margin-top: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.submit_wrap p > *{
	margin: 0 10px!important;
}

.submit_wrap p .wpcf7-spinner{
	display: none!important;
}

::placeholder{
	color: #B5B5B5;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=textarea],
textarea,
select {
	width: 100%;
	background: none;
	border: none;
	background: #FFF;
	border:1px solid #b7b7b7;
	color: #4D4D4D;
	line-height: 40px;
	height: 40px;
	padding: 0 8px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	border-radius: 4px;
	font-size: 1.6rem;
	box-sizing: border-box;
	-webkit-appearance: none;
}

textarea {
	padding: 8px;
	height: 240px;
	line-height: 1.8;
}

.wpcf7-form-control-wrap {
  display: block;
}
span.wpcf7-list-item {
  margin: 0 30px 0 0;
  position: relative;
}
.wpcf7-list-item-label {
  cursor: pointer;

}
/*
	input[type="checkbox"] {
  opacity: 0;
  position: absolute;
}
*/
.wpcf7-list-item-label::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 22px;
  height: 22px;
  margin-right: 10px;
  position: relative;
  top: -1px;
  border-radius: 2px;
  background: #fff;
  border: 1px solid #49565E;
}
input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
  content: "";
  width: 15px;
  height: 15px;
  position: absolute;
  top: 9px;
	left: 5px;
	background: url(../img/icon_checkbox.svg) no-repeat center center / contain;
}
input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
  background-color: #fff;
}

input[type=submit],
button[type=submit],
.wpcf7-previous{
	display: block;
  display: flex;
	justify-content: space-between;
	align-items: center;
  padding: 18px 80px;
  line-height: 1.3;
  font-size: 1.6rem;
  color: #14466B;
  border: 1px solid #102D43;
	background: #fff;
  border-radius: 9999px;
  position: relative;
	cursor: pointer;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	margin: 0 auto;
	font-size: 1.6rem;
	-webkit-appearance:none;
	transition: ease .3s;
}

input[type=submit]:hover,
button[type=submit]:hover{
	background: #FDD000;
}
button[type=submit][name=submitBack] , .wpcf7-previous{
	background: #ccc;
}

select::-ms-expand {
  display: none;
}

.select_wrap {
  display: block;
  position: relative;
  border: 1px solid #707070;
  vertical-align: middle;
}

.select_wrap select {
  appearance: none;
  width: 100%;
  padding: 0 5px;
  padding-right: 1em;
  border: none;
  outline: 0;
  background: #fff;
  background-image: none;
  box-shadow: none;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  cursor: pointer;
}

.select_wrap::before {
  position: absolute;
  top: 14px;
  right: 12px;
  width: 0;
  height: 0;
  border-width: 10px 5px 0 5px;
  border-style: solid;
  border-color: #ccc transparent transparent transparent;
  content: "";
  pointer-events: none;
}

@media screen and (max-width: 767px) {
	.select_wrap select {
	  width: 100%!important;
		padding-right: 2em;
	}
}

.mw_wp_form_confirm .select_wrap{
	width: 100%;
}

.mw_wp_form_confirm .select_wrap::after{
	display: none;
}

.select_item .wpcf7-form-control-wrap{
  display: block;
  position: relative;
  border: none;
  vertical-align: middle;
  border-radius: 3px;
}

.select_item .wpcf7-form-control-wrap select {
  appearance: none;
  width: 100%;
  padding: 0 8px;
  padding-right: 1em;
  border: none;
  outline: 0;
  background: #fff;
  background-image: none;
  box-shadow: none;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  cursor: pointer;
  border: 1px solid #E7E7E7;
}

.select_item .wpcf7-form-control-wrap::before {
	content: "";
  position: absolute;
  top: 17px;
  right: 12px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #303D4D;
  border-right: 1px solid #303D4D;
  transform: rotate(135deg);
  pointer-events: none;
}

@media screen and (max-width: 767px) {
	.select_item .wpcf7-form-control-wrap select {
	  width: 100%!important;
		padding-right: 2em;
	}
}

.point_list{
  padding: 20px 30px;
  margin-bottom: 20px;
  border: 3px solid #abcbe2;
}

.point_list li{
  font-size: 2rem;
  padding: 0 0 0 35px;
  margin: 10px 0;
  position: relative;
}

.point_list li::before{
  content: "";
  position: absolute;
  display: block;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  left: 0;
  top: 50%;
  background-color: #fff;
  border: 2px solid #999;
}

.point_list li::after{
  content: "";
  position: absolute;
  display: block;
  box-sizing: border-box;
  width: 18px;
  height: 9px;
  margin-top: -9px;
  top: 50%;
  left: 3px;
  transform: rotate(-45deg);
  border-bottom: 4px solid;
  border-left: 4px solid;
  border-color:  #cc0000;
}

.btn{
	max-width: 280px;
  margin-top: 30px;
}

.btn a{
  display: flex;
	justify-content: space-between;
	align-items: center;
  padding: 18px 40px;
  line-height: 1.3;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif!important;
  color: #14466B!important;
  border: 1px solid #102D43;
  border-radius: 9999px;
  position: relative;
  text-decoration: none!important;
}
.btn.c a{
	justify-content: center;
}
.btn.w a{
	color: #fff!important;
	border: 1px solid #fff;
}

.btn a:hover{
  background: #FDD001!important;
}

.btn.w a:hover{
	color: #102D43!important;
	background: #fff!important;
}

.btn a::after{
	content: "";
	display: block;
	width: 19px;
	aspect-ratio: 13.168 / 4.729;
	background: #102D43;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../img/icon_arrow.svg);
	mask-size: contain;
	position: absolute;
	top: 50%;
	right: 40px;
	transform: translateY(-60%);
	transition: ease .3s;
}
.btn.c a::after{
	position: static;
	margin-left: 12px;
	transform: translateY(-45%);
}
.btn.w a::after{ background: #fff;}
.btn.w a:hover::after{ background: #102D43;}

.btn a:hover::after{
	right: 35px;
}

@media screen and (max-width: 767px){
	.btn a{
	  padding: 13px 20px;
	}
}

@keyframes tabAnim{
 0%{opacity:0;}
 100%{opacity:1;}
}

.tab_wrap [name=tab_btn]{
	display: none;
}

.tab_area{
  display: -webkit-box;
  display: flex;
  font-size: 0;
  height: 45px;
  position: relative;
  bottom: -1px;
  z-index: 1;
}

.tab_area label{
  flex: 0 1 25%;
  display: -webkit-box;
  display: flex;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  color: #fff;
  font-size: 16px;
  text-align: center;
  cursor:pointer;
  transition:ease 0.2s opacity;
  background: #ccc;
  margin-right: 1px;
  border: 1px solid #ccc;
  -webkit-transition: ease-in-out .3s;
  transition: ease-in-out .3s;
}

.tab_panel{
  width:100%;
  opacity: 0;
  padding: 2rem;
  display: none;
}
.tab_area label:hover,
#tab1:checked ~ .tab_area .tab1_label,
#tab2:checked ~ .tab_area .tab2_label,
#tab3:checked ~ .tab_area .tab3_label,
#tab4:checked ~ .tab_area .tab4_label{
  color: #fff;
  background: #333;
}
#tab1:checked ~ .panel_area #panel1,
#tab2:checked ~ .panel_area #panel2,
#tab3:checked ~ .panel_area #panel3,
#tab4:checked ~ .panel_area #panel4{
  display:block; 
  animation:tabAnim ease 0.6s forwards;
  -ms-animation:tabAnim ease 0.6s forwards;
}
