﻿@charset "utf-8";
/* CSS Document */

/*-------------------------------------------------------
					全体共通部分
-------------------------------------------------------*/

body {
    font-family: "Noto Sans JP","游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 400;
}
.loader_txt,.cms_title h2,#catch h2,#question h2,#contents h2,#contents .box h3,#top_cms .cms_title h2,#page_title h2{
	    font-family: 'M PLUS Rounded 1c', sans-serif;
}
#page_title h2,#contents .box h3{
	    font-weight: bold;
}
li{
	list-style-type: none;
}
.en_font{
	font-family: 'Caveat', cursive;
}
.marker{
	background: -webkit-linear-gradient(transparent 60%, #ff6 60%);
	background: -o-linear-gradient(transparent 60%, #ff6 60%);
	background: linear-gradient(transparent 60%, #ff6 60%);
}
svg {
	fill: currentColor;
}
.border_white{border-color: white;}

/* top loader */
.loader_bg {
    width: 100%;
    height: 100%;
    z-index: 9999;
    animation: loaderTxtDelay 0s ease 0.8s 1 forwards;
    pointer-events: none;
}
@-webkit-keyframes loaderTxtDelay {
	0%{
		opacity: 1;
	}
	100%{
		opacity: 0;
	}
}
.top_loader{
	z-index: 999;
	left: 0;
	top: 0;
}
.top_loader .logo{
    max-width: 200px;	
}
.top_loader .logo img{
	width: 100%!important;
}
.top_loader .loader_txt{
	z-index: 11;
	pointer-events: none;
	font-size:-webkit-calc(1rem + 25px);
	font-size : calc(1rem + 25px);
}
.top_loader .loader_txt span,.scroll_anime span{
	display: inline-block;
	opacity: 0;
	transform: translateY(20px);
}
.loader_txt span{
	display: inline-block;
	opacity: 0;
	transform: translateY(20px);
}
.loader_txt span.active,.scroll_anime span.active{
-webkit-animation: fw 0.5s ease 0.5s 1 forwards;
    animation: fw 0.5s ease 0.5s 1 forwards;
}
@-webkit-keyframes fw {
	50%{
		transform: translateY(-10px);
	}
	100%{
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes fw {
	50%{
		transform: translateY(-10px);
	}
	100%{
		opacity: 1;
		transform: translateY(0);
	}
}
/*フェードインcss*/
.fadein_up{
    opacity : 0;
    -webkit-transform: translateY(50px);
    -ms-transform: translateY(50px);
    transform: translateY(50px);
	transition:transform 1s ease,opacity 1s ease; 
}
.fadein_up.scrollin{
    opacity : 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}
/* -- ヘッダー -- */
header.clone-nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  transition: .3s;
  transform: translateY(-100%);
}
.all_page header.clone-nav {
  transform: translateY(0%);
}
header.is-show {
  transform: translateY(0);
}
header .logo{
	max-width: 250px;	
}
.all_page header .logo img{
	height: 60px!important;
    width: auto!important;
}
/* -- moreボタン -- */
.more_box {
	margin-left: auto;
	width : 200px;
	height : 50px;
	overflow : hidden;
	text-align : center;
	transition : .2s;
	border-radius : 5px;
}
.hover {
	position : relative;
	border : 2px solid white;
	width : 200px;
	height : 200px;
	margin-top: -102px;
	left : -250px;
	transition : .3s;
	transform : rotate(20deg);
}
.more_txt1 {
	transition : .3s;
	line-height: 50px;
}
.more_box:hover .hover{
	left: -145px;
}
.more_box:hover .more_txt1{
	margin-left : 80px;
}
.more_txt2 {
	margin-top : 37px;
	margin-right : -135px;
	transform : rotate(-20deg);
}


/* -- snsリンク -- */
.menu ul .sns_link li a,.overlay ul .sns_link li a{
	background-color: transparent;
    border-right: none;
	padding-bottom:0px;
	padding-top:0px;
}
.menu ul .sns_link li p,.overlay ul .sns_link li p{
	display: none;
}



.cms_link{
	top:12%;
	right: 10px;
	z-index: 9;
	display: flex;
    flex-direction: column;
}
.cms_link div a{
	padding: 15px 10px;
	padding-right: 50px;
}
.cms_link_box {
	-webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);

}
.cms_link_box:hover{

    	-webkit-transform: translateX(-15px);
    -ms-transform: translateX(-15px);
    transform: translateX(-15px);
	transition:transform 0.3s ease,opacity 0.3s ease; 
}
.cms_link_box div{display: inline-block;}

/* -- page-top -- */
.page-top{
	position: fixed;
	right: 0px;
	bottom: 10px;
	z-index: 9;
}
.page-top a{
	display: block;
	width: 50px;
	height: 50px;
	position: relative;
}



/* -- リンクボタン -- */

/* -- フッター -- */
footer .footer_con_box .footer_con{
	border: 1px solid #333;
    border-right: none;
}
footer .footer_con_box a:hover{
	    letter-spacing: 8px;
}
.f_logo .logo{
    max-width: 250px;	
}

/*-------------------------------------------------------
					index.html 
-------------------------------------------------------*/

/*----　メインイメージ　----*/
.main_img_wrap{
	height: 100vh;
	min-height: 800px;
	width: 100%;
	z-index: 1;
	background-color: #fff;
}
.main_img{
	position: static!important;
}


.video_wrap {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100vh;
}
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%);
}
.menu{
	z-index: 2;
	top: 50%;
	left: 80px;
	transform: translateY(-50%) translateX(0%);
	-webkit- transform: translateY(-50%) translateX(0%);
    width: 50%;
    max-width: 400px;
}
.menu .logo{
	padding: 50px 30px;
}

/* -- TOPバナー -- */
.t_banner_box{
	z-index: 2;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);	
}
.t_banner_box .banner{
	width: 32%;
	margin-left: 2%;
	overflow: hidden;
}
.t_banner_box .banner:first-child{
	margin-left: 0%;
}
.t_banner_box .banner:hover{
	margin-top: -20px;
}
/* -- キャッチ文 -- */
#catch .box {
    margin-left: auto;
    margin-right: 5%;
    background-color: rgba(255 ,255 ,255,0.8);
    padding: 50px 40px;	
}
#catch .box .sub_title{
	font-size: -webkit-calc(1rem + 55px);
    font-size: calc(1rem + 55px);
    position: absolute;
    top: -40px;
    left: -30px;
    transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -webkit-transform: rotate(-10deg);	
    z-index: 1;
}
#catch .box .title{
    padding: 20px 30px;	
	margin-left: -60px;
}

