@charset "utf-8";
/* CSS Document */


/* クッキーポリシーのみ */
.footer__main__lnk li:not(.cookiepolicy) {
  display: none;
}

/* フォント */
body {
  color: #666666;
	position: relative;
}


/* ===========================================================
 topback
=========================================================== */

.topback a {
	position: fixed;
	bottom: 1vw;
	right: 1vw;
	width: 3.5vw;
	height: 3.5vw;
	border: solid 2px #666;
	border-radius: 40vw;
	cursor: pointer;
	transition: all .2s ease;
}

.topback a:after {
	content: "";
	width: 0.5vw;
	height: 0.5vw;
	border-top: solid 0.2vw #666;
	border-right: solid 0.2vw #666;
	position: absolute;
	top: 55%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
}

.topback a:hover {
	background: #666;
	transition: all .2s ease;
}

.topback a:hover:after {
	border-top: solid 0.2vw #fff;
	border-right: solid 0.2vw #fff;
}


/* ===========================================================
 header
=========================================================== */

header nav {
 padding: 5vw 4vw;
 display: flex;
 align-items: center;
 justify-content: space-between;
 background: #fff;
 box-shadow: 0 0 1vw 0.2vw #e9e9e9;
}

header nav figure {
 width: 35vw;
}

header nav .wrapper {
 display: flex;
 align-items: center;
 justify-content: space-between;
 width: 48vw;
}

header nav .wrapper .link {
 font-size: 3vw;
 font-weight: 700;
 text-decoration: underline;
 text-underline-offset: 1vw;
 letter-spacing: 0.2vw;
}

header nav .wrapper .link:hover {
 text-decoration: none;
}


header nav .wrapper span {
	display: block;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 4vw;
	background: #fff;
	box-shadow: 0 0 1vw 0.2vw #e9e9e9;
	z-index: 999;
}

header nav .wrapper .entry {
 background: #bd0a0a;
 color: #fff;
 font-weight: 700;
 font-size: 3.4vw;
 padding: 3vw 0;
 border-radius: 1vw;
	position: relative;
	text-align: center;
}

header nav .wrapper .entry:after {
  content: "";
  width: 3.5vw;
  height: 2.5vw;
  background: url("../img/arr_hoso.svg") no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 5vw;
  transform: translateY(-50%);
}

/* スクロール固定 
------------------------*/
header .fixedMenu.scrolled {
	position: fixed !important;
	top: 0;
	left: 0 !important;
	right: 0 !important;
	z-index: 99999999;
  transition: all .3s ease;
}



/* ===========================================================
 telentry(電話)
=========================================================== */

.telmoContent {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: rgba(0,0,0,0.4);
	z-index: 9999999999;
	overflow-x: scroll;
	display: none;
	align-items: center;
	justify-content: center;
}


.telmoContent .telmo_bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
}

.telmoContent.open_wrap {
    display: flex;
}

.telentry {
  padding: 14vw 6vw 4vw;
  background: #fff;
  position: relative;
  margin: 4vw;
}

.telentry h2 {
  margin: 0 0 8vw;
  text-align: center;
  font-size: 6vw;
}


.telentry .entarea {
  background: #f4f4f4;
  margin: 0 auto 6vw;
  border-radius: 2vw;
  box-shadow: none;
  position: relative;
  padding: 8vw 4vw;
  text-align: center;
}


.telentry .entarea .manomaent {
  background: #fff;
  border: solid 1px #e9e9e9;
  padding: 4vw 6vw 3.5vw;
  text-align: center;
  font-size: 4vw;
  font-weight: 700;
  display: inline-block;
  margin: 0 0 5vw;
  border-radius: 3vw;
}

.telmoContent .telentry .entarea .manomatel span {
	font-weight: 700;
	color: red;
}

.telentry .entarea .manomatel a {
  font-size: 8.4vw;
  font-weight: 700;
  font-family: "Arial", sans-serif;
  color: #0c0c0c;
  margin: 0 auto 3vw;
  display: inline-block !important;
  text-decoration: none;
}

.telentry .entarea .manomatel a:before {
 content: "";
 background:url("../img/freedial.svg") no-repeat;
 background-size: contain;
 width: 12vw;
 height: 8vw;
 display: inline-block;
 margin: 0 1vw 0 0;
vertical-align: middle;
}

.telentry .entarea .manomatel p {
  font-size: 3.6vw;
  font-weight: 700;
  line-height: 6vw;
  margin: 0 0 3vw;
  position: relative;
  letter-spacing: 0;
}

.telentry .entarea .manomatel p:before {
  content: "※";
}

