@charset "UTF-8";

/* ==================================
共通レイアウト
================================== */
html {	height: 100%;}
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
body {
	font-size: 15px;
	line-height: 1.5em;
	color: #111;
	background: #fff;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.content {
	margin-top: 0!important;
	padding-top: 90px;
	margin-bottom: 60px;
}
.mainWrap {	width: 100%;}
.wrap {
	width: 100%;
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 20px;
	padding-bottom: 40px;
}

/* Display Layout */
.pc {	display: block;}
.sp {	display: none;}


a:hover {
	opacity: 0.7;
	text-decoration: none;
}

header a,
footer a {
	text-decoration: none;
}
header img,
footer img {
	display: block;
}

/* -------------------
見出し
------------------- */
h1 {
	text-align: center;
	font-size: 30px;
	line-height: 1.3em;
	font-weight: 700;
}
h2 {
	text-align: center;
	font-size: 24px;
	line-height: 1.3em;
	font-weight: 700;
}
h3 {
	font-size: 18px;
	padding: 4px 0 16px 0;
}

.greenline{
padding-bottom: 14px;
border-bottom: 3px solid #25a39b;
}
.tit_read{
	text-align: center;
	padding:60px 0;
}

/* -------------------
Text
------------------- */
p{
	margin-bottom:0.8em;
}

a {
	color: #000;
}
a:hover{
	color: #000;
	text-decoration: none;
	opacity: 0.7;
}

li{
	list-style-type: none;
}






/* -------------------
ボタン
------------------- */

.btn_content{
	text-align: center;
}

.btn_blackframe a{
	position: relative;
	color: #000;
	display: inline-block;
	text-align: center;
	font-weight: 400;
	font-size: 16px;
	border: 1px solid #000;
	padding: 20px 60px 20px 40px;
	border-radius: 40px;
	text-decoration: none;
}

.btn_blackframe a::after, .footer_btn a::after{
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 24px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	transform: rotate(45deg);
}



/* -------------------
Form
------------------- */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  font-size: 16px;
  outline: none;
  }

textarea {
  resize: vertical;
  }

input[type='checkbox'],
input[type='radio'] {
  display: none;
  }

input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer;
  }

select::-ms-expand {
  display: none;
  }
input, select {
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0px;
	padding: 10px;
	border: solid 1px #f2f2f2;
	margin-bottom: 1em;
	border-radius: 5px;
	width: 100%;
	max-width: 400px;
	background: #fff;
}
input::placeholder,
select::placeholder {
	color: #ccc;
}
input[type="text"],
input[type="number"],
input[type="tel"],
input[type="email"] {
	padding: 10px;
}
input[type="button"]:hover {
	cursor: pointer;
}


/*Checkboxes styles*/
input[type="checkbox"] { display: none; }