/* -- 固定部分 -- */
#question:before {
    background: -webkit-repeating-linear-gradient(-45deg,transparent 0,transparent 10px,#fff 10px,#fff 20px);
    background: -o-repeating-linear-gradient(-45deg,transparent 0,transparent 10px,#fff 10px,#fff 20px);
    background: repeating-linear-gradient(-45deg,transparent 0,transparent 6px,#fff 6px,#fff 8px);
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
}

#question .box{
	z-index: 1;
}
#question .box .box_item{
    padding: 80px;	
}
#question .txt {
	width: 45%;
	margin-right: 10%;
}
#question .txt:nth-child(even) {
	margin-right: 0%;
}
#question .txt .check {
    display: inline-block;
    width: 40px;
	height: 30px;
    vertical-align: middle;
    z-index: 1;
    position: relative;
    top: -5px;
    padding-right: 20px;
}
#question .txt:before{
	content: '';
    display: inline-block;
    width: 30px;
    height: 30px;
    vertical-align: middle;
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    z-index: 0;
    border-radius: 5px;
	top: 2px;
}
#question .sliceTxt4,#question .sliceTxt5,#question .sliceTxt6{
	font-size: 80px;
	
	    font-size: -webkit-calc(1rem + 30px);
    font-size: calc(1rem + 30px);
    text-shadow: 2px 2px 1px #fff, -2px 2px 1px #fff, 2px -2px 1px #fff, -2px -2px 1px #fff, 2px 0px 1px #fff, 0px 2px 1px #fff, -2px 0px 1px #fff, 0px -2px 1px #fff;
}

/* -- コンテンツ -- */
#contents .box .box_item{
	background-color: rgba(255 ,255 ,255,0.9);
    padding: 50px 40px;
	z-index: 2;
    margin-top: -400px;
}
#contents .box:nth-child(odd) .box_item{
	margin-left: 40%;
}
#contents .box:nth-child(even) figure{
    margin-left: 40%;

}
#contents .box .box_item:before {
    content: '';
    position: absolute;
    width: 98%;
    width: -webkit-calc(100% - 25px);
    width: calc(100% - 25px);
    height: 98%;
    height: -webkit-calc(100% - 25px);
    height: calc(100% - 25px);
    border: 1px solid #333;
    top: 12px;
    left: 12px;

}
#contents .box .box_item .sub_title{
	font-size: -webkit-calc(1rem + 55px);
    font-size: calc(1rem + 55px);
    position: absolute;
    top: -40px;
    left: -30px;
    transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -webkit-transform: rotate(-10deg);	
}
/* -- TOPCMS -- */
.top_cms_box.cms1 .top_cms_box_wrap{
    width: 98%;
    width: -webkit-calc(100% - 150px);
    width: calc(100% - 150px);	
	padding-top: 80px;
}
.top_cms_box_wrap .cms_title{
	z-index: 1;
    top: -25px;
	padding: 10px 30px;
}
.top_cms_box.cms1 .sub_title{
    font-size: -webkit-calc(1rem + 40px);
    font-size: calc(1rem + 40px);	
}


