﻿@charset "utf-8";
/* CSS Document */

/*=======================================================
			          全体
=======================================================*/
img{
	vertical-align:top;
}
em,i{
	font-style: normal;
}
input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	letter-spacing: 2px;
}

input[type="radio"]{
-webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
}

html, body {
    font-size: 16px;
}
body{
	line-height: 2;
	font-family:  "Noto Sans JP","Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "YuGothic M", meiryo, sans-serif;
	letter-spacing: 0.1em;
	box-sizing: border-box;
	 -webkit-overflow-scrolling: touch;
	overflow-scrolling:touch;
}
input {
	font-family:  "Noto Sans JP","Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "YuGothic M", meiryo, sans-serif;    
}
h1, h2, h3, h4, h5, h6 ,.catch ,#topCms .cmstitle p, .pagetitle .title_box p,.pc_nav li .page_title,#sp_nav .sp_nav_inner .l-menu .l-menu_cms, .f_contact_btn a{
    font-family: "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
}
.swiper-button-next:focus,.swiper-button-prev:focus {
    outline: none;
}

.video-wrapper {
  position: relative;
  width: 100%;
  height: 100vh; /* ビューポートの高さにする */
  overflow: hidden;
}

.video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}


/*-------------------------------------------------------
			          fakeloader
-------------------------------------------------------*/
#wrap{
    opacity: 0;
}
#fakeloader{
	z-index: 9999;
	background-size: 10%;
}
#fakeloader:before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0.5);
	position: absolute;
	top: 0;
	left: 0;
}
#fakeloader .fl{
	position: absolute!important;
	top: 50%!important;
	left: 50%!important;
	transform: translate(-50%,-50%)!important;
	width: 50%!important;
	max-width: 300px;
}
#fakeloader .fl{
	animation-name: loader;
	animation-duration: 5s;
	animation-timing-function: ease;
}
@keyframes loader{
	0% {opacity: 0;}
	50% {opacity: 1;}
	100% {opacity: 0;}
}


/*-------------------------------------------------------
			           header
-------------------------------------------------------*/
.header{
    position: fixed;
    z-index: 99;
    top: 0;
    background-color: rgba(255 ,255 ,255 ,0);
    transition: 0.5s;   
}
.header.t_header{
    background-color: rgba(255 ,255 ,255 ,0.7);  
}
header .header-in{
    position: relative;
    width: 100%;
    box-sizing: border-box;
    min-height: 100px; 
    padding: 15px 100px 15px 70px; 

}

.logo1{
    max-width: 250px;
    padding-right: 20px;
    transition: .3s;
}
.logo1 img{
    vertical-align: middle;
}
.logo1:hover,.pc_nav li:hover{  -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
    -webkit-animation: easeOutBounce .6s;
    animation: easeOutBounce .6s;
}
.pc_nav{box-sizing: border-box;}
.pc_nav li{transition: .3s;  padding-top: 10px;}

/* ----------　ハンバーガーメニュー　---------- */
.menu_btn{
    width: 90px;
    height: 90px;
	border-radius: 80px;
	box-sizing: border-box;
	cursor: pointer;
	z-index: 101;
	padding: 35px 25px 25px 25px;
	position: absolute;
    right: 20px;
	top: 50%;
	transform: translate(0,-50%);
}
.menu_btn span{
	height: 1px; 
	border-radius: 10px; 
	transition: 0.3s;
}
.menu_btn.stick_trans span{
	-webkit-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
	margin: 0;
}
.menu_btn{
	margin: 0px;
}
.menu_btn.stick_trans{padding: 45px 25px 10px 25px;}
.menu_btn.stick_trans span:first-child{
	opacity: 0;
}
.menu_btn.stick_trans span:last-child{
	-webkit-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
	transform: rotate(-135deg);
	margin-top: -2px;
}
#sp_nav{
	z-index: 100;
	top: 0px;
	right: 0px;
	bottom: 0px;
	width: 100%;
	min-height:  100vh;
	overflow: auto;
}
#sp_nav .sp_nav_inner{
	box-sizing: border-box;
	width: 90%;
	max-width: 1280px;
	padding: 50px 0px 100px 0px;
	margin: 0 auto;
}
#sp_nav .sp_nav_inner .menu__header .logo3 img{
	max-width: 300px;
}
#sp_nav .sp_nav_inner .header-con{z-index: 102;}
#sp_nav .sp_nav_inner .menu__header{
	border-radius: 40px 40px 0px 0px;
	padding: 50px 100px;
}
#sp_nav .sp_nav_inner .l-menu{
	border-radius: 0px 0px 40px 40px;
	padding: 50px 100px 100px;
}
#sp_nav .sp_nav_inner .l-menu ul li a span{position: relative; top: -4px;transition: .3s;}
#sp_nav .sp_nav_inner .l-menu ul li:hover a span{
	 font-size: 15px;
}
.menu_sns .box a{border-radius:20px; padding: 15px 40px 20px;}
.menu_sns .box a img{max-height: 50px; width:auto; transition: .3s;}
.menu_sns .box a:hover img{
	    -webkit-transform: scale(1.15);
    transform: scale(1.15);
    -webkit-animation: easeOutBounce .6s;
    animation: easeOutBounce .6s;
}
.menu_sns .box:last-of-type{margin-right: 0px;}