input[type="checkbox"] + label {
  display: inline-block;
  position: relative;
  padding-left: 25px;
  margin: 0 20px 20px 0;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

input[type="checkbox"] + label:last-child { margin-bottom: 0; }


/*Checkboxes styles - round */
.checkbox_round {
	margin: 1em 0;
}
.checkbox_round input[type="checkbox"] + label {
	position: relative;
	padding-left: 2em;
}
.checkbox_round input[type="checkbox"] + label::before,
.checkbox_round input[type="checkbox"] + label::after {
	content: "";
	display: inline-block;
	top: 50%;
	margin-top: -0.8em;
	position: absolute;
}
.checkbox_round input[type="checkbox"] + label::before {
	width: 1.5em;
	height: 1.5em;
	margin-right: 0.5em;
	background: #ccc;
	border-radius: 100%;
	left: 0;
}
.checkbox_round input[type="checkbox"] + label::after {
	width: 0.6em;
	height: 0.3em;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	left: 0.3em;
	margin-top: -0.4em;
}

.checkbox_round input[type="checkbox"]:checked + label::before {
	background: #25a39b;
}


/*Radio styles*/
input[type="radio"] { display: none; }

input[type="radio"] + label {
  /*display: inline-block;
  position: relative;
  padding-left: 35px;
  margin: 0 20px 20px 0;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;*/
}

input[type="radio"] + label:last-child { margin-bottom: 0; }

input[type="radio"] + label:before {
  /*content: '';
  display: block;
  width: 20px;
  height: 20px;
  border: 1px solid #6cc0e5;
  position: absolute;
  left: 0;
  top: 0;
  opacity: .6;
  -webkit-transition: all .12s, border-color .08s;
  transition: all .12s, border-color .08s;*/
}

input[type="radio"]:checked + label:before {
  /*width: 10px;
  top: -5px;
  left: 5px;
  border-radius: 0;
  opacity: 1;
  border-top-color: transparent;
  border-left-color: transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);*/
}


/* Parallel Radio - 横並びラジオボタン */
ul.radio_parallel {
	display: flex;
	flex-wrap: wrap;
	/*border: solid 1px #000;*/
	margin-bottom: 20px;
	}
	ul.radio_parallel li {
	font-size: 12px;
	line-height: 1.3em;
	/*border-right: solid 1px #000;*/
	border: none;
	/*flex: 1;*/
	width: 23%;
	margin: 0 1% 1%;
	}
	/*ul.radio_parallel li:nth-last-of-type(1) {
	border-right: none;
	}*/
	ul.radio_parallel input[type="radio"] + label {
	padding-left: 0;
	margin: 0;
	background: #fff;
	padding: 15px;
	height: 100%;
	display: block;
	align-items: center;
	border: solid 1px #25a39b;
	border-radius: 10px;
	color: #25a39b;
	text-align: center;
	}
	ul.radio_parallel input[type="radio"] + label:before {
	content: none;
	}
	ul.radio_parallel input[type="radio"]:checked + label {
	background: #25a39b;
	color: #fff;
	}



 /* -------------------
Form icon
------------------- */
/* Normal */
form .icon_normal {
	color: #fff;
	background: #000;
	font-size: 0.7em;
	line-height: 1em;
	display: inline-block;
	padding: 3px 5px;
	font-weight: 700;
	margin-right: 0.5em;
}

/* Required・free */
form .icon_required::after,
form .icon_free::after {
	display: inline-block;
	padding: 3px 5px;
	margin-left: 0.5em;
	font-size: 10px;
	line-height: 1em;
	color: #fff;
	vertical-align: middle;
	height: 1em;
}
form .icon_required::after {
	content: "必須";
	background: #ff7b77;
}
form .icon_free::after {
	content: "任意";
	background: #ccc;
}


/* =================================
Sidebar
================================= */
.sideber-wrap {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  }
  .sideber-wrap .mainWrap {
	width: 70%;
	}
	.sideber-wrap #sidebar {
  width: 29%;
  position: sticky;
  top: 100px;
  }




/* =================================
Slider - common
================================= */
.swiper {
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 0;
}
.swiper-wrapper {
	display: flex;
	align-items: stretch;
}
.swiper-slide {
	height: auto!important;
}

/* swiper-button */
.swiper-button-next, .swiper-button-prev {
	top: 50%;
	width: 40px;
	height: 40px;
	margin-top: -20px;
}

.swiper-button-next:before, .swiper-rtl .swiper-button-prev:before,
.swiper-button-prev:before, .swiper-rtl .swiper-button-next:before {
	content: ""!important;
	background: rgba(0,0,0,0.2);
	width: 40px;
	height: 40px;
	border-radius: 9999px;
	border: solid 1px #fff;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after,
.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
	content: ""!important;
	display: block;
	position: absolute;
	width: 10px;
	height: 10px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	top: 50%;
	left: 50%;
}
.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
	transform: translate(-60%, -50%) rotate(45deg);
}
.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
	transform: translate(-40%, -50%) rotate(-135deg);
}



/* =================================
Header
================================= */
header#mainHeader {
	width: 100%;
	align-items: center;
	position: fixed;
	background: rgba(255,255,255,0.8);
	height: 90px;
	z-index: 1;
	top: 0;
}

.header_container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 90%;
	height: 100%;
	margin: 0 auto;
	padding: 0;
	position: relative;
}

#header_logo {
	width:150px;
}
#header_logo a {
	display: block;
}
#header_logo a span.img {
	display: block;
	margin-bottom: 5px;
}

#header_logo a span.txt {
	font-size: 11px;
	line-height: 1em;
}



.nav {
	display: flex;
	align-items: center;
}

.document-request {
	margin-left: 10px;
	/*border: 1px solid white;*/
	border: 1px solid #000;
}

