﻿@charset "utf-8";
/* CSS Document */
/*-------------------------------------------------------
			          all
-------------------------------------------------------*/
html{font-size:100%;}
body {line-height: 1.8;font-family: 'Shippori Mincho B1', serif; font-size: 16px;}
/* --all page-- */
#loader{
	top: 0;
	left: 0;
	z-index: 99999;
}
#loader img{
    width: 250px;
}
.logo{
	text-align: center;
}
.cate img,.cate_box img{
	box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}
header #header #header_menu li a .jp, header #header .tel a, header #header .contact a{
    color: #fff;
}
.is-show #header .tel a,.is-show #header .tel a i, .is-show #header .contact a {
    color: #333;
    border-color: #333;
}
.cate_list{
	margin-bottom: 50px;
	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: flex-start;
    align-items: flex-start;
	flex-direction: row;
	font-size: 18px;
	background-size: cover;
}
.cate_list li{
	margin-right: 10px;
	margin-bottom: 10px;
}
.cate_list li a{
	display: block;
	padding: 10px;
}
#page-top{
	position: fixed;
	right: 15px;z-index: 9;
}
#page-top a{
	display: block;
	width: 50px;
	height: 50px;
	position: relative;
}
.sp_contact{
    min-width: 220px;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9;
}
.sp_contact a{
    padding: 7px 0;
    background-color: rgba(255 ,255 ,255 ,0.8);
}
/* header */
header {
    position: absolute;
    width: 100%;
    top: 0;
}
header #header{
	z-index: 9999;
	position: relative;
    width: 90%;
}
.is-show header #header{
    width: 100%;
}
.is-show #header #logo img{
    vertical-align: middle;
}
header #header #header_menu li{
	 -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
		max-height: 9.5em;
	padding-left: 8px;
	padding-right: 8px;
	padding-bottom: 8px;
	-webkit-text-orientation: upright;
    text-orientation: upright;
}

header #header #header_menu li:hover{
	
	border-top-style: double;
	border-top-width: 3px;
		padding-bottom: 0px;
	padding-top: 5px;
	transition: 0.3s;
}
header #header #header_menu li a .jp{
	height: 8.5em;
}

header #header .contact a{
    padding: 7px 15px;
    background-color: rgba(255, 255, 255, 0.15);
}
header #header .menu_bt{
	display: none;
}



.clone-nav {
 	position: fixed;
 	top: 0;
 	left: 0;
 	z-index: 2;
 	width: 100%;
 	transition: .3s;
 	transform: translateY(-100%);
}
.is-show {
	transform: translateY(0);
	z-index:9999;
	background-color: rgba(255,255,255,0.75);
}
.drawer-open .is-show {
    background-color: transparent;
}
.clone-nav #header{
	justify-content: space-between;
	align-items: center;
	padding-top: 15px;
    padding-bottom: 15px;
}
.clone-nav #header_menu{
	display: none;
}
.clone-nav .header_info{
	width: 50%!important;
}
.clone-nav .header_info div{
	margin-bottom: 0px;
		justify-content: flex-end!important;
    align-items: center!important;
}
.clone-nav .header_info .tel{
	margin-right: 35px;
}
.clone-nav .top_cms1{
	display: none;
}
.clone-nav .menu_bt{
	display: block!important;
}
.clone-nav .menu_bt .drawer-hamburger{
	display: block!important;
	
}
/* drawer menu */
.drawer-nav{
	box-sizing: border-box;
	background-color: rgba(255,255,255,0.9);
}
.drawer-menu{
	 position: absolute;
  top: 50%;
  left: 50%!important;
  -webkit-transform : translate(-50%,-50%)!important;
  transform : translate(-50%,-50%)!important;
}
.drawer-menu li{
	margin-bottom: 30px;
}
.drawer-nav{
	box-sizing: border-box;
	padding-top: 20px;
}
.drawer-menu{
	padding: 20px 10px!important;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	box-sizing:border-box;
}
.drawer-menu::-webkit-scrollbar{ 
    width: 4px;
}
.drawer-menu::-webkit-scrollbar-thumb{ 
    background: #ccc;
}
.drawer-menu::-webkit-scrollbar-track-piece{
    background: #ddd;
}
.drawer-menu::-webkit-scrollbar-track-piece:start{
    background: #ddd;
}
.drawer-menu::-webkit-scrollbar-track-piece:end{
    background: #eee;
}
.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
    background-color: #fff;
}
.is-show .drawer-hamburger-icon,.is-show .drawer-hamburger-icon::after, .is-show .drawer-hamburger-icon::before ,.drawer-open .drawer-hamburger-icon:after, .drawer-open .drawer-hamburger-icon:before{
    background-color: #333;
}
.drawer-open .drawer-hamburger-icon {
    background-color: transparent;
}
/* footer */