/*-------------------------------------------------------
			           footer
-------------------------------------------------------*/
.footer_contact:before {
    content: "";
    position: absolute;
    width: 100px;
    height: 20px;
    top: -2px;
    left: 50%;
    transform: translateX(-50%);
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    background-color: var(--color4);
    z-index: 1;
}
.f_con_bgcolor{
    top: 0;
    left: 0;
    opacity: 0.45;
    backdrop-filter: blur( 5px );
    -webkit-backdrop-filter: blur( 5px );
}
.f_contact_btn a{
    padding: 20px 0px;
    border-radius: 0;
    transition: .3s;
    backdrop-filter: blur( 15px );
    -webkit-backdrop-filter: blur( 15px );
    background-color: var(--color3);
    border: none;
}
.f_contact_btn a:hover {
    background-color: rgba(255, 255, 255, 0.85);
}
.footer_contact .f_contact_box h4{
    line-height: 1.2;
    font-size: -webkit-calc(1rem + 34px);
    font-size: calc(1rem + 34px);
}
.footer_sns .box a{border-radius: 5px;padding: 15px 40px 20px;}
.footer_sns .box a img{max-height: 50px; width:auto; transition: .3s;}
.footer_sns .box a:hover img{
	    -webkit-transform: scale(1.15);
    transform: scale(1.15);
    -webkit-animation: easeOutBounce .6s;
    animation: easeOutBounce .6s;
}
.footer_sns .box:last-of-type{margin-right: 0px;}


/*-------------------------------------------------------
			           moreボタン
-------------------------------------------------------*/
.more {
    margin-top: 80px;
}
.more a {
    padding: 15px 10px 15px 20px;
    border-radius: 3px;
    min-width: 180px;
    background-color: var(--white);
}
.more a:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 60px;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    transition: all 0.4s;
    background: var(--color1);
    border-radius: 50%;
}
.more a:hover:before {
    content: '\f061';
    width: 30px;
    height: 30px;
    left: calc(100% - 15px);
    font-family: 'Font Awesome 5 Free';
    font-weight: bold;
    line-height: 30px;
    color: #fff;
    border-radius: 50%;
}


/*-------------------------------------------------------
			           ページャー
-------------------------------------------------------*/
.pager li{
	margin: 0 10px;
}
.pager li a{
	width: 60px;
	height: 42px;
}
.f_contact_img{
	height: 400px;
	background-size: cover;
	background-position: center;
}
.f_contact_box{
    padding: 80px 0px;
}


/*-------------------------------------------------------
			          ページトップ
-------------------------------------------------------*/
#page_top{
	width: 92px;
	height: 92px;
	right: 0;
	bottom: 0;
	z-index: 4;
	cursor: pointer
}
#page_top::before{
	position: absolute;
	content: "";
	width: 15px;
	height: 15px;
	border-left: solid 2px #fff;
	border-top: solid 2px #fff;
	transform: rotate(45deg);
	top: 10px;
	right: 0;
	left: 0;
	bottom: 0;
	margin: auto;
}