.document-request a{
	/*color: #fff*/
	color: #000;
	display: block;
	padding: 10px 40px;
}

.menu-group li {
	list-style: none;
	display: inline-block;
	padding: 0 32px;
	border-right: 1px solid white;
}

.menu-group li:last-child {
	border-right: none;
}




/* -----------------------------------------------------------------------------------------------
ここからカット検討
----------------------------------------------------------------------------------------------- */
/* =================================
Search
================================= */
#search .inputBox {
	/*display: flex;
	flex-wrap: nowrap;
	margin-bottom: 20px;
	padding-left: 40px;*/
}
#search .tit_input {
	width: 100%;
	max-width: 240px;
	font-weight: 700;
    font-size: 16px;
    line-height: 1.3em;
    margin: 0 0 0.5em;
}
#search .tit_input .txt_small {
	font-weight: 400;
	font-size: 12px;
	line-height: 1.3em;
	display: inline-block;
	margin-left: 1em;
}

#search .inputBox ul {
	list-style: none;
	padding: 0;
}
#search .inputBox li {
	list-style: none;
}

#searchBox {
	/*background: #f2f2f2;*/
	/*padding: 20px 40px;
	margin: 80px 0 40px;*/
}

p#btn_open-search {
	text-align: center;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.3em;
	margin: 0;
}
p#btn_open-search .icon_plus {
	position: relative;
	width: 1em;
	height: 1em;
	display: inline-block;
	margin-right: 0.5em;
}
p#btn_open-search .icon_plus::before,
p#btn_open-search .icon_plus::after {
	content: "";
	display: block;
	width: 1em;
	height: 1px;
	background: #000;
	position: absolute;
	top: 10px;
	left: 0;
}
p#btn_open-search .icon_plus::before {
	
}
p#btn_open-search .icon_plus::after {
	transform: rotate(90deg);
}


#searchBox .accordion_inner {
	/*display: none;*/
	padding: 20px 0;
}
#btn_open-search:hover {
	cursor: pointer;
}




/* -------------------
Input Area（地域）
------------------- */
#search .inputBox#input_area {
}
#selectArea {
	/*display: flex;
	flex-wrap: nowrap;
	width: 100%;*/
	width: 100%;
		max-width: 400px;
}
#select＿prefecture,
#select_city {
	position: relative;
		border: solid 1px #000;
		width: 100%;
		margin-bottom: 20px;
}
#select＿prefecture{
	/*width: 39%;
	margin-right: 1%;*/
}
#select_city {
	/*width: 60%;*/
}
#select＿prefecture::after,
#select_city::after {
	content: "";
	display: block;
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 5px 0 5px;
	border-color: #000000 transparent transparent transparent;
	top: 50%;
	right: 10px;
}

#select＿prefecture select,
#select_city select {
	border: none;
	border-radius: 0;
	font-size: 16px;
	margin-bottom: 0;
	position: relative;
	background: #fff;
	color: #000;
}

/* -------------------
Tab Panel
------------------- */
#search .tab-panel {
		display: flex;
		flex-wrap: nowrap;
		width: 100%;
}
#search .tab-panel ul {
	margin: 0;
	padding-left: 0;
}

/* Tab */
#search .tab-panel .tab-group{
	/*display: flex;
		justify-content: flex-end;*/
		width: 100%;
		max-width: 250px;
		
}
#search .tab-panel .tab {
	padding: 30px 10px;
	border-bottom: solid 4px #f2f2f2;
/*	flex-grow: 1;
	padding:5px;
	list-style:none;
	text-align:center;
	cursor:pointer;
	color: #ccc;
	background: #f2f2f2;
	font-size: 12px;
	position: relative;
	box-sizing: content-box;*/
}
#search .tab-panel .tab:hover {
	cursor: pointer;
}
#search .tab-panel .panel-group{
	width: 100%;
	/*min-height:100px;*/
	height: 300px;
	overflow-y: scroll;
	border:solid 1px #f2f2f2;
	border-top:none;
	/*background: rgba(248,248,248);*/
	padding: 20px 40px 20px 80px;
}
#search .tab-panel .panel{
	display:none;

}
#search .tab-panel .tab.is-active{
	/*background: #000;
	color:#FFF;*/
	border-bottom: solid 4px #25a39b;
	transition: all 0.2s ease-out;
}