/*-------------------------------------------------------
				下層ページ共通部分
-------------------------------------------------------*/
/* ----------　ページタイトル ---------- */
#page_title{
	margin-top: 80px;
    height: 250px;
    position: relative;
}
#page_title .title{
	bottom: -20%;
    left: 50%;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
    padding: 35px 0;
}
/* ----------　カテゴリーリンク ---------- */
.cate_list li{
	width: 30%;
	margin-right: 5%;
}
.cate_list li:nth-child(3n){
	margin-right: 0%;
}


/* ----------　page7.html ---------- */
.page7 #map iframe {
    width: 100%;
    height: 400px;
}
/* ----------　page10.html ---------- */
.page10 .more_box {
    width: 100%;
}
.page10 .content_wrap .more{
	margin-left: 2%;
    margin-right: 2%;
}

/* ----------　1400以下 ---------- */
@media screen and (max-width: 1400px){
/* ----------　page10.html ---------- */
.page10 .content_wrap .more:first-child{
	width: 95%!important;
}
.page10 .content_wrap .more{
	width: 45%!important;
}
}
/* ----------　1000以下 ---------- */
@media screen and (max-width: 1000px){

}






/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){

/*-------------------------------------------------------
					全体共通部分
-------------------------------------------------------*/
/* -- ヘッダー -- */
header.clone-nav {
  transform: translateY(0%);
}

header .logo img {
    height: 60px!important;
    width: auto!important;
}
/* -- snsリンク -- */

/* -- フッター -- */
footer .sns_link{
	justify-content: flex-start;
}
footer .sns_link li{
	width: 50%!important;
}

/*-------------------------------------------------------
					index.html 
-------------------------------------------------------*/
/* top loader */
.top_loader .loader_txt{
	font-size:-webkit-calc(1rem + 20px);
	font-size : calc(1rem + 20px);
}
/* -- メインイメージ　-- */
.main_img_wrap{
	width: 100%;
	height: auto;
	min-height: auto;
    margin-top: 80px;
}
.main_img{
	height: 50vh;
	width: 100%;
}
.video_wrap {
	position: static;
	overflow: hidden;
	width: 100%;
	height: auto;
	min-width: 100%;
}
video {   
	min-width: auto;
	min-height: auto;
	width: 100%;
	z-index: 1;
	position: static;
	top: 0%;
	left: 0%;
	-webkit-transform: translate(0%, 0%); 
	-ms-transform: translate(0%, 0%);
	transform: translate(0%, 0%); 
vertical-align: bottom;
}  	
/* -- 固定部分 -- */
#question .box .box_item {
    padding: 50px;
}
#question .title span {
    font-size: -webkit-calc(1rem + 18px);
    font-size: calc(1rem + 18px);
}	
/* -- コンテンツ -- */	
#contents .box .box_item,#contents .box:nth-child(odd) .box_item {
    margin-left: 5%;
}
#contents .box:nth-child(even) figure {
    margin-left: 0%;
}
#contents .box .box_item {
    margin-top: -50px;
}
/* -- TOPCMS -- */	
.top_cms_box.cms1 .sub_title {
    font-size: -webkit-calc(1rem + 30px);
    font-size: calc(1rem + 30px);
    line-height: 1;
}	
.top_cms_box.cms1 .top_cms_box_wrap {
    width: 98%;
    width: -webkit-calc(100% - 110px);
    width: calc(100% - 110px);
}
/*-------------------------------------------------------
				下層ページ共通部分
-------------------------------------------------------*/
/* ----------　ページタイトル ---------- */
/* ----------　カテゴリーリンク ---------- */
.cate_list li{
	width: 47%;
	margin-right: 3%!important;
}
/*.cate_list li:nth-child(2n){
	margin-right: 0%;
}*/
/* ----------　page7.html ---------- */
.page7 #map iframe {
    height: 350px;
}
/* ----------　page10.html ---------- */
.page10 .content_wrap .more:first-child{
	width: 95%!important;
}
.page10 .content_wrap .more{
	width: 95%!important;
}
}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
/*-------------------------------------------------------
					全体共通部分
-------------------------------------------------------*/
.top_loader .logo{
    max-width: 140px;	
}
/* -- ヘッダー -- */
.main_img_wrap {
    margin-top: 65px;
}
header .logo,header .logo img {
    height: 45px!important;
}
.all_page header .logo img {
    height: 45px!important;
}
/* -- フッター -- */
footer .sns_link li {
    width: 100%!important;
}
footer .sns_link li a{
	border-right: none;
}
footer .footer_con_box .footer_con {
    border-right: 1px solid #333;
}
footer .footer_con_box a:hover{
	    letter-spacing: 4px;
}
/* -- page-top -- */
.cms_link {
    top: auto;
    right: 0px;
    bottom: 0px;
    width: 100%;
}
.cms_link_box{
	width: 50%;
}
.cms_link div a {
    padding: 15px 0%;
    padding-right: 10px;
    width: 100%;
    display: inline-block;
}
.cms_link div a .box1{
    padding: 0 10px;
}
#copyright{
	padding-bottom: 60px!important;
}
/* -- snsリンク -- */
.cms_link_box:hover {
    -webkit-transform: translateX(0px);
    -ms-transform: translateX(0px);
    transform: translateX(0px);
}	
.cms_link{
    flex-direction: initial;
}
.page-top {
    bottom: 50px;
}
	