#bottom_line{
	right: 392px;
	bottom: 0;
	z-index: 4;
}

#bottom_line a{
	height: 92px;
	background-color: var(--color3);
}

#bottom_line a,#bottom_tel a{
    transition: 0.3s;
}

#bottom_line a:hover,#bottom_tel a:hover{
    opacity: 0.5;
}

#bottom_line a span{color: var(--color4);display: inline-masonry;}

#page08 .tel_wrap i {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-style: initial;
}

#bottom_tel a i {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-style: initial;
}

#bottom_tel{
	right: 92px;
	bottom: 0;
	z-index: 4;
}

#bottom_tel a{
	height: 92px;
	background-color: #eaf5ff;
}

/*-------------------------------------------------------
			         パンくずリスト
-------------------------------------------------------*/
.site_list{
	padding-bottom: 30px;
}
.site_list li:before{
	    content: "";
    position: absolute;
    width: 5px;
    height: 5px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: translateY(-50%) rotateZ(45deg);
    right: -10px;
    top: 50%;
}
.site_list li:last-child:before{
	display: none;
}


/*-------------------------------------------------------
			          フェードイン
-------------------------------------------------------*/
.fadein_up{
    opacity : 0;
    -webkit-transform: translateY(50px);
    -ms-transform: translateY(50px);
    transform: translateY(50px);
	transition:transform 2s ease,opacity 2s ease; 
}
.fadein_up.scrollin{
    opacity : 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}

/*-------------------------------------------------------
			          スライドショー
-------------------------------------------------------*/
.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after,.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after{
    display: none;
}



/*=======================================================
			          TOP
=======================================================*/

/*-------------------------------------------------------
			          メインイメージ
-------------------------------------------------------*/
#main_img{
    max-height: 100vh;
    overflow: hidden;
    position: relative;
    width: 100%;
    padding-top: 120px;
    padding-bottom: 120px;
    box-sizing: border-box;
}

#main_img::before {
	position: absolute;
	content: "";
	left: 0;
	top: 49%;
	transform: translateY(-50%);
	width: 100%;
	height: 75px;
	background-image: url("../img/main_anime.png");
	background-size: auto 100%;
	background-position-y: 0;
	background-position-x: 0;
	background-repeat: repeat-x;
	animation: loop 30s linear infinite;
	z-index: 2;
	opacity: 0.3;
}

@keyframes loop {
	0% {background-position-x: -1000px;}
	100% {background-position-x: 0;}
}

#main_img:after {
    content: "";
    width: 100%;
    height: 45%;
    background-color:var(--color1);
    bottom: 0;
    position: absolute;
    opacity: 0.05;
    z-index: -1;
}

.catch h2{
    font-size: -webkit-calc(1rem + 60px);
    font-size: calc(1rem + 60px);
    line-height: 1;
}

.catch{
        max-width: 95%;
}

/* ----------　動画　---------- */
#video{
    height: 85vh;
}
#video video{
    height: 100%;
    margin: auto;
}
.video_img{
    width: 15vw;
    height: 15vw;
    max-width: 300px;
    max-height: 300px;
    background-repeat: no-repeat;
    background-size: 110%;
    background-position: center;
    transition-property: background-position;
    transition-duration: .7s;
    transition-delay: .035s;
    overflow: hidden;
    z-index: 1;
}
.video_img.v_img1{
    right: 15%;
    top: 18%;
}
.video_img.v_img2{
    top: 50%;
    left: 5%;
}
.video_img.v_img3{
    right: 5%;
    bottom: 10%;
}
.catch.video_ver{
    max-width: 55%;
    right: 0px;
    bottom: 0px;
    padding-bottom: 0;
    padding-right: 30px;
    text-align: right;
    z-index: 2;
    box-sizing: border-box;
}

/* ----------　スライドショー　---------- */
#main_img .swiper-wrapper{-webkit-transition-timing-function:linear!important; -o-transition-timing-function:linear!important; transition-timing-function:linear!important;
}
#main_img .swiper-slide ,#content .swiper-slide{
	opacity: 1!important;
}

.catch.slide_ver{
    max-width: 49%;
    right: 0px;
    bottom: 50px;
    padding-bottom: 0;
    padding-right: 20px;
    text-align: right;
    z-index: 2;
    box-sizing: border-box;
}