#search .tab-panel .tab::before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 3px;
	top: 0;
	left: 0;
	background: #ccc;
}
#search .tab-panel .tab.is-active::before {
	background: #000;
	height: 3px;
	top: -3px;
}

#search .tab-panel .panel.is-show{
  display:block;
}

#search .tab-panel .btn_removeall {
	border: solid 1px #000;
	display: inline-block;
	padding: 5px 10px;
	border-radius: 1.5em;
	font-size: 14px;
	line-height: 1em;
}
#search .tab-panel .btn_removeall:hover {
	cursor: pointer;
}


/* -------------------
Select Row
------------------- */
	#search #input_picky .pickyBox {
		margin-bottom: 30px;
	}
	#search #input_picky .pickyBox ul{
		display: flex;
		flex-wrap: wrap;
		flex: 1;
	}
#search .tab-panel .select-row li {
	/*display: inline-block;*/
	/*margin: 2px;*/
		position: relative;
		margin-bottom: 5px;
		width: 50%;
}

.select-row input[type="checkbox"] + label {
	padding: 5px 15px 5px 3em;
	margin: 0;
	/*border: solid 1px #000;
	border-radius: 1.3em;*/
	font-size: 16px;
	line-height: 1.3em;
}
.select-row input[type="checkbox"] + label:before,
.select-row input[type="checkbox"] + label:after {
	content: '';
	display: block;
	position: absolute;
	left: 10px;
	top: 50%;
	}
.select-row input[type="checkbox"] + label:before {
	width: 20px;
	height: 20px;
	border: 1px solid #000;
	border-radius: 2px;
	left: 10px;
	margin-top: -8px;
	background-color: transparent;
	-webkit-transition: all .12s, background-color .08s;
	transition: all .12s, background-color .08s;
}
.select-row input[type="checkbox"] + label:after {
	border-bottom: 2px solid transparent;
		border-right: 2px solid transparent;
	width: 5px;
	height: 12px;
	left: 18px;
	top: 50%;
	margin-top: -6px;
	transform: rotate(45deg);
}

.select-row input[type="checkbox"]:checked + label {
	/*background: #25a39b;
	color: #fff;*/
}
.select-row input[type="checkbox"]:checked + label:before {
	background-color: #25a39b;
	border: 1px solid #25a39b;
}
	.select-row input[type="checkbox"]:checked + label:after {
	border-bottom: 2px solid #fff;
		border-right: 2px solid #fff;
	}

/* Text Explain */
.select-row li .txt_explain {
	display: none;
}
/*
.select-row li .txt_explain {
	position: absolute;
    display: none;
    bottom: 3em;
    left: 50%;
    background: #e9f5f4;
    border-radius: 10px;
    padding: 10px;
    font-size: 12px;
    line-height: 1.3em;
    transform: translateX(-50%);
    width: 80%;
	border: solid 1px #c8dbda;
}
.select-row li.explain_active .txt_explain {
	display: block;
}


.select-row li .txt_explain::before,
.select-row li .txt_explain::after {
	content: "";
	display: block;
	left: 10%;
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 7px 0 7px;
}
.select-row li .txt_explain::before {
	border-color: #c8dbda transparent transparent transparent;
		bottom: -10px;
}
.select-row li .txt_explain::after {
	border-color: #e9f5f4 transparent transparent transparent;
	bottom: -8px;
}

.select-row li .txt_explain .btn_close {
	position: absolute;
    display: block;
    width: 20px;
    height: 20px;
    background: #999;
    border-radius: 50%;
    top: -5px;
    right: -5px;
	cursor: pointer;
}
.select-row li .txt_explain .btn_close::before,
.select-row li .txt_explain .btn_close::after {
	content: "";
	display: block;
	width: 10px;
	height: 2px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
}
.select-row li .txt_explain .btn_close::before {	transform: translate(-50%,-50%) rotate(45deg);}
.select-row li .txt_explain .btn_close::after {	transform: translate(-50%,-50%) rotate(-45deg);}
*/
/* -----------------------------------------------------------------------------------------------
ここまでカット検討
----------------------------------------------------------------------------------------------- */

/* -------------------
Button Narrow Right Bottom
------------------- */
#btn_narrow_rightbottom {
	width: 100px;
	height: 100px;
}
#btn_narrow_rightbottom:hover {
	cursor: pointer;
}