/*-------------------------------------------------------
			         index.html
-------------------------------------------------------*/
/* ----------　メインイメージ　---------- */
#main_img .main_img1{
    width: 100%;
    height: 100%;
}
#main_img:before {
    display: inline-block;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    background: rgba(255,255,255,0.4);
    z-index: 2;
}
#intro:before {
    display: inline-block;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    background: rgba(0,0,0,0.4);
    z-index: 2;
}
/* ----------　イントロ　---------- */
#intro {
    height: auto;
    min-height: 100vh;
}
#intro .txt_wrap{
        z-index: 3;
    width: 90%;
    margin: auto;
    min-height: 100vh;
    height: auto;
    padding: 50px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}
#intro .txt_wrap .title{
    font-size: -webkit-calc(1rem + 18px);
    font-size: calc(1rem + 18px);
    letter-spacing: 17px;
    line-height: 1.7;
}
#intro .intro_img{
    position: static!important;
}
#intro #video{
        position: absolute;
    overflow: hidden;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
}
#intro #video video{
	min-width: 100%;
	min-height: 100vh;
	z-index: 1;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);   
}
/* ----------　コンテンツ1　---------- */
#content1{
	padding-top: 80px;
    padding-bottom: 100px;
	text-align: center;
}
#content1 .con1_wrap {
    display: flex;
    justify-content: center;
    padding-bottom: 115px;
    max-width: 100%;
}
#content1 #con1_txt{
    display: flex;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-align: left;
    flex-direction: column;
    justify-content: space-between;
    -webkit-text-orientation: inherit;
    text-orientation: inherit;
	
}
#content1 #con1_txt h2{
	display: inline-block;
	line-height: 1.6;
}
#content1 #con1_txt > div{
	display: inline-block;
    height: 330px;
    line-height: 2.9;
    padding-top: 55px;
    line-height: 2.3;
}
#content1 .con1_img1{
    width: calc(100% - 30vw);
    margin: auto;
}

/* ----------　コンテンツ2　---------- */
#content2 .back_color2{
	position: relative;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
/*#content2 .back_color2::after{
	position: absolute;
	z-index: 0;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(32 ,32 ,32 ,0.5);
}*/
#content2 .back_color2::after{
	position: absolute;
	z-index: 0;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(32 ,32 ,32 ,0.5);
}
#content2 .back_color2 .contents_box_wrap{
	z-index: 2;
}
/* 基本のスタイル */
#content2 .back_color2 .contents_box {
      transition: all .8s ease-out;
      transform: translateX(-8%);
      opacity: 0;
   }
  
/* スタート時のスタイル */
#content2 .back_color2 .contents_box.started {
      transform: none;
      opacity: 1;
}
/* エンド時のスタイル */
#content2 .back_color2 .contents_box.started.ended {
    transform: translateX(0%);
}
#content2 h2{
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    line-height: 1.6;
	max-height: 60vh;	
	position: relative;
	z-index:2;
	-webkit-text-orientation: inherit;
    text-orientation: inherit;
}
#content2 h2 .svg_box{
	position: absolute;
	opacity: 0.4;
	width: 65px;
	height: 65px;
	top:-30px;
	left:60%;
	z-index: -1;
	transform: translate(-50%,0);
