@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: 1.2vw 2vw;
 display: flex;
 align-items: center;
 justify-content: space-between;
 background: #fff;
 box-shadow: 0 0 0.3vw 0.1vw #e9e9e9;
 z-index: 999
}

header nav figure {
 width: 12vw;
}

header nav .wrapper {
 display: flex;
 align-items: center;
 justify-content: space-between;
 width: 17vw;
}

header nav .wrapper .link {
 font-size: 1vw;
 font-weight: 700;
 text-decoration: underline;
 text-underline-offset: 0.3vw;
}

header nav .wrapper .link:hover {
 text-decoration: none;
}

header nav .wrapper .entry {
 background: #bd0a0a;
 color: #fff;
 font-weight: 700;
 font-size: 1vw;
 padding: 1vw 3vw 1vw 2vw;
 border-radius: 0.3vw;
 transition: all .2s ease;
	position: relative;
}

header nav .wrapper .entry:hover {
 opacity: 0.8;
 transition: all .2s ease;
}

header nav .wrapper .entry:after {
  content: "";
  width: 1.2vw;
  height: 0.6vw;
  background: url("../img/arr_hoso.svg") no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 1vw;
  transform: translateY(-50%);
}


/* スクロール固定 
------------------------*/
header .fixedMenu.scrolled {
	position: fixed !important;
	top: 0;
	left: 0 !important;
	right: 0 !important;
	z-index: 9999999999999;
  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;
}

.telmoContent .telentry {
  padding: 4vw;
  position: relative;
  border-top: solid 1px #ddd;
  width: 56vw;
  background: #fff;
}

.telmoContent .telentry h2 {
  margin: 0 0 2vw;
  font-size: 2vw;
  text-align: center;
}


.telmoContent .telentry .entarea {
  background: #f4f4f4 !important;
  margin: 0 auto 2vw !important;
  border-radius: 0.5vw !important;
  position: relative !important;
  padding: 2.5vw 0 !important;
  display: flex !important;
  justify-content: center !important;
  width: auto;
  box-shadow: none;
  align-items: stretch;
}


.telmoContent .telentry .entarea .manomaent {
  background: #fff;
  border: solid 1px #e9e9e9;
  text-align: center;
  font-size: 1.4vw;
  font-weight: 700;
  margin: 0 2vw 0 0;
  letter-spacing: 0.1vw;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  border-radius: 0.7vw;
  padding: 0 1.5vw;
}

.telmoContent .telentry .entarea .manomaent span {
  display: block;
  font-size: 1vw;
  margin: 0.4vw 0 0;
  letter-spacing: 0;
}

.telmoContent .telentry .entarea .manomatel {
  font-size: 1vw;
  line-height: 1.4vw;
}

.telmoContent .telentry .entarea .manomatel span {
	font-weight: 700;
	color: red;
}


.telentry .entarea .manomatel a {
    font-size: 3vw;
    font-weight: 700;
    font-family: "Arial", sans-serif;
    letter-spacing: 0.1vw;
    display: block;
    margin: 0 0 1.2vw;
    color: #0c0c0c;
    text-decoration: none;
  }

.telentry .entarea .manomatel a:before {
	content: "";
	background: url("../img/freedial.svg") no-repeat;
	background-size: contain;
	width: 4vw;
	height: 2.2vw;
	display: inline-block;
	margin: 0 0.5vw 0 0;
}


.telmoContent .telentry .contact a {
  background: #79a4c5;
  color: #fff;
  width: 20vw;
  text-align: center;
  font-size: 1vw;
  font-weight: 700;
  padding: 1vw 0;
  border-radius: 0.3vw;
  position: relative;
  transition: all .2s ease;
  margin: 0 auto;
}


.telmoContent .telentry .contact a:after {
  content: "";
  width: 1.2vw;
  height: 0.6vw;
  background: url("/assets/img/common/arr_hoso.svg") no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 1vw;

  transform: translateY(-50%);
}

.telmoContent .telentry .contact a:hover {
  opacity: 0.8;
  transition: all .2s ease;
}


.telmoContent .telentry .contact .txt {
  font-size: 1vw;
  text-align: center;
  line-height: 1.4vw;
  margin: 2vw 0 0.8vw;
}

/* -----------------------------
 モーダル
----------------------------- */

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: 9999999999;
	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: 15px;
	top: 15px;
	width: 35px;
	height: 35px;
	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 {
	width: 60vw;
	margin: 0 auto 6vw;
}

article h1 {
	font-size: 2vw;
	text-align: center;
	padding: 4vw;
}

.ancher {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 4vw;
}

.ancher li a {
	border: solid 2px #c0c0c0;
	padding: 1.5vw 1.5vw 1.5vw 2vw;
	text-align: center;
	border-radius: 0.5vw;
  position: relative;
	transition: all .2s ease;
	font-size: 1vw
}

.ancher li a:after {
	content: "";
	width: 0.4vw;
	height: 0.4vw;
	border-top: solid 0.15vw #666;
	border-right: solid 0.15vw #666;
	display: inline-block;
	transform: rotate(135deg);
	margin: 0 0 0 0.8vw;
	vertical-align: 0.2vw;
}

.ancher li a:hover {
	background: #f0f3f7;
	transition: all .2s ease;
}

/* ===========================================================
 section
=========================================================== */


section h2 {
	font-size: 1.4vw;
	margin: 4vw 0 2vw;
}

section .acd li {
  font-size: 2vw;
  margin: 0 0 1vw;
  border-radius: 0.8vw;
	border: solid 2px #c0c0c0;
}

section .acd li input {
  display: none;
}

section .acd li .acd-label {
  font-weight: 500;
  display: block;
  position: relative;
  padding: 1.5vw 3vw 1.5vw 4.1vw;
  font-size: 1vw;
  line-height: 1.3vw;
}

section .acd li .acd-label:after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 1.4vw;
  transform: translateY(-50%);
  font-size: 1.6vw;
  border: solid 2px #666;
  width: 1.5vw;
  height: 1.5vw;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10vw;
  padding: 0 0 0.12vw 0.1vw;
}

section .acd li input:checked + .acd-label:after {
  content: "－";
	font-size: 1.3vw;
	font-weight: 700;
}


section .acd li .acd-label:before {
  content: "Q.";
  font-size: 1.4vw;
  font-weight: 500;
  position: absolute;
  top: 47%;
  left: 2.1vw;
  transform: translateY(-50%);
}

section .acd li .acd-content {
  position: relative;
  padding: 0 2vw 2vw 2vw;
  display: none;
}

section .acd li .acd-content span {
  background: #fff;
  display: block;
  padding: 1.5vw 2vw;
  font-size: 0.95vw;
  line-height: 1.6vw;
  border-radius: 0.8vw;
  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;
}