/* =================================
Serch Detail
================================= */
#modalmenu,#sub-nav {
  -ms-overflow-style: none;
   scrollbar-width: none;
   }
   #modalmenu::-webkit-scrollbar,
   #sub-nav::-webkit-scrollbar{
	display: none;
	}
	/* -------------------
	Mordal
	------------------- */
	.modalBase {
	background: rgba(0,0,0,0);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	z-index: 1;
	position: fixed;
	}
	.modalBase.is-open {
	display: block;
	}
	.modal__overlay {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6);
  }


/* Animation */
@keyframes mmfadeIn {
	0% { opacity: 0;}
   30% { opacity: 1;}
  100% { opacity: 1;}
  }
  @keyframes mmfadeOut {
	0% { opacity: 1;}
   70% { opacity: 1;}
  100% { opacity: 0;}
  }
  @keyframes mmslideIn {
  from {    opacity: 0;}
  to {    opacity: 1;}
  }
  @keyframes mmslideOut {
  from {    opacity: 1;}
  to {    opacity: 0;}
  }

@keyframes mmslideInsp {
  from {    bottom: -80vh;}
  to {    bottom: 0;}
  }
  @keyframes mmslideOutsp {
  from {    bottom: 0;}
  to {    bottom: -80vh;}
  }

.modalBase[aria-hidden="false"] .modal__overlay {
  animation: mmfadeIn 0.4s cubic-bezier(0.34, 0.07, 0.095, 0.995);
  }
  .modalBase[aria-hidden="true"] .modal__overlay {
  animation: mmfadeOut 0.4s cubic-bezier(0.34, 0.07, 0.095, 0.995);
  }
  .modalBase[aria-hidden="false"] #modalmenuWrap {
  animation: mmslideIn 0.4s cubic-bezier(0.34, 0.07, 0.095, 0.995);
  }
  .modalBase[aria-hidden="true"] #modalmenuWrap {
  animation: mmslideOut 0.4s cubic-bezier(0.34, 0.07, 0.095, 0.995);
  }


@media screen and (max-width: 480px) {

.modalBase[aria-hidden="false"] #modalmenuWrap {
  animation: mmslideInsp 0.4s cubic-bezier(0.34, 0.07, 0.095, 0.995);
  }
  .modalBase[aria-hidden="true"] #modalmenuWrap {
  animation: mmslideOutsp 0.4s cubic-bezier(0.34, 0.07, 0.095, 0.995);
  }
  }


.modalBase #modalmenuWrap,
.modalBase .modal__overlay {
  will-change: transform;
  }

/* メニューここから */
#modalmenuWrap {
	width: 96vw;
	max-width: 600px;
	height: auto;
	border-radius: 15px;
	z-index: 2;
	overflow: hidden;
	background: #fff;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	}
	.modalBase.is-open #modalmenuWrap {
	bottom: 0;

}
	  @media screen and (max-width: 480px) {
		#modalmenuWrap {
		position: fixed;
		height: 84vh;
		bottom: -80vh;
		bottom: 0;
		left: 0;
		right: 0;
		border-radius: 15px 15px 0 0;
		}
	  }

#modalmenu {
	font-size: 15px;
	color: #000;
	background: #fff;
	height: auto;
	overflow-y: scroll;
	flex: auto;
	display: flex;
	}

.navHead {
	background: #fff;
	padding: 15px;
	display: flex;
	justify-content: space-between;
	align-content: center;
	width: 100%;
	z-index: 5;
	position: sticky;
	top: 0;
	align-items: center;
	}
	.navHead p {
	width: calc(100% - 30px);
	text-align: center;
	margin-bottom: 0;
	padding-left: 30px;
	font-weight: bold;
	font-size: 1.2em;
	line-height: 1em;
	}
	.navHead .btn_narrow {
	width: 30px;
	height: 30px;
	background: #999;
	font-size: 14px;
	position: relative;
	border-radius: 50%;
	}
	.navHead .btn_narrow::before,
	.navHead .btn_narrow::after {
	content: "";
	display: block;
	position: absolute;
	width: 16px;
	height: 2px;
	top: 15px;
	background: #fff;
	}
	.navHead .btn_narrow::before {
	transform: rotate(45deg);
	left: 7px;
	}
	.navHead .btn_narrow::after {
	transform: rotate(-45deg);
	right: 7px;
	}
	.navHead .btn_narrow:hover {
	cursor: pointer;
	}