-moz-transform: translate(-50%,0);
-webkit-transform: translate(-50%,0);
-o-transform: translate(-50%,0);
-ms-transform: translate(-50%,0);
}
svg {
  fill: currentColor;
}


/* ---------- top modal ---------- */
html.modalset{
	overflow: hidden;
}
.modal{
	display: none;
	width: 100%;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 999999;
}
.modal-wrap {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	text-align: center;
	padding: 20px;
	overflow: hidden;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	overflow: -moz-scrollbars-none;
}
.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: 90%;
	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: rgba(255, 255, 255,0.9);
	max-height: 500px;
    overflow: auto;
	-ms-overflow-style: 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: #000;
	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 span{cursor: pointer;}


/* ----------　TOPCMSリンク　---------- */
#t_cms_banner .cate_box {
	padding: 0 30px;
}
#t_cms_banner .img_box {
	padding-top: 144%;
}
#t_cms_banner .bg_color {
    width: 80%;
    right: 0;
    top: 0;
}
#t_cms_banner .bg_color img {
	object-fit: cover;
    max-width: initial;
}
#t_cms_banner .box_title {
    height: max-content;
    top: -25px;
    right: 20px;
}
#t_cms_banner .box_title span{
    padding: 8px 1px;
	transition: 0.8s cubic-bezier(0.77, 0, 0.18, 1) background-color;
}
#t_cms_banner .box_txt {
    right: -8%;
    bottom: 8%;
	line-height: 1.7;
}
#t_cms_banner .img_box:hover .box_title span {
    color: #fff;
}
#t_cms_banner .imo_motion {
	-webkit-transition: 0.8s cubic-bezier(0.77, 0, 0.18, 1) width, 0.8s cubic-bezier(0.77, 0, 0.18, 1) opacity;
    transition: 0.8s cubic-bezier(0.77, 0, 0.18, 1) width, 0.8s cubic-bezier(0.77, 0, 0.18, 1) opacity;
}
#t_cms_banner .img_box:hover .bg_color {
	width: 100%;
}
#t_cms_banner .img_box:hover .bg_color img {
    width: 100%;
    opacity: 1;
    -ms-filter: "alpha(opacity=100)";
    filter: alpha(opacity=100);
}
#t_cms_banner .img_box:hover .box_txt{
	opacity: 0
}

/* ----------　TOPCMS　---------- */
#top_cms .cms_title{
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
		
}
#top_cms .cms_title .title_box{
	text-align: center;
}
#top_cms .cms_title .title_box h2{
}

#top_cms .top_cms_box .width_1280-max{
	width: 95%;
}
#top_cms .more{
	text-align: right;
}

#top_cms .container {
  position: relative;
	margin-top: 70px;
}
#top_cms .contents {
  position: absolute;
  top: 0;
  bottom: 0;

  right: 0;
  width: 240px;
  height: 40px;
  margin: auto;
}
#top_cms .btn {
  position: relative;
  width: 240px;
  height: 40px;
  margin: 0 auto;
  line-height: 40px;
  text-align: center;
}


#top_cms .btn:hover::before {
  animation: sword .5s;
}
svg {
    fill: currentColor;
}
svg g{
    color: #fff!important;
}
/* ----------　リンクボタン　---------- */
.more_wrap {
    display: inline-block;
    transform: translateX(80px);
	cursor: pointer;
}
.cms_btn_wrap .more_wrap {
    transform: none;
}
.more_btn {
	width: 239px;
    text-align: right;
    line-height: 1;
	margin: auto;
	font-size: 14px;
}
#intro .more_btn {
	width: calc(100% + 200px);
}
.cms_btn_wrap .more_btn {
    width: 328px;
}
.more_btn span::before, .more_btn span::after {
    content: "";
    height: 1px;
    position: absolute;
    background: #fff;
}
.cms_btn_wrap .more_btn span::before, .cms_btn_wrap .more_btn span::after {
    background: #747474;
}
.more_btn span::before {
    top: 12px;
    left: 0px;
	width: 170px;
}
.more_btn span::after {
    width: 12px;
    height: 1px;
    top: 12px;
	left: 170px;
    -webkit-transform-origin: 0px 0.5px;
    transform-origin: 0px 0.5px;
    -webkit-transform: rotate(-150deg);
    transform: rotate(-150deg);
}
.more_btn:hover span::before {
    -webkit-animation: more_btn-before 0.8s ease forwards 0s;
    animation: more_btn-before  0.8s ease forwards 0s;
}
.more_btn:hover span::after {
    -webkit-animation: more_btn-after 0.8s ease forwards 0s;
    animation: more_btn-after 0.8s ease forwards 0s;
}
@-webkit-keyframes more_btn-before {
  from {
    width: 0;
    opacity: 0; }
  to {
    width: 170px;
    opacity: 1; } }