/* ----------　intro　---------- */
#intro:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(70, 75, 75, 0.4);
    top: 0;
    left: 0;
    backdrop-filter: blur( 40px );
    -webkit-backdrop-filter: blur( 40px );
}
#intro .intro_inner{
    z-index: 1;
    text-shadow: 1px 1px 20px rgba(51, 51, 51, 0.65);
}
.intro_title_en{
    top: 70px;
    left: 20px;
    font-size:-webkit-calc(1rem + 44px);
    font-size : calc(1rem + 44px);
}
.intro_title_en .title_en_item:before {
    content: "";
    position: absolute;
    width: 2px;
    height: 70px;
    background-color: #fff;
    top: -70px;
}
.intro_title_en .title_en_item span {
    transform: rotate(90deg);
    display: block;
    line-height: 0.7;
}

/* ----------　TOPコンテンツ　---------- */
#content .cate_item{
    padding: 100px 50px 50px;
}
#content .box_title::before{
	position: absolute;
	content: "";
	width: 220px;
	height: 1px;
	background-color: var(--color3);
	left: -110px;
	bottom: 0
}
#content .box_title{
    font-size: -webkit-calc(1rem + 16px);
    font-size: calc(1rem + 16px);
    color: var(--color3);
    font-weight: 700;
}

#content .box_txt{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
	overflow: hidden;
}

#content .swiper-button-next{
	height: auto;
	width: 200px;
	top: 40px;
	right: 0
}
#content .swiper-button-next p{
    margin-right: auto;
}
#content .swiper-button-next:after{
    display: none;
}
#content .swiper-button-next p::before{
	position: absolute;
	content: "";
	width: 10px;
	height: 10px;
	top: 0px;
	bottom: 0;
	left: 80px;
	margin: auto;
	border-top: solid 1px currentColor;
	border-right: solid 1px currentColor;
	transform: rotate(45deg);
}

/* ----------　モーダル　---------- */
html.modalset{
	overflow: hidden;
}
.modal{
	display: none;
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 9999;
}
.modal-wrap {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	text-align: center;
	padding: 50px 20px;
	/*overflow: hidden;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	overflow: -moz-scrollbars-none;*/
	overflow: auto;
	-ms-overflow-style: none;
	display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content: center;
    align-items: center;
	flex-direction: row;
}
.modal-wrap::-webkit-scrollbar {
	display: none;
}
/*.modal-wrap:after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 1px;
	height: 100%;
}*/
.modal-bg{
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(0,0,0,0.3);
	width: 100%;
	height: 100%;
}
.modal-box{
	width: 100%;
	max-width: 1200px;
	box-sizing: border-box;
	display: inline-block;
	vertical-align: middle;
	position: relative;
}
/*.modal-box:before{
	content: "";
	display: block;
	background-color: #fff;
	box-sizing: border-box;
	width: 100%;
	height: 10%;
	position: absolute;
	bottom: 0;
	left: 50%;
	-ms-transform: translate(-50%,0);
	-webkit-transform: translate(-50%,0);
	transform: translate(-50%,0);
	z-index: 1;
}*/
.modal-box .inner{
	background: #fff;
	box-sizing: border-box;
	/*max-height: 700px;
	overflow: auto;
	-ms-overflow-style: none;
	scrollbar-width: none;*/
}
.modal-box .inner::-webkit-scrollbar {
	display:none;
}
.modal-box .inner > :first-child {
	margin-top: 0;
}

.modal-box .modal-close{
	cursor: pointer;
	position: absolute;
    top: 0;
    right: 0;
}
.modal-box .modal-close span{
	display: block;
	width: 50px;/*枠の大きさ*/
	height: 50px;/*枠の大きさ*/
	position: relative;
}

.modal-box .modal-close span::before, .modal-box .modal-close span::after{
	content: "";
	display: block;
	width: 100%;/*バツ線の長さ*/
	height: 2px;/*バツ線の太さ*/
	background: var(--color3);
	transform: rotate(45deg);
	transform-origin:0% 50%;
	position: absolute;
	top: calc(14% - 1px);
	left: 14%;
}