.telentry .entarea .manomatel ul li {
  font-size: 3.4vw;
  letter-spacing: 0px;
  color: #585858;
  margin: 0 0 2vw;
  line-height: 5vw;
}

.telentry .contact a {
  background: #79a4c5;
  color: #fff;
  width: 80vw;
  margin: 6vw auto 8vw;
  text-align: center;
  font-size: 4.3vw;
  font-weight: 700;
  letter-spacing: 0.3vw;
  padding: 3.8vw 0 4.2vw;
  border-radius: 1.5vw;
  position: relative;
}

.telentry .contact a:after {
  content: "";
  width: 4.4vw;
  height: 3vw;
  background: url("/assets/img/common/arr_hoso.svg") no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 5vw;
  transform: translateY(-50%);
}

.telentry .contact .txt {
  font-size: 3.4vw;
  text-align: center;
  letter-spacing: 0;
  line-height: 5vw;
}


/* -----------------------------
 モーダル
----------------------------- */

body.fixed {
	overflow-y: scroll;
	overflow-x: hidden;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
}

.modal_wrapper {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: rgba(0,0,0,0.4);
	z-index: 9999999999999999;
	overflow-x: scroll;
	display: none;
	align-items: baseline;
	justify-content: center;
}

.modal_bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.modal_wrapper_in {
	background: #fff;
	position: relative;
	z-index: 9999;
}

.modal_contents {
	display: none;
}

/* クローズボタン */
.modal_closeBtn {
	position: absolute;
	right: 3vw;
	top: 3vw;
	width: 8vw;
	height: 8vw;
	cursor: pointer;
	transition: all .2s ease;
	z-index: 9999;
}

.modal_closeBtn span {
	width: 100%;
	height: 2px;
	background: #000;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
}

.modal_closeBtn span:nth-of-type(1) {
	transform: translate(-50%, -50%) rotate(45deg);
}

.modal_closeBtn span:nth-of-type(2) {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.modal_closeBtn:hover {
	opacity: 0.6;
	transition: all .2s ease;
}


/* 開閉 */

.modal_wrapper.open_wrap {
display: flex;
}

.modal_contents.open_contents {
display: block;
}



/* ===========================================================
 article
=========================================================== */

article {
	margin: 0 auto 12vw;
	padding: 0 6vw
}

article h1 {
font-size: 5.4vw;
    font-weight: 700;
    text-align: center;
    margin: 10vw 0;
}

.ancher {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-flow: row wrap;
	margin: 0 0 6vw;
}

.ancher li a {
	border: solid 2px #c0c0c0;
	padding: 4vw;
	border-radius: 1.5vw;
	position: relative;
	width: 42vw;
	margin: 0 0 4vw;
	font-size: 3.2vw;
	font-weight: 500;
}

.ancher li a:after {
	content: "";
	width: 1.5vw;
	height: 1.5vw;
	border-top: solid 0.5vw #666;
	border-right: solid 0.5vw #666;
	position: absolute;
	top: 45%;
	right: 3vw;
	transform: translateY(-50%) rotate(135deg);
}


/* ===========================================================
 section
=========================================================== */


section h2 {
	font-size: 4.2vw;
	margin: 8vw 0 4vw;
	font-weight: 700;
}

section .acd li {
  font-size: 3.4vw;
  margin: 0 0 2vw;
  border-radius: 1.5vw;
	border: solid 2px #c0c0c0;
}

section .acd li input {
  display: none;
}

section .acd li .acd-label {
  font-weight: 500;
  display: block;
  position: relative;
  padding: 3vw 12vw 3vw 10vw;
  font-size: 3.2vw;
  line-height: 4.5vw;
}

section .acd li .acd-label:after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 4vw;
  transform: translateY(-50%);
  font-size: 4vw;
  border: solid 2px #666;
  width: 4vw;
  height: 4vw;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10vw;
  padding: 0 0 0.4vw 0.2vw;
}

section .acd li input:checked + .acd-label:after {
  content: "－";
  font-size: 3.4vw;
}


section .acd li .acd-label:before {
  content: "Q.";
  font-size: 4vw;
  font-weight: 500;
  position: absolute;
  top: 47%;
  left: 4vw;
  transform: translateY(-50%);
}

section .acd li .acd-content {
  position: relative;
  padding: 0 4vw 4vw 4vw;
  display: none;
}

section .acd li .acd-content span {
  display: block;
  padding: 4vw 4vw;
  font-size: 3.2vw;
  line-height: 4.7vw;
  border-radius: 1vw;
  background: #f0f3f7;
}

section .acd li .acd-content a {
  display: inline;
  color: #618fda;
  text-decoration: underline;
}

section .acd li .acd-content a:hover {
  text-decoration: none;
}