@keyframes more_btn-before {
  from {
    width: 0;
    opacity: 0; }
  to {
    width: 170px;
    opacity: 1; } }

@-webkit-keyframes more_btn-after {
  from {
    left: 0;
    opacity: 0; }
  to {
    left: 170px;
    opacity: 1; } }

@keyframes more_btn-after {
  from {
    left: 0;
    opacity: 0; }
  to {
    left: 170px;
    opacity: 1; } }

@-webkit-keyframes more_btn-before_sp {
  from {
    width: 0;
    opacity: 0; }
  to {
    width: 75px;
    opacity: 1; } }

@keyframes more_btn-before_sp {
  from {
    width: 0;
    opacity: 0; }
  to {
    width: 75px;
    opacity: 1; } }

@-webkit-keyframes more_btn-after_sp {
  from {
    left: 0;
    opacity: 0; }
  to {
    left: 75px;
    opacity: 1; } }

@keyframes more_btn-after_sp {
  from {
    left: 0;
    opacity: 0; }
  to {
    left: 75px;
    opacity: 1; } 
}
    
/* ----------　scrollアニメーション　---------- */
.js_anim_blur{
	opacity: 0;
}
.js_anim_blur.start {
    animation: blur 1s ease-in-out 0s forwards;
}
.intro_img1.js_anim_blur.start {
    animation-delay: 1s;
}
#contents .con_box:nth-of-type(1).js_anim_blur.start {
    animation-delay: 0s;
}
#contents .con_box:nth-of-type(2).js_anim_blur.start {
    animation-delay: 0.5s;
}
#contents .con_box:nth-of-type(3).js_anim_blur.start {
    animation-delay: 1s;
}

@keyframes blur {
  0% {
    opacity: 0;
    filter: blur(6px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}

.txt_anim span{
	display: inline-block;
	opacity: 0;
	-webkit-transform: translateY(20px);
	-ms-transform: translateY(20px);
	transform: translateY(20px);
	transition:transform 0.1s ease;
}
.txt_anim span.start{
	opacity: 1;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
}
 .txt_anim span{
	opacity: 0
}
.txt_anim.start span:nth-child(1) {
  animation: blur 0.7s ease-in-out 0s forwards;
}
.txt_anim.start span:nth-child(2) {
  animation: blur 0.7s ease-in-out 0.17s forwards;
}
.txt_anim.start span:nth-child(3) {
  animation: blur 0.7s ease-in-out 0.34s forwards;
}
.txt_anim.start span:nth-child(4) {
  animation: blur 0.7s ease-in-out 0.51s forwards;
}
.txt_anim.start span:nth-child(5) {
  animation: blur 0.7s ease-in-out 0.68s forwards;
}
.txt_anim.start span:nth-child(6) {
  animation: blur 0.7s ease-in-out 0.85s forwards;
}
.txt_anim.start span:nth-child(7) {
  animation: blur 0.7s ease-in-out 1.02s forwards;
}
.txt_anim.start span:nth-child(8) {
  animation: blur 0.7s ease-in-out 1.19s forwards;
}
.txt_anim.start span:nth-child(9) {
  animation: blur 0.7s ease-in-out 1.36s forwards;
}
.txt_anim.start span:nth-child(10) {
  animation: blur 0.7s ease-in-out 1.53s forwards;
}
.txt_anim.start span:nth-child(11) {
  animation: blur 0.7s ease-in-out 1.7s forwards;
}
.txt_anim.start span:nth-child(12) {
  animation: blur 0.7s ease-in-out 1.87s forwards;
}
.txt_anim.start span:nth-child(13) {
  animation: blur 0.7s ease-in-out 2.04s forwards;
}
.txt_anim.start span:nth-child(14) {
  animation: blur 0.7s ease-in-out 2.21s forwards;
}
.txt_anim.start span:nth-child(15) {
  animation: blur 0.7s ease-in-out 2.38s forwards;
}

/*-------------------------------------------------------
			         下層ページ
-------------------------------------------------------*/
/* ----------　下層ページ　共通　---------- */
.all_header{
	background-color: rgba(255,255,255,0.75);
	position: fixed;
	width: 100%;
	z-index: 9999;
}
.all_header #header{
	padding-top: 10px;
	justify-content: space-between;
	align-items: center;
}
.all_header #logo{
	width: 10%!important;
}
.all_header .header_info{

}
.all_header .menu_bt .drawer-hamburger{
	
	display: block!important;

}

