@charset "UTF-8";
/* CSS Document */
body {
   margin: 0;
	padding: 0;
	background-color: #DEDEDE;
	letter-spacing : 0.2em;
}
hr {
	height: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
figure {
	margin: 0;
}
picture img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
header {
	padding: 1% 1% 1%;
	top: 0;
	width: 100%;
	font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
	background-color: white;
	display: flex;
	align-items: center;
}
p {
	margin:0;
}
a {	
	text-decoration: none;
	cursor: pointer;
	color: #333333;
}
a:hover {
	 opacity: 0.7;
}
nav {
	margin: 0 0 0 auto;
}
.flex {
  display: flex;
}
ul {
	list-style: none;
	margin: 0 auto;
	display: flex;
}
li {
	margin-right: 2vw;
	font-size:clamp(0.875rem, 0.432rem + 0.92vw, 1.125rem);
}
h2 {
   	margin: 0 auto;
}
span {
	color:#005086;
}
.hr1 {
	border-top: 1px solid #333333;
}

.whole-container {
	width: 100%;
}
.wrap-video video {
	margin: 0 auto;
	width: 100%;
	display: block;
}
.pc-nav {
	color: #333333;
   }
.sp-nav {
	display: none;
}
.heading {
	margin: 0 auto;
	font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
	font-display: swap;
	font-size:clamp(1.438rem, 1.142rem + 1.48vw, 2.25rem);
	font-weight: 600;
	text-align: center;
	letter-spacing: -0.01vw;
	color: #333333;
	display: block;
}
.lead{
	margin: 0 auto;
	font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
	font-display: swap;
	font-size:clamp(1.375rem, 0.625rem + 3.75vw, 3.438rem);
	font-weight: 800;
	text-align: center;
	letter-spacing: -0.01vw;
	color: #005086;
	display: block;
}
.copy{
	margin: 0 auto;
	font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
	font-display: swap;
	font-size:clamp(0.75rem, 0.591rem + 0.8vw, 1.188rem);
	font-weight: 400;
	text-align: center;
	color: #333333;
	letter-spacing: 0.1em;
	display: block;
}
.section {
	margin: 0 auto;
	font-size: 16px;
	line-height: 1;
    -webkit-text-size-adjust: 100%;
       -moz-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
            text-size-adjust: 100%;
}
.container {
	margin: 0 auto;
	max-width: 1080px;
}
.flex {
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.flex-col2 {
	width: calc((100% - 25px) / 2);
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.flex-col3 {
	width: calc((100% - 50px) / 3);
}
.flex-left {
	width: 28.75%;
}
.flex-right {
	width: 68.75%;
}
.flex-row-reverse {
	flex-direction: row-reverse;
}
.link-outer {
	padding: 1em;
}
.link-text {
	font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
	font-display: swap;
	font-size: clamp(1.063rem, 0.972rem + 0.45vw, 1.313rem);
	font-weight: 600;
	line-height: 0.8;
	text-align: center;
	letter-spacing:1px;
	color: #333333;
	display: block;
}
.link-text-m {
	font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
	font-display: swap;
	font-size: clamp(1.063rem, 0.972rem + 0.45vw, 1.313rem);
	font-weight: 600;
	line-height: 0.8;
	text-align: center;
	letter-spacing:-0.5px;
	color: #005086;
	display: block;
	position: relative;
}
.link-text-m-index {
	font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
	font-display: swap;
	font-size: clamp(1.063rem, 0.972rem + 0.45vw, 1.313rem);
	font-weight: 600;
	line-height: 0.8;
	text-align: center;
	letter-spacing:-0.5px;
	color: #005086;
	display: block;
	position: relative;
}
.link-text-m-index::before{
	content: '';
	position: absolute;
	top: 80%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	left: 0.1vw;
	transform: translateY(-30%);
	width: 1.6em;
	height: 1.6em;
	background-image:url("../images/M.svg");
}
.link-lead-m {
	font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
	font-display: swap;
	font-size: 10px;
	font-weight: 300;
	color: #005086;
	letter-spacing:1px;
	text-align: center;
	display: block;
}
.link-text-a {
	font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
	font-display: swap;
	font-size: clamp(1.063rem, 0.972rem + 0.45vw, 1.313rem);
	font-weight: 600;
	line-height: 0.8;
	text-align: center;
	letter-spacing:1px;
	color: #e5864c;
	display: block;
	position: relative;
}
.link-text-a::before{
	content: '';
	position: absolute;
	top: 80%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	left: 0.1vw;
	transform: translateY(-30%);
	width: 1.6em;
	height: 1.6em;
	background-image:url("../images/A.svg");
}
.link-lead-a {
	font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
	font-display: swap;
	font-size: clamp(0.563rem, 0.517rem + 0.23vw, 0.688rem);
	font-weight: 400;
	color: #e5864c;
	letter-spacing:1px;
	text-align: center;
	display: block;
}
.link-text-c {
	font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
	font-display: swap;
	font-size: clamp(1.063rem, 0.972rem + 0.45vw, 1.313rem);
	font-weight: 600;
	line-height: 0.8;
	text-align: center;
	letter-spacing:0.1px;
	color: #0091c0;
	display: block;
	position: relative;
}
.link-text-c::before{
	content: '';
	position: absolute;
	top: 82%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	left: 0.1vw;
	transform: translateY(-30%);
	width: 1.6em;
	height: 1.6em;
	background-image:url("../images/C.svg");
}
.link-lead-c {
	font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
	font-display: swap;
	font-size: clamp(0.563rem, 0.517rem + 0.23vw, 0.688rem);
	font-weight: 400;
	color: #0091c0;
	letter-spacing:1px;
	text-align: center;
	display: block;
}
.link-caption {
	font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
	font-display: swap;
	font-size: 14px;
	font-weight: 100;
	text-align: center;
	line-height: 19px;
	letter-spacing:0.6px;
	display: block;
}
.link-copy {
	font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
	font-display: swap;
	font-size: clamp(0.813rem, 0.744rem + 0.34vw, 1rem);
	font-weight: 300;
	text-align: center;
	line-height: 3em;
	letter-spacing:1px;
	display: block;
}
.link-copy-works {
	font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
	font-display: swap;
	font-size: clamp(0.813rem, 0.038rem + 1.62vw, 1.25rem);
	font-weight: 300;
	text-align: left;
	line-height: 3em;
	letter-spacing:1px;
	display: block;
}
.link-copy-works p {
	display: inline-block;
	text-align: left;
}
.link-outer {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	max-width: 600px;
}
/* 横幅を指定するための要素 */
.map-wrap {
  max-width: 100%; /* ここに横幅を指定 */
}
/* Google Mapを囲う要素 */
.map {
  width: 100%;
  position: relative;
  padding-top: 56.25%;
}
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.footer {
  font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
  padding: 2rem;
  background: #005086;
}
.footer__navi {
  flex-wrap: wrap;
  margin-bottom: 2rem;
}
.footer__navi li {
  display: inline-block;
}
.footer__navi li:not(:last-child) {
 　padding:10px; 
}
.footer__navi li {
  display: inline-block;
}
.footer__logo {
  width: 40%;
  margin: auto;
  display: block;
}
.a-footer-link{
	color: #FFFFFF;
	font-size: clamp(0.625rem, 0.398rem + 1.14vw, 1.25rem);
}
.a-footer{
	color: #FFFFFF;
	position: relative;
	font-size: clamp(0.625rem, 0.398rem + 1.14vw, 1.25rem);
}
.a-footer::before{
	content: '';
	position: absolute;
	top: 50%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	left: -32px;
	transform: translateY(-50%);
	width: 1.3em;
	height: 1.3em;
	background-image:url("../images/mail.svg");
}
.a-footer-tel{
	color: #FFFFFF;
	position: relative;
	font-size: clamp(0.625rem, 0.398rem + 1.14vw, 1.25rem);
}
.a-footer-tel::before{
	content: '';
	position: absolute;
	top: 50%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	left: -32px;
	transform: translateY(-50%);
	width: 1.3em;
	height: 1.3em;
	background-image:url("../images/phone.svg");
}
/* margin */
.mbottom-15 {
	margin-bottom: 15px;
}
.mbottom-30 {
	margin-bottom: 30px;
}
.mbottom-50 {
	margin-bottom: 50px;
}
.mbottom-70 {
	margin-bottom: 70px;
}
.mtop-100 {
	margin-top: 100px;
}
.mtop-50 {
	margin-top: 50px;
}
.mtop-15 {
	margin-top: 15px;
}
.mtop-5 {
	margin-top: 5px;
}
.sp-br {
	display: none;
	}
.pc-br {
	display: block;
	}
/* css-レスポンシブ-tb */
@media screen and (max-width: 1279px) {
	.container {
		padding: 0 25px;
	}
	.mbottom-30 {
		margin-bottom: 15px;
	}
	.mbottom-50 {
		margin-bottom: 25px;
	}
	.mbottom-70 {
		margin-bottom: 40px;
	}
	.dmbottom-100 {
		margin-bottom: 50px;
	}
	.mtop-100 {
		margin-top: 50px;
	}
	.mtop-50 {
		margin-top: 25px;
	}
	.mtop-15 {
	margin-top: 10px;
}
}
/* css-レスポンシブ-sp */
@media screen and (max-width: 767px) {
	.header-logo{
		width: 40%;
	}
	.pc-nav {
      display: none;
   }
   .sp-nav {
      z-index: 30;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      display: block;
      background: white;
      opacity: 0;
      transform: translateY(-100%);
      transition: all .2s ease-in-out;
   }
   #hamburger {
      position: relative;
      display: block;
      width: 30px;
      height: 25px;
      margin: 0 30px 0 auto;
   }
   #hamburger span {
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 100%;
      height: 2px;
      background-color: #005086;
      transform: translateY(-50%);
   }
   #hamburger::before {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #005086;
   }
   #hamburger::after {
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #005086;
   }
   /*スマホメニュー*/
   .sp-nav ul {
      padding: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      height: 100%;
   }
   .sp-nav li {
      margin: 0;
      padding: 0;
   }
   .sp-nav li span {
      font-size: 12px;
      color: #333333;
   }
   .sp-nav li a, .sp-nav li span {
      display: block;
      padding: 20px 0;
   }
   /*-閉じるアイコンー*/
   .sp-nav .close {
      position: relative;
      padding-left: 20px;
   }
   .sp-nav .close::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 16px;
      height: 1px;
      background: #333333;
      transform: rotate( 45deg );
   }
   .sp-nav .close::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 16px;
      height: 1px;
      background: #333333;
      transform: rotate( -45deg );
   }
   .toggle {
      transform: translateY( 0 );
      opacity: 1;
   }
   .main-visual {
      padding: 0 5%;
   }
   .md-flex {
        display:flex;
        align-items: center;
        justify-content: center;
   }
   .md-justify-between {
        justify-content: space-between;
   }
   .copyright {
        text-align: center;
  }
	.footer__logo {
        width: 70%;
	}
	.link-text-m-index::before{
        top: 100%;
        left: 24%;
        transform: translateY(-50%);
        width: 2em;
        height: 2em;
}
	.link-text-a::before{
        top: 100%;
        left: 24%;
        transform: translateY(-50%);
        width: 2em;
        height: 2em;
}
	.link-text-c::before{
        top: 100%;
        left: 24%;
        transform: translateY(-50%);
        width: 2em;
        height: 2em;
}
	.swiper-wrapper{
      position: relative;
      z-index: 2;
	}
	
	.mbottom-15 {
		margin-bottom: 1.5vw;
	}
	.mbottom-30 {
		margin-bottom: 2vw;
	}
	.mbottom-50 {
		margin-bottom: 5vw;
	}
	.mbottom-70 {
		margin-bottom: 10vw;
	}
	.mtop-100 {
		margin-top: 10vw;
	}
	.mtop-50 {
		margin-top: 5vw;
	}
	.mtop-15 {
		margin-top: 2vw;
	}
	.container {
		padding: 0 5vw;
	}
	.flex:last-child {
		margin-bottom: 0;
	}
	.flex-col2 {
		width: 100%;
	}
	.flex-col2:first-child {
		margin-bottom: 2vw;
	}
	.flex-col3 {
		width: 100%;
	}
	.flex-col3:nth-child(-n+2) {
		margin-bottom: 5vw;
	}
	.flex-left {
		margin-bottom: 5vw;
		width: 100%;
	}
	.flex-right {
		width: 100%;
	}
	.flex-row-reverse {
		flex-direction: row;
	}
	.sp-br {
	display: block;
	}
	.pc-br {
	display: none;
	}
}
@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}
@media(max-width: 525px){
	.link-text-m-index::before{
	top: 100%;
	left: 13%;
	transform: translateY(-50%);
	width: 2em;
	height: 2em;
}
	.link-text-a::before{
	top: 80%;
	left: 14%;
	transform: translateY(-50%);
	width: 2em;
	height: 2em;
}
	.link-text-c::before{
	top: 80%;
	left: 9%;
	transform: translateY(-50%);
	width: 2em;
	height: 2em;
}
}