/*-------------------------------------------------------
					index.html 
-------------------------------------------------------*/
/* top loader */
.top_loader .loader_txt{
	font-size:-webkit-calc(1rem + 6px);
	font-size : calc(1rem + 6px);
}
/* -- メインイメージ　-- */
.main_img{
	height: 40vh;
	width: 100%;
}
.t_banner_box {
    top: 0%;
    transform: translateY(0%);
    -webkit- transform: translateY(0%);
    margin-top: 40px;
}
.t_banner_box .banner {
    width: 90%;
    margin-left: 0%;
    margin-top: 20px;
}
.t_banner_box .banner:first-child {
    margin-top: 0px!important;
}
.t_banner_box .banner:hover {
    margin-top: 20px;
}
/* -- キャッチ文 -- */
#catch .box {
    padding: 50px 20px;
}	
#catch .box .title {
    padding: 20px 15px;
    margin-left: -30px;
}
#catch .box .sub_title {
    font-size: -webkit-calc(1rem + 40px);
    font-size: calc(1rem + 40px);
    top: -20px;
    left: -20px;
}
/* -- 固定部分 -- */
#question .title span {
    font-size: -webkit-calc(1rem + 8px);
    font-size: calc(1rem + 8px);
}
#question .box .box_item {
    padding: 30px;
}
/* -- コンテンツ -- */	
#question .txt {
    width: 100%;
    margin-right: 0%;
}
#question .txt .check {
    padding-right: 10px;
}
	
#contents .box .box_item {
    padding: 50px 30px;
}
#contents .box .box_item .sub_title {
    font-size: -webkit-calc(1rem + 40px);
    font-size: calc(1rem + 40px);
    top: -20px;
	left: -20px;
}
/* -- TOPCMS -- */	
.top_cms_box.cms1{
	margin-top: 70px;
}
.top_cms_box.cms1 .top_cms_box_wrap {
    width: 90%;
	padding: 50px 10px 30px;
}
.top_cms_box_wrap .cms_title {
    padding: 10px 10px;
    left: 50%;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
    width: 70%;
}
.top_cms_box.cms1 .sub_title {
    font-size: -webkit-calc(1rem + 25px);
    font-size: calc(1rem + 25px);
}
/*-------------------------------------------------------
				下層ページ共通部分
-------------------------------------------------------*/
/* ----------　ページタイトル ---------- */
#page_title {
    margin-top: 65px;
    height: 200px;
}
#page_title .title {
    padding: 30px 0;
}
/* ----------　カテゴリーリンク ---------- */
.cate_list li{
	width: 100%;
	margin-right:0%!important;
}
/* ----------　page2.html ---------- */	
.pager li:not(.prev):not(.next){
	display: none
}
/* ----------　page7.html ---------- */
.page7 #map iframe {
    height: 300px;
}
}

@media all and (-ms-high-contrast: none){
.page8 #form_area button {
padding-top: 18px;
}
}

@media screen and (max-width: 667px) and (-ms-high-contrast: none){
	
}