.menuBox p {
	background: #f2f2f2;
	padding: 10px 15px;
	}
	.menuBox .inner{
	padding: 15px;
	}
	.menuBox input,
	.menuBox select {
	max-width: none;
	}

#modalmenu ul {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
	}
	#modalmenu a {
	color: #000;
	text-decoration: none;
	display: block;
	padding: 15px;
	-moz-transition: background-color .3s linear;
	-webkit-transition: background-color .3s linear;
	transition: background-color .3s linear;
	}
	#modalmenu a:hover {
	background: #f2f2f2;
	}
	#modalmenu label {padding: 10px 5px;
	  display: block;}

#global-nav {
	position: relative;
	left: 0;
	-moz-transition: left .2s ease;
	-webkit-transition: left .2s ease;
	transition: left .2s ease;
		width: 100%;
		}
		.is-open-submenu #global-nav {
	left: -100px;
	}
	#global-nav .last::after {
	content: "";
	display: block;
	height: 50px;
	background: #f9f9f9;
	}


/* arrow icon */
#global-nav .sub-menu > a {
	position: relative;
	display: flex;
	justify-content: space-between;
	}
	#sub-nav .sub-menu-head:before,
	#global-nav .sub-menu > a:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 23px;
	margin: auto;
	vertical-align: middle;
	width: 8px;
	height: 8px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	}
	.txt_select {
	display: flex;
	font-size: 12px;
	line-height: 1em;
	padding-right: 30px;
	align-items: center;
	color: #ccc;
	}

/* sub-menu */
#sub-nav {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #fff;
	overflow-y: scroll;
	left: 100%;
	margin-top: 50px;
	display: flex;
	flex-direction: column;
	}
	.sub-menu {
	border-bottom: solid 1px #f2f2f2;
	}
	#sub-nav .sub-menu-nav {
	padding-top: calc(1em + 41px);
	display: none;
	}
	#sub-nav.slide {
	left: 0;
	-moz-transition: left .2s ease;
	-webkit-transition: left .2s ease;
	transition: left .2s ease;
	}
	#sub-nav .sub-menu-nav.is-active {
	display: block;
	}
	#sub-nav .sub-menu-head {
	font-size: 15px;
	position: sticky;
	padding: 20px 5px 20px 40px;
	margin-bottom: 0;
	cursor: pointer;
	width: 100%;
	background: #fff;
	top: 0;
	border-radius: 10px 10px 0 0;
	margin-top: -60px;
	border-bottom: solid 1px #f2f2f2;
	}
	#sub-nav .sub-menu-nav.is-active .sub-menu-head {
	display: block;
	z-index: 1;
	}

#sub-nav .sub-menu-head:hover {
	background-color: #f2f2f2;
	}
	#sub-nav .sub-menu-head:before {
	right: auto;
	left: 13px;
	-moz-transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	}


#sub-nav .sub-menu-nav.is-active ul {
	padding: 0 0 20px;
	margin-bottom: 120px;
	}
	#sub-nav .sub-menu-nav.is-active li {
	padding: 0 20px;
	border-bottom: solid 1px #f2f2f2;
	}
	#modalmenu .sub-menu-nav.is-active input[type="checkbox"] + label {
	margin: 0;
	display: flex;
	align-items: center;
	position: relative;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	}
	.sub-menu-nav .img_select {
	display: block;
	width: 50px;
	height: 50px;
	margin-right: 20px;
	}

#modalmenu .sub-menu-nav .txt_explain {
	font-size: 11px;
	line-height: 1.5em;
	display: none;
	}

#modalmenu .sub-menu-nav label:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5px;
  transform: rotate(-45deg) scaleX(0);
  transform-origin: left;
  width: 12px;
  height: 5px;
  border-left: 2px solid #25a39b;
  border-bottom: 2px solid #25a39b;
  transition: transform 0.125s ease-in-out;
  }


#modalmenu .sub-menu-nav input:checked + label:after {
  transform: rotate(-45deg) scaleX(1);
  }