.modal-box .modal-close span::after{
	transform: rotate(-45deg);
	transform-origin:100% 50%;
	left: auto;
	right: 14%;
}
.modal-open {
    line-height: 45px;
    margin: 30px auto 0;
    max-width: 160px;
}
.modal-open span{
    cursor: pointer;
    border-radius: 3px;
}

.modal_title_wrap{
	top: 0;
	left: 0;
}



/* ----------　TOP・下層ページタイトル　---------- */
#topCms .topCms .line {
    content: "";
    position: absolute;
    height: 70px;
    width: 1px;
    top: -35px;
    left: 50%;
    transform: translateX(-50%) rotate(40deg);
    z-index: 1;
}
#topCms .cmstitle p,.pagetitle .title_box p{
    position: absolute;
    width: 100%;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    font-size: -webkit-calc(1rem + 64px);
    font-size: calc(1rem + 64px);
    font-weight: bold;
    z-index: -1;
    opacity: 0.07;
    line-height: 1;
}
.pagetitle .title_box{
    z-index: 1;
}
.cmstitle h3{
    font-size: -webkit-calc(1rem + 24px);
    font-size: calc(1rem + 24px);
    line-height: 1.0;
    font-weight: 700;
}


/*-------------------------------------------------------
			         TOPCMS
-------------------------------------------------------*/
/*TOPCMSのswiper干渉修正*/

.cms_2-f .swiper-button-next,.cms_2-g .swiper-button-next,.cms_2-h .swiper-button-next {
    left: 35px;
    right: auto;
}

.cms_2-f .swiper-slide,.cms_2-g .swiper-slide,.cms_2-h .swiper-slide {
    height: auto !important;
    opacity: 0 !important;
}

.cms_2-f .swiper-slide-active,.cms_2-g .swiper-slide-active,.cms_2-h .swiper-slide-active {
    opacity: 1 !important;
}


/*=======================================================
			          下層ページ
=======================================================*/
.pagetitle{
    overflow: hidden;
    padding-top: 130px;
    padding-bottom: 100px;
    margin-top: 120px;
}
.pagetitle:after {
    content: "";
    position: absolute;
    width: 1px;
    height: 50px;
    bottom: 0;
    background-color: var(--color3);
}
.pagetitle h2{
    font-size: 40px;
    font-size: -webkit-calc(1rem + 24px);
    font-size: calc(1rem + 24px);
    line-height: 50px;
    color: var(--black);
}


/*-------------------------------------------------------
			         カテゴリーリスト
-------------------------------------------------------*/
.cate_list li a{border-radius: 3px;}


/*-------------------------------------------------------
			          #page7
-------------------------------------------------------*/
#page7 .info .info__row{
	    padding: 35px 0;
}
#page7 .info .info__row .title{
    width: 320px;
	line-height: 1.6;
}
#page7 .info .info__row .txt{
    flex: 1;
    margin: -8px 0 0;
    line-height: 2.4;
}
#page7 .map iframe,#page7 .map_center iframe,#page7 .map_bottom iframe{
  width: 100%;
  height: 300px;
  border: none;
}


/*-------------------------------------------------------
			          #page8
-------------------------------------------------------*/
#page8 .contact_tel a {
    padding: 18px 40px;
    border-radius: 3px;
    transition: .3s;
}
#page8 .contact_tel a:hover{
    -webkit-animation: easeOutBounce .6s;
    animation: easeOutBounce .6s;
}
#page8 .contact__form .mail_btn input{
	border-radius: 50px;
	padding: 20px 0px;
}
#page8 .contact__form .mail_btn input:hover{
    -webkit-animation: easeOutBounce .6s;
    animation: easeOutBounce .6s;
}
#page8 #mail_contact li:before{
	content: "◆";
	font-weight: 900;
	position: absolute;
	top: 0;
	left: 5px;
}
#page8 #form_box .box input::-webkit-input-placeholder,#page8 #form_box .box textarea::-webkit-input-placeholder{
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	opacity: 0.8;
}
#page8 #form_box .box input:-moz-placeholder,#page8 #form_box .box textarea:-moz-placeholder{
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	opacity: 0.8;
}
#page8 #form_box .box input::-moz-placeholder,#page8 #form_box .box textarea::-moz-placeholder{
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	opacity: 0.8;
}
#page8 #form_box .box input:-ms-input-placeholder,#page8 #form_box .box textarea:-ms-input-placeholder{
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	opacity: 0.8;
}
#page8 #form_box .box input,#page8 #form_box .box textarea{
	outline: none;
	border-style: none;
	border-radius: 0;
	-webkit-appearance: none;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