#page_title{
	height: 500px;
	position: relative;
}
#page_title .back_color{
	height: 100%;
}
#page_title .back_color2{
	height: 100%;
	background-color: rgba(255,255,255,0.45);
	display: flex;
    justify-content: center;
    align-items: center;
}
#page_title h2{
	-webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
	padding-top: 115px;
    padding-bottom: 20px;
	position: relative;
	z-index: 9;
	letter-spacing: 6px;
    -webkit-text-orientation: upright;
    text-orientation: upright;
    color: #fff;
}

#page_list{
background-color: rgba(255, 255, 255 ,0.4);
}
#page_list li:not(:last-of-type) {
    padding-right: 20px;
}
#page_list li:not(:last-of-type)::before {
    position: absolute;
    content: "";
    width: 5px;
    height: 5px;
    border-top: solid 1px;
    border-right: solid 1px;
    top: 0;
    bottom: 0;
    right: 8px;
    margin: auto;
    transform: rotate(45deg);
    opacity: 0.4;
}
/* ----------　page7.html　---------- */
#page7 #map iframe{
	width: 100%;
	height: 500px;
}
/* ----------　page8.html　---------- */
#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;
	font-size: 14px;
	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;
	font-size: 14px;
	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;
	font-size: 14px;
	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;
	font-size: 14px;
	opacity: 0.8;
}
#page8 #form_box #form_bt div{
	display: inline-block;
	height: 50px;
	position: relative;
	-ms-transition: all 0.5s;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}
#page8 #form_box #form_bt div input{
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 99;
	top: 0;
	left: 0;
	padding: 15px;
	cursor: pointer;
	border: none;
	background-color: transparent;
	-webkit-appearance: none;
}
#page8 #form_box #form_bt div:hover{
	transform: translate(0,-5px);
	box-shadow: 0 2px 4px rgba(0,0,0,0.5);
}
#page8 #form_box #form_bt div::after{
	display: block;
	position: absolute;
	width: auto;
	height: 18px;
	letter-spacing: 3px;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	line-height: 1;
	z-index: 98
}
#page8 #form_box #form_bt #submit::after{
	content: "送信";
}
/* ----------　page10.html　---------- */
#page10 a::before{
	position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
	font-weight: 900;
	left: 10px;
}
#page10 a .line{
	position: absolute;
	content: '';
	width: 30px;
	height: 1px;
	bottom: -1px;
	left: 0;
	transition: 0.5s;
}
#page10 a:hover .line{
  width: 100%;
}