/* -------------------
Nav Footer
------------------- */
#modalmenuWrap .navFooter {
	background: #fff;
	padding: 15px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	bottom: 0;
	z-index: 2;
	border-top: solid 1px #f2f2f2;
	width: 100%;
}
#modalmenuWrap .navFooter p {
	width: 100%;
	border: solid 1px #f2f2f2;
	padding: 10px;
	border-radius: 5px;
	margin: 0 5px;
}

#modalmenuWrap .navFooter .clearAll {
	width: 33%;
	border: solid 1px #ccc;
	padding: 15px;
	color: #000;
	text-align: center;
}
#modalmenuWrap .navFooter .clearAll:hover {
	cursor: pointer;
}


#modalmenuWrap .navFooter .btn_search {
	width: 65%;
	margin: 0;
}
#modalmenuWrap .navFooter .btn_search button {
	background: #25a39b;
	border-radius: 5px;
}









/* -------------------
Btn Search
------------------- */
.btn_search {
	margin: 20px 0;
}
.btn_search button {
	display: block;
	width: 100%;
	max-width: 400px;
	padding: 15px;
	/* text-align: center; */
	margin: 0 auto;
	background: #000;
	color: #fff;
	border: none;
	flex-wrap: wrap;
}









/* =================================
Footer
================================= */

footer {
	background:#25a39b;
	padding: 60px 0 20px;
}
.footer_container{
	display: flex;
	justify-content: flex-end;
	width: 90%;
	/*padding-top: 60px;*/
	justify-content: space-between;
	margin: 0 auto 30px;
	/*margin-bottom: 40px;*/
	flex-wrap: wrap;
}

.footer_menu{
	display: flex;
	margin-right: 40px;
}

.footer_menu li{
	margin-bottom: 1em;
}

.footer_menu li a{
	color: #fff
}

.footer_logo{
	width: 160px;
	/*width: 14vw;*/
	height: auto;
	margin-right: auto;
	text-align: center;
}

.footer_logo span {
	color: #fff;
	/*font-size: clamp(11px, 1vw, 13px);*/
	font-size: 12px;
    white-space: nowrap;
	margin: 8px 0 0;
	line-height: 1em;
	}

.footer_btn{
	margin-bottom: 20px;
	position: relative;
}

.footer_btn a {
	background: #fff;
	text-align: center;
	display: block;
	padding: 20px 60px 20px 40px;
	position: relative;
}

.footer_btn a::after {
	border-top: 2px solid #25a39b;
	border-right: 2px solid #25a39b;
}

.footer_btn p{
	color: #25a39b;
	margin-bottom: 0px;
	font-weight: 600;
}

.footer_btn p:last-child{
	font-size: 21px;
}
.footer_icon a {
	display: inline-block;
}
.footer_icon img{
	width: 34px;
	margin-right: 8px;
}

.copyright{
	text-align: center;
	font-size: 12px;
	color: #fff;
	margin: 0;
}




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

1023px以下

---------------------------------------------------------------------------------------- */
@media screen and (max-width: 1023px) {




/* =================================
Header
================================= */
.menu-group li {
	padding: 0px 9px;
	}

/* =================================
Sidebar
================================= */
/* Sideber Layout */
.sideber-wrap .mainWrap {
	width: 100%;
	padding-right: 0px;}
	.sideber-wrap #sidebar {width: 100%;}




/* ==================================
Footer
================================== */
.footer_btn_sns {
	width: 100%;
	}

.footer_btn a {
	width: 60%;
	margin: 20px auto;
}
.footer_icon {
	text-align: center;
}







}


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

834px以下

---------------------------------------------------------------------------------------- */
@media screen and (max-width: 834px) {

/* ==================================
共通レイアウト
================================== */
/* Display Layout */
.pc {	display: none;}
.sp {	display: block;}

	a {
		text-decoration: none;
		color: #000;
	}

	ul {
		list-style: none;
	}


/* =================================
Header
================================= */
html.is-fixed,
html.is-fixed body {
	height: 100%;
	overflow: hidden;
}

header#mainHeader {
	margin-top: 0;
	transition: all 0.5s 0s ease;
}
header#mainHeader.headerScroll {
	margin-top: -28px;
}
#header_topbar {
	background: #f2f2f2;
	text-align: center;
	padding: 8px;
	font-size: 12px;
	line-height: 1em;
}

.header_container {
	justify-content: center;
	width: calc(100% - 40px);
	height: 60px;
}