#page8 input[type="submit"].btn,
#page8 input[type="reset"].btn{
	-webkit-appearance: none;
	border-radius: 0;
	outline: none;
	border: 1px solid #fff;
	cursor: pointer;
	color: #fff;
}
#page8 input[type="submit"].btn:disabled{
    cursor: default;
}
.g-recaptcha > div{
	margin: 0 auto;
}
#page8 #form_box .box input, #page8 #form_box .box textarea{
	background-color: #f5f5f5;
}


/*-------------------------------------------------------
			           #page9
-------------------------------------------------------*/
#page9 .box .no{border-radius: 50px;width: 30px; line-height: 30px; }


/*-------------------------------------------------------
			           #page10
-------------------------------------------------------*/
#page10 .sitemap li{width: 45%; margin-bottom: 80px;}
#page10 .sitemap li:nth-of-type(odd){margin-right: 10%;}
#page10 .sitemap li .sub{
    left: 0;
    bottom: 0;
    font-size: -webkit-calc(1rem + 20px);
    font-size: calc(1rem + 20px);
}
#page10 .sitemap li .line {
    content: "";
    height: 1px;
    width: 100px;
    right: 0;
    bottom: 0;
}
#page10 .sitemap li:hover .line {
    width: 70px;
}
#page10 .sitemap li:hover a{
    padding-left: 10px;
}

/*=======================================================
　
			          タブレット
			          
=======================================================*/
@media screen and (max-width: 768px){
    
/*=======================================================
			          全体
=======================================================*/

/*-------------------------------------------------------
			           header
-------------------------------------------------------*/
header .header-in{
	min-height: 90px;
	background: none;
	box-shadow: none;
	padding: 0px;
}
.header .logo1{padding-right: 0px;max-width: 150px;padding: 10px 0;}
.menu_btn {
    padding: 33px 29px 20px 29px;
}

/* ----------　ハンバーガーメニュー　---------- */
#sp_nav .sp_nav_inner .menu__header{padding: 5%;}
#sp_nav .sp_nav_inner .l-menu{padding: 5%;}
.menu_btn{
	width: 80px;
	height: 80px;
	padding: 30px 20px 24px 20px;
	position: relative;
	right: 0;
	top: -10px;
	transform: translate(0,0);
}
.menu_btn.stick_trans{position: static;}
.menu_btn.stick_trans {
	padding: 40px 20px 14px 20px;
}
.menu_sns .box { margin-right: 20px;}
.menu_sns .box a{border-radius:20px; padding: 20px 20px;}
.menu_sns .box a img{max-height: 35px; }

/*-------------------------------------------------------
			           footer
-------------------------------------------------------*/
.footer_sns .box a{padding: 15px 30px 20px;}

.copy{
    padding-bottom: 70px;
    padding-top: 20px;
}

/*-------------------------------------------------------
			          ページトップ
-------------------------------------------------------*/
#page_top{
	width: 50px;
	height: 50px;
}

#bottom_tel{
	right: 50px;
}

#bottom_tel a{
	height: 65px;
}

#bottom_line a{height: 50px;}

#bottom_line, #bottom_tel{
    max-width: inherit;
    width: calc(50% - 25px) !important;
    /* display: inline !important; */
}

#bottom_line {right: calc(50% + 25px);}

/*=======================================================
			          TOP
=======================================================*/
/*-------------------------------------------------------
			          メインイメージ
-------------------------------------------------------*/
#main_img {
    height: auto;
}
#main_img::before{
        animation: loop 25s linear infinite;
}
.catch h2 {
    font-size: -webkit-calc(1rem + 40px);
    font-size: calc(1rem + 40px);
}