@media all and (-ms-high-contrast: none){
header #header #header_menu li{
	padding-left: 5px;
	padding-right: 11px;
}
header #header #header_menu li:hover{
	transition:0s!important;
}
#main_img{
	max-height: 100%;
}
#top_cms .btn {
 	padding-top: 3px;
}
#page8 #tel_contact p a{
	padding-top: 28px;
}
#page8 #form_box #form_bt #submit::after{
	padding-top: 6px;
}
#page9 .box_wrap .box p a{
	padding-top: 10px;	
}
#page10 .btn {
	padding-top: 3px;
}
footer #bottom_menu ul li{
	padding-top: 5px;
}
}
/*@supports (-ms-ime-align:auto){*/
/*header #header #header_menu li:hover{*/
/*	transition:0s!important;*/
/*}*/
/*}*/
@media screen and (max-width: 1366px){
    
    
.intro_img1 {
    width: calc(100% - 17vw);
}
#content2 .con_box:nth-of-type(1).js_anim_blur.start, #content2 .con_box:nth-of-type(2).js_anim_blur.start {
    padding-bottom: 50px;
}
#content2 .con_box:nth-of-type(3) {
    margin-top: 0;
}

}


@media screen and (max-width: 1000px){
/*-------------------------------------------------------
			         index.html
-------------------------------------------------------*/
/* ----------　リンクボタン　---------- */
.more_wrap {
    transform: translateX(0px);
}
/*-------------------------------------------------------
			         下層ページ
-------------------------------------------------------*/
/* ----------　page10.html　---------- */
#page10 .contents {
  width: 200px;
}

#page10 .btn {
  width: 200px;
}		
}


/*-------------------------------------------------------

			          タブレット
			          
-------------------------------------------------------*/
@media screen and (max-width: 768px){
/*-------------------------------------------------------
			         all
-------------------------------------------------------*/
.all_header #logo{
	width: 16.66667%!important;
}
/*-------------------------------------------------------
			         index.html
-------------------------------------------------------*/

header #logo,.clone-nav #logo{
	width: 25%!important;
}
/* ----------　メインイメージ　---------- */
#main_img{
    height: 50vh;
}
/* ----------　イントロ　---------- */
#intro,#intro .txt_wrap{
    height: 100%;
    min-height: auto;
}
#intro .txt_wrap{
    padding: 100px 10px;
}
#intro .txt_wrap .title {
    font-size: -webkit-calc(1rem + 10px);
    font-size: calc(1rem + 10px);
    letter-spacing: 14px;
}
#content1 #con1_txt{
    width: 90%;
    justify-content: center;
}
#content1 #con1_txt > div{
    line-height: 1.8;
}
header #header .menu_bt{
	display: block;
}
.drawer-hamburger {
    display: block!important;
}
#content2 h2{
	margin-right: 4%!important;
	margin-left: 4%!important;
}
/*#contents .box h3{*/
/*	margin-left: -3.5rem;*/
/*}*/
/*#contents .box h3:before{*/
/*	border-top: 1px solid;*/
/*	content: "";*/
/*	width: 35px;*/
/*}*/

/* ----------　TOPCMSリンク　---------- */
#t_cms_banner .img_box {
    padding-top: 114%;
}
#t_cms_banner .bg_color {
    width: 90%;
    right: 5%;
}
#t_cms_banner .box_txt {
    font-size: 16px;
}
#t_cms_banner .img_box:hover .bg_color {
    width: 90%;
}

/*-------------------------------------------------------
			         下層ページ
-------------------------------------------------------*/
/* ----------　page7.html　---------- */
#page7 #map iframe {
    height: 400px;
}
/* ----------　page10.html　---------- */
#page10 .contents {
  width: 240px;
}

#page10 .btn {
  width: 240px;
}	
}