#header_logo {
	width:120px;
}


.headerNav {
	position: fixed;
	right: -250px;/*右側に隠しておきます*/
	top: 0;
	width: 250px;
	height: 100vh;
	padding-top: 40px;
	background-color: rgba(37, 163, 155, 0.8);
	-webkit-transition: all .6s;
	transition: all .6s;
	z-index: 20;
	overflow-y: auto;
}
	.navList, .navList_sub{
		padding-left: 0px;
		padding-top: 20px;
	}
	.navList li{
	border-bottom: 1px solid #fff;
	}
	.navList_sub{
		margin-bottom: 30px;
	}
	.navItem {
	/*padding: 20px 0;*/
	padding: 0;
	}
	.sub{
		margin-bottom: 8px;
		padding: 0px;
	}
.navItem a{
		color: #fff;
		font-size: 16px;
		/*padding-left: 28px;*/
		padding: 20px;
		display: block;
}
.sub a{
		font-size: 14px;
}

.navList_sub .navItem a{
	padding: 3px 20px;
}


	.nav_icon{
		display: flex;
		padding-left:28px;
	}
	.nav_icon li{
		width: 28px;
		margin-left: 16px;
	}
	.nav_icon li:first-child{
		margin-left: 0px;
	}




	/* End ナビゲーション */

/* Start ハンバーガーボタン(三本線の実装) */
.hamburger_btn {
	position: fixed;
	right: 20px;
	top: 50px;
	width: 30px;
	height: 24px;
	cursor: pointer;
	z-index: 40;
	transition: all 0.5s 0s ease;
}
header#mainHeader.headerScroll .hamburger_btn {
	top: 25px;
}
	.hamburger_line {
		position: absolute;/*.headerNavOuterを基準にして、絶対配置*/
		left: 0;
		width: 32px;
		height: 2px;
		background-color: #000;
		-webkit-transition: all .6s;
		transition: all .6s;
	}
	.hamburger_line_1 {
		top: 0;
	}
	.hamburger_line_2 {
		top: 8px;
	}
	.hamburger_line_3 {
		top: 16px;
	}
	/* End ハンバーガーボタン(三本線の実装) */

	/*ハンバーガーメニュをクリックした後に現れる半透明の背景*/
	.black-bg {
		display: block;
		position: fixed;
		left: 0;
		top: 0;
		width: 100vw;
		height: 100vh;
		z-index: 10;
		background-color: #000;
		opacity: 0;
		visibility: hidden;/* 非表示にしておきます */
		-webkit-transition: all .6s;
		transition: all .6s;
		cursor: pointer;
	}

	/* Start ハンバーガーボタンをクリックした際の動き */
	/* ナビゲーションが現れる */
	.nav-open .headerNav {
		right: 0;
	}

	/* 半透明の背景を表示させます。 */
	.nav-open .black-bg {
		opacity: .8;
		visibility: visible;
	}

.nav-open .hamburger_line {
	background: #fff;
	}

	/* 三本線のハンバーガーを、バッテンにします */
	.nav-open .hamburger_line_1 {
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 10px;
	}
	.nav-open .hamburger_line_2 {
		width: 0;
		left: 50%;
	}
	.nav-open .hamburger_line_3 {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		top: 10px;
	}
	/* End ハンバーガーボタンをクリックした際の動き */






/* ==================================
Footer
================================== */
footer {
	padding: 40px 0 10px;
}
.footer_container{
	/*display: block;
	padding-top: 4vw;*/
}

.footer_logo{
	margin: 0 auto;
	/*width: 28vw;
	min-width: 135px;*/
}
.footer_logo p{
	/*font-size: 1.6vw;*/
	font-size: 11px;
	line-height: 1em;
}


}


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

480px以下

---------------------------------------------------------------------------------------- */
@media screen and (max-width: 480px) {

/* ==================================
共通レイアウト
================================== */
/* -------------------
Form
------------------- */
/* Parallel Radio - 横並びラジオボタン */
ul.radio_parallel li {
	width: 48%;
}
#modalmenu label {
	padding: 15px 5px;
}


/* =================================
Serch Detail
================================= */
/* -------------------
Nav Footer
------------------- */
#modalmenuWrap .navFooter {
	padding-bottom: 40px;
	}


}