/* ----------　動画　---------- */
#video{
    height: 80vh;
}    
.video_img {
    width: 23vw;
    height: 23vw;
}
.video_img.v_img1{
    left: 5%;
    top: 90px;
}
.video_img.v_img2 {
    top: 60%;
}
.video_img.v_img3{
    right: 5%;
    bottom: 90px;
}
.catch.video_ver {
    padding-right: 20px;
    max-width: 80%;
}

/* ----------　スライドショー　---------- */


/* ----------　TOPコンテンツ　---------- */
#content .cate_item{
	padding: 100px 15px 40px 35px;
}
#content .box_title {
    font-size: -webkit-calc(1rem + 10px);
    font-size: calc(1rem + 12px);
}

/* ----------　TOP・下層ページタイトル　---------- */
#topCms .cmstitle p, .pagetitle .title_box p {
    font-size: -webkit-calc(1rem + 50px);
    font-size: calc(1rem + 50px);
}

/*=======================================================
			          下層ページ
=======================================================*/
.pagetitle {
    margin-top: 95px;
}  

/*-------------------------------------------------------
			           #page10
-------------------------------------------------------*/
#page10 .sitemap li{width: 49%; margin-bottom: 20px;}
#page10 .sitemap li:nth-of-type(odd){margin-right: 2%;}
#page10 .sitemap li {
    width: 46%;
    margin-bottom: 50px;
}
#page10 .sitemap li:nth-of-type(odd) {
    margin-right: 7%;
}
#page10 .sitemap li .sub {
    font-size: -webkit-calc(1rem + 10px);
    font-size: calc(1rem + 10px);
    bottom: 15px;
}
#page10 .sitemap li .line {
    width: 100px;
}
}

/*=======================================================
　
			          スマホ
			          
=======================================================*/
@media screen and (max-width: 667px){
        
/*=======================================================
			          全体
=======================================================*/

/*-------------------------------------------------------
			           header
-------------------------------------------------------*/
header .header-in{
    min-height: 70px;
    background: none; 
    padding: 0px; 
    box-shadow: none;

}
.logo1 {
    max-width: 200px;
}
/* ----------　ハンバーガーメニュー　---------- */
.menu_btn {
    padding: 24px 18px 20px 18px;
}
#sp_nav .sp_nav_inner{padding: 15px 0px 50px 0px;}
#sp_nav .sp_nav_inner .l-menu ul li{padding: 4px 0;}
#sp_nav .sp_nav_inner .menu__header .logo img{
	max-width: 200px;
}
#sp_nav .sp_nav_inner .menu__header .logo3 img{
	max-width: 100px;
}
.menu_btn{
	width: 60px;
	height: 60px;
	padding: 20px 12px 20px 12px;
	top: -10px;
}
.menu_sns .box a {
    border-radius: 0px;
    padding: 0px;
	border: none;
}
.menu_btn.stick_trans {
	padding: 30px 12px 10px 12px;
}


/*-------------------------------------------------------
			           footer
-------------------------------------------------------*/
.f_contact_box{padding: 60px 10px;box-sizing: border-box;}
.footer_contact .f_contact_box h4 {
    font-size: -webkit-calc(1rem + 24px);
    font-size: calc(1rem + 24px);
}
.footer_sns .box a {padding: 10px;border-radius: 10px;}
.footer_sns .box a img {
    max-height: 35px;
	vertical-align: middle;
}
/*-------------------------------------------------------
			          ページトップ
-------------------------------------------------------*/
#bottom_tel{
	width: calc(100% - 50px)
}

#bottom_line a{height: 50px;}

#bottom_tel a{
	height: 50px;
}
/*-------------------------------------------------------
			           ページャー
-------------------------------------------------------*/
.pager li:not(.prev){
	display: none;
}

	
/*=======================================================
			          TOP
=======================================================*/
/*-------------------------------------------------------
			          メインイメージ
-------------------------------------------------------*/
#main_img {
    padding-top: 75px;
    padding-bottom: 75px;
}
#main_img::before{
        height: 80px;
}
.catch:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom,rgba(255, 255, 255,0), rgba(250, 244, 244,1));
    bottom: 0;
    left: 0;
    z-index: -1;
}
.catch h2 {
    font-size: -webkit-calc(1rem + 35px);
    font-size: calc(1rem + 35px);
}