/*-------------------------------------------------------

			       スマートフォン
			          
-------------------------------------------------------*/
@media screen and (max-width: 667px){
/*-------------------------------------------------------
			         all
-------------------------------------------------------*/
.cate_list li{
	width: 100%;
	margin: 0 0 10px;
}
#page-top a{
	display: block;
	width: 30px;
	height: 30px;
	position: relative;
}
.clone-nav #header {
    padding-top: 5px;
    padding-bottom: 5px;
}
header #header #logo,.clone-nav #logo {
    width: 40%!important;
}
header #header #logo img {
    vertical-align: middle;
}
header #header .header_info, .clone-nav .header_info {
}
#copyright{
    padding-bottom: 65px;
}
/* drawer menu */
.drawer-menu{
	min-width: 80%;
}
.drawer-menu li{
	margin-bottom: 8px;
	    padding-bottom: 8px!important;
}
/*-------------------------------------------------------
			         index.html
-------------------------------------------------------*/

.clone-nav .header_info{
	margin-left: auto;
}
.clone-nav .menu_bt .drawer-hamburger{
	margin-left: auto;
}
#intro .txt_wrap .title {
    font-size: -webkit-calc(1rem + 10px);
    font-size: calc(1rem + 6px);
    letter-spacing: 10px;
    text-align: center;
}
#content1{
	height: auto;
	max-height:inherit;
	padding-top: 30px;
    padding-bottom: 80px;
	
}
#content1 .con1_wrap {
    padding-bottom: 0px;
}
#content1 #con1_txt{
	-webkit-writing-mode: vertical-tb;
  -moz-writing-mode: vertical-tb;
  -ms-writing-mode: lr-tb;
  -ms-writing-mode: vertical-rl;
	writing-mode: horizontal-tb;
	display: inline-block;
	text-align: left;
    -webkit-text-orientation: upright;
    text-orientation: upright;
}
#content1 #con1_txt h2{
	display: block;
}
#content2 .back_color2 {
	padding-top: 60px!important;
	padding-bottom: 60px!important;
}
#content2 h2{
	-webkit-writing-mode: vertical-tb;
  -moz-writing-mode: vertical-tb;
  -ms-writing-mode: lr-tb;
  -ms-writing-mode: vertical-rl;
	writing-mode: horizontal-tb;
	margin-right: 0%!important;
	margin-left: 0%!important;
    -webkit-text-orientation: inherit;
    text-orientation: inherit;
    display: block;
    margin-bottom: 50px;
    text-align: center;
}
#content2 .back_color2 .contents_box_wrap{
    width: 90%!important;
    margin: auto;
}
#t_cms_banner .cate_box {
    padding: 0 10px;
}
#t_cms_banner .img_box {
    padding-top: 150%;
}
#t_cms_banner .box_txt {
    font-size: -webkit-calc(1rem - 2px);
    font-size: calc(1rem - 2px);
}


#contents .box h3{
	margin-left: -2rem;
}
#contents .box h3:before{
	border-top: 1px solid;
	content: "";
	width: 20px;
}
#top_cms .cms_title{
	background-size: cover;
	background-attachment: scroll;
    background-position: center center;
}
/* ----------　リンクボタン　---------- */
.more_wrap{
    transform: none;
}
#intro .more_btn {
    width: calc(100% + 80px);
    padding-left: 80px;
    text-align: left;
}
.more_btn span::before {
    width: 72px;
}
.more_btn span::after {
    left: 72px;
}
/*-------------------------------------------------------
			         下層ページ
-------------------------------------------------------*/
/* ----------　下層ページ　共通　---------- */
.all_header{
	
}
.all_header #header{
	width: 95%;
	padding-top: 5px;
}
.all_header #logo{
	width: 30%!important;
}
.all_header .menu_bt{	
	margin-right: 10px;
}
.all_header .header_info{
	margin-left: auto;
}
.all_header .menu_bt .drawer-hamburger{
	margin-left: auto;
}


#page_title{
	height: 400px;
	position: relative;
}

#page_title h2{
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	padding-top: 25px;
	padding-bottom: 0px;
    -webkit-text-orientation: upright;
    text-orientation: upright;
}
/* -- page7.html -- */
#page7 #map iframe{
	height: 350px;
}
}

@media all and (-ms-high-contrast: none){
#contents h2 .svg_box{
    top: -20px;
}
}