/* ----------　動画　---------- */
#video{
    height: 56vh;
}
.catch.video_ver {
    width: 100%;
    top: auto;
    bottom: 0;
    left: 0;
    transform: translateY(0%);
    padding-top: 100px;
    padding-left: 30px;
    padding-bottom: 10px;
}

/* ----------　スライドショー　---------- */
.catch.slide_ver{
    width: 100%;
    padding-top: 100px;
}

/* ----------　intro　---------- */
.intro_title_en {
    left: 0;
    top: 60px;
    left: 5px;
    font-size: -webkit-calc(1rem + 14px);
    font-size: calc(1rem + 14px);
}
.intro_title_en .title_en_item:before {
    height: 50px;
    top: -60px;
}

/* ----------　TOPコンテンツ　---------- */
#content .swiper-container{
	background-size: 500px;
	animation: anime2_sp 15s linear infinite;
}
#content .box_img{
    max-height: 280px;
    overflow: hidden;
}
#content .swiper-button-next {
    width: 130px;
    top: 310px;
    line-height: 1.2;
}
#content .cate_item {
    padding: 30px 15px 40px 35px;
}
#content .no{
    line-height: 1.2;
}
#content .box_txt {
    line-height: 1.7;
    font-size: 15px;
}
#content .box_title{
    font-size: -webkit-calc(1rem + 4px);
    font-size: calc(1rem + 4px);
}

#content .box_title::before{
    width: 1px;
    height: 200px;
    left: -20px;
    bottom: 0;
}
.modal-open {
    line-height: 40px;
    margin: 25px auto 0;
}

/* ----------　TOPコンテンツ　---------- */
#topCms .cmstitle p, .pagetitle .title_box p {
    font-size: -webkit-calc(1rem + 20px);
    font-size: calc(1rem + 20px);
}

/*=======================================================
			          下層ページ
=======================================================*/
.pagetitle {
    padding-top: 70px;
    padding-bottom: 70px;
    margin-top: 70px;
} 
.pagetitle:after {
    height: 40px;
}
.pagetitle h2 {
    font-size: -webkit-calc(1rem + 6px);
    font-size: calc(1rem + 6px);
    letter-spacing: 1px;
    line-height: 40px;
}

/*-------------------------------------------------------
			           #page8
-------------------------------------------------------*/
#page8 .contact__form .mail_btn input {
    padding: 15px 0px;
}
#page8 .contact__tel .box p{border-left: none;}
#page8 .contact_tel a {display: block;padding: 18px 10px;}

/*-------------------------------------------------------
			           #page9
-------------------------------------------------------*/
#page9 .privacy .box{background: none; border-radius: none;}

/*-------------------------------------------------------
			           #page10
-------------------------------------------------------*/
#page10 .sitemap li{width: 100%;margin-bottom: 30px;}
#page10 .sitemap li:nth-of-type(odd){margin-right: 0px;}
	
}



/*====================================
  	IE環境の設定
====================================*/
@media all and (-ms-high-contrast:none){
#page8 .contact_tel a {padding: 22px 40px 14px;}
}



#content .swiper-slide > div{padding-left: 130px;}

#content .swiper-button-prev{
    height: auto;
    width: 200px;
    top: 40px;
    left: 0;
}
#content .swiper-button-prev p{margin-left: auto;margin-right: 0;}
#content .swiper-button-prev p::before{
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    top: 0px;
    bottom: 0;
    right: 80px;
    margin: auto;
    border-bottom: solid 1px currentColor;
    border-left: solid 1px currentColor;
    transform: rotate(45deg);
}
@media  screen and (max-width: 768px){
    #content .swiper-slide > div {padding-left: 50px;}
    #content .cate_item {padding: 40px 15px 40px 35px;}
    #content .swiper-button-next,
    #content .swiper-button-prev {
        width: 130px;
        top: 50px;
        line-height: 1.2;
    }
}
@media  screen and (max-width: 667px){
    #content .box_title::before{display: none;}
    #content .swiper-slide > div {padding-left: 0;}
    #content .swiper-button-next,
    #content .swiper-button-prev {
        width: 110px;
        top: 300px;
        line-height: 1;
        padding-bottom: 5px;
    }
}