@charset "utf-8";
/* CSS Document */
body{
	font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGP明朝B', serif;
	color: #333;
  font-size: 17px;
  line-height: 1.6;
	letter-spacing: 0.05em;
}

.cinzel{
	font-family: 'Cinzel Decorative', cursive;
}

.topic{
  text-align: center;
}

.topic h2{
	font-size: 24px;
	letter-spacing: 3px;
}
.topic h2 span{
	font-size: 140%;
}

.hl{
	position: relative;
	display: inline-block;
	padding: 0 55px;
}

.hl:before, .hl:after{
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 35px;
	height: 1px;
	background-color: black;
}

.hl:before {left:0;}
.hl:after {right: 0;}

.nav-l{
	position: relative;
  display: inline-block;
  text-decoration: none;
}

.nav-l::after {
  position: absolute;
  bottom: 12px;
  left: 0;
	right: 0;
	margin: auto;
  content: '';
  width: calc( 100% - 36px ) ;
  height: 2px;
  background: #0e409c;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}

.nav-l:hover{
	color: #0e409c;
}
.nav-l:hover::after {
  transform: scale(1, 1);
}

.sl {
	position: relative;
  display: inline-block;
  padding-right: 1px;
}

.sl:before {
	content: '';
  position: absolute;
  left: 98%;
  top: 27px;
  display: inline-block;
  width: 2px;
  height: 14px;
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #fff;
  border-radius: 2px;
	transition: all 600ms 0s ease;
}

.nfade .sl:before {
  background-color: #000;
}

.img-box img{
  width: 100%;
}

/* ----------------------------------------
下層ページ
---------------------------------------- */
.bread-wrap{
	height: 24px;
	margin-left: 20px;
}
.breadcrumb{
	margin: 20px;
	font-size: 12px;
}

.breadcrumb li{
	display:inline-block;
}

.breadcrumb li a{
}

.breadcrumb li a:hover{
	text-decoration: none;
	color: #00688C;
	}

.breadcrumb li a:after{
	content:">";
	padding:0 8px;
}

#top-ttl{
  padding-top: 70px;
}
.top-wrap{
  background-color: #f2f2f2;
  display: flex;
	overflow: hidden;
}

.top-box{
  width: 300px;
  position: relative;
	z-index: 2;
}
.top-box:after{
  content: ' ';
  position: absolute;
  background: #f2f2f2;
  width: 200px;
  height: 580px;
  top: 0;
  right: -90px;
  -webkit-transform: skew(-15deg, 0deg);
  -moz-transform: skew(-15deg, 0deg);
  transform: skew(-15deg, 0deg);
  z-index: -1;
}

.top-box-r{
  width: 300px;
  position: relative;
	z-index: 2;
}

.top-box-r:before{
  content: ' ';
  position: absolute;
  background: #f2f2f2;
  width: 200px;
  height: 580px;
  top: 0;
  right: 200px;
  -webkit-transform: skew(-15deg, 0deg);
  -moz-transform: skew(-15deg, 0deg);
  transform: skew(-15deg, 0deg);
  z-index: -1;
}

.ttl-box{
  color: #a77c42;
  position: absolute;
  top:30%;
  margin-left: 30px;
	z-index: 2;
}
.ttl-box-r{
  color: #a77c42;
  position: absolute;
	right: 0;
  top:30%;
  margin-right: 30px;
	z-index: 2;
}

.page-ttl{
  font-size: 46px;
  letter-spacing: 3px;
	line-height: 1.3;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
	white-space: nowrap;
}
.page-ttl span{
  font-size: 130%;
}
.ttl-sub{
  margin-top: 10px;
  font-size: 24px;
  letter-spacing: 8px;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}

.ttl-sub-r{
  margin-top: 10px;
	text-align: right;
  font-size: 24px;
  letter-spacing: 8px;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}

.ttl-sub span,
.ttl-sub-r span{
  font-size: 30px;
}

.top-img, .top-img2{
  height: 580px;
  width: calc(100% - 300px);
  background-position: center;
  background-size: cover;
	opacity: 0;
}

.top-img02{
  height: 580px;
  width: calc(100% - 300px);
  background-position: center;
  background-size: cover;
	opacity: 0;
}

/*
.clip-tilt {
  -webkit-clip-path: polygon(0 100%, 140px 0, 100% 0, 100% 100%);
  clip-path: polygon(0 100%, 140px 0, 100% 0, 100% 100%);
}
*/
.heading{
  font-size: 20px;
  letter-spacing: 3px;
  margin-left: 10px;
	color: #00688C;
}
.heading span{
  font-size: 130%;
  display: block;
  letter-spacing: 5px;
}

.page-wrap .heading{
  margin-left: 0px;
}

.catch{
  margin: 40px auto;
	width: 90%;
}
.catch-wrap{
  width: 100%;
  height: 400px;
  margin: 200px 0;
}
.catch-img{
  position: absolute;
  width: 30%;
  height: 300px;
}
.catch-box{
  padding: 10px;
}
.cat-img{
  width: 100%;
  display: flex;
}
.cat-img-box{
	position: relative;
	opacity: 0;
}
.cat-img-box img{
  width: 100%;
}
.catch-box p{
  font-size: 17px;
  text-align: left;
  line-height: 2;
}
.item-wrap{
  position: relative;
  width: 100%;
	min-height: 400px;
  display: flex;
  overflow: hidden;
	background-color: #f2f2f2;
}
.item-wrap > div{
  width: 100%;
}
.item-img{
  background-position: center;
  background-size: cover;
  position: relative;
  overflow: hidden;
	opacity: 0;
}
.txt-box{
  height: 100%;
  padding: 40px;
  transform: translateY(-10px);
	opacity: 0;
}
.item-ttl{
	color: #00688C;
  font-size: 24px;
  line-height: 2;
}
.item-ttl span{
  display: block;
  margin-left: 40px;
}

.txt-box p{
  margin-top: 40px;
  line-height: 2;
}
.item-under{
  background-color: #f2f2f2;
  height: 20px;
  margin-left: 60px;
}
.cap{
	position: absolute;
  right: 10px;
  bottom: 10px;
  color: #fff;
  padding: 10px;
  background: #000;
  filter: Alpha(opacity=70);
  opacity: 0.7;
}

.cap-l{
	position: absolute;
  left: 10px;
  bottom: 10px;
  color: #fff;
  padding: 10px;
  background: #000;
  filter: Alpha(opacity=70);
  opacity: 0.7;
}

.next-navi{
	max-width: 640px;
  margin: 60px auto;
  text-align: center;
  background-color: #dedede;
	display: block;
	transition: all 600ms ease 0s;
}

.next-navi:hover{
  background-color: #b1cbd6;
}
.next-navi a{
	width: 100%;
	height: 100%;
	padding: 14px 20px;
	display: block;
}

/* ----------------------------------------
ナビゲーション
---------------------------------------- */
nav ul{
	font-size: 0;
}
.main-navi {
	color: #fff;
	position: fixed;
  width: 100%;
	z-index:99;
	transition: all 600ms 0s ease;
}
.nfade{
	background-color: rgba(255, 255, 255, 0.9);
	color: #000;
	box-shadow: 0px 2px 5px rgba(0,0,0,0.3);
}
.main-navi .main-nav-list {
	text-align:center;
	width:1150px;
	margin:0 auto;
}
.main-navi .main-nav-list li {
	display:inline-block;
	position:relative;

}
.bg-gray{
	background:#efefef;
}
.main-navi .main-nav-list li:first-child{

}
.main-navi .main-nav-list li .cur {
}
.main-navi .main-nav-list li .cur i{
}
.main-navi .main-nav-list li a.main-nav,.parent-nav {
	font-size:15px;
	display:block;
	padding:24px 18px;
}
.main-navi .main-nav-list li:hover{
	background:#d1e1ff;
	transition: all 600ms 0s ease;
}
.main-navi .main-nav-list li a:hover{
	text-decoration:none;
}
.sub-menu-wrap{
	position:absolute;
	top:72px;
	left:0;
	background:rgba(17,15,40,0.9);
	display:none;
	transition: all 600ms 0s ease;
}
.sub-menu{
	text-align:left;
	min-width:200px;
	position:relative;

}
.sub-menu a{
	display:block;
	padding:16px 8px;
	font-size: 14px;
	color: #fff;
}
.sub-menu a:hover{
	color: #000;
	background: #d1e1ff;
	transition: all 600ms 0s ease;
}
.sub-menu i{
	position:absolute;
	right:8px;
	top:19px;
}
.drop-menu{
	z-index:2;
}
.drop-menu:hover>.sub-menu-wrap{
	display:block;
}
.contact-btn-wrap {
	opacity: 0;
	position: absolute;
  right: 0;
  top: 3px;
  padding: 8px;
	transition: all 600ms 0s ease;
}

@media (max-width: 3000px) {
.contact-btn-wrap {
  top: 78px;
	right: 0;
	color: #000;
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0px 2px 5px rgba(0,0,0,0.3);
}
}

.page-nav{
	/* 階層ページでは常に表示 */
	display:block !important;
}

.page-nav .page-logo{
	position:absolute;
	left:0;
	top:0;
	padding:14px;
}
.page-nav .page-logo img{
	height:40px;
}
.contact-btn-wrap ul {
}
.contact-btn-wrap ul li {
	display:inline-block;
	vertical-align: top;
	margin-left: 5px;
}
.contact-btn-wrap ul li a{
	color: #fff;
	display:block;
	font-size: 16px;
	padding:12px 8px;
}
.nfade .contact-btn-wrap ul li a{
	color: #fff;
}
.contact-btn-wrap ul li .request {
	margin-top:5px;
}
.request {
  background-color: #eb9d41;
  background-image: -webkit-linear-gradient(bottom, #c18400, #eb9d41);
  background-image: -moz-linear-gradient(bottom, #c18400, #eb9d41);
  background-image: -o-linear-gradient(bottom, #c18400, #eb9d41);
  background-image: -ms-linear-gradient(bottom, #c18400, #eb9d41);
  background-image: linear-gradient(to top, #c18400, #eb9d41);
}
.request:hover {
  background-color: #ffb359;
  background-image: -webkit-linear-gradient(bottom, #dc9b0e, #f3ad5a);
  background-image: -moz-linear-gradient(bottom, #dc9b0e, #f3ad5a);
  background-image: -o-linear-gradient(bottom, #dc9b0e, #f3ad5a);
  background-image: -ms-linear-gradient(bottom, #dc9b0e, #f3ad5a);
  background-image: linear-gradient(to top, #dc9b0e, #f3ad5a);
}
.inspection {
  background-color: #a91a16;
  background-image: -webkit-linear-gradient(bottom, #8b110e, #a91a16);
  background-image: -moz-linear-gradient(bottom, #8b110e, #a91a16);
  background-image: -o-linear-gradient(bottom, #8b110e, #a91a16);
  background-image: -ms-linear-gradient(bottom, #8b110e, #a91a16);
  background-image: linear-gradient(to top, #8b110e, #a91a16);
}
.inspection:hover{
  background-color: #cc231f;
  background-image: -webkit-linear-gradient(bottom, #a71d1a, #d22520);
  background-image: -moz-linear-gradient(bottom, #a71d1a, #d22520);
  background-image: -o-linear-gradient(bottom, #a71d1a, #d22520);
  background-image: -ms-linear-gradient(bottom, #a71d1a, #d22520);
  background-image: linear-gradient(to top, #a71d1a, #d22520);
}
.contact-btn-wrap ul li i{
	padding-left:8px;
}
.contact-btn-wrap ul li .inspection {
	margin-top:5px;
}
.contact-btn-wrap ul li .inspection .fa {
}
.contact-btn-wrap ul li .tel-number {
	text-align:right;
	font-size:26px;
}
.contact-btn-wrap ul li .tel-number .fa {
}
.contact-btn-wrap ul li .tel-info {
	font-size: 12px;
	text-align:right;
}
.nav-mgn{
	 margin-top: 73px;
}


/* ----------------------------------------
コンタクト
---------------------------------------- */

#contact-area{
  background-color: #f5efe4;
	position: relative;
}

.cont-ttl{
  max-width: 360px;
  background-color: #a71837;
  color: #fff;
  padding: 6px 20px;
  margin: auto;
	font-size: 22px;
  position: absolute;
  right: 0;
  left: 0;
  top: -20px;
  text-align: center;
  box-shadow: 2px 2px 5px rgba(0,0,0,0.4);
}

.cont-wrap{
  width: 94%;
  margin: auto;
	padding-top: 30px;
	padding-bottom: 20px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.cont-wrap > div{
  flex-basis: 33.333%;
}

.cont-box{
	display: flex;
}





.cont-con a{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	height:100%;
	width: 100%;
}

.cont-box h4{
	position: relative;
	font-size: 20px;
}

.cont-box h4:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10px;
  display: inline-block;
  width: 70%;
  height: 1px;
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #fff;
}


.cont-box span{
	font-size: 12px;
  display: block;
}

[class^="icon"] {
  width: 30px;
  height: 30px;
  position: relative;
	vertical-align: middle;
  margin-right: 10px;
  fill: #fff;
}

.icon-mail{
  width: 25px;
	top: -2px;
}

 .icon-house{
  width: 25px;
	top: -4px;
 }


/* 20210521 リニューアルVerコンタクトエリア start */
.contact_container {
  padding: 60px 0 40px;
}

.contact_container .button-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 900px;
  width: calc(100% - 40px);
  margin: 0 auto;
}

.contact_container .button-wrap .cv-button {
  display: block;
  width: calc(50% - 7.5px);
  transition: transform 0.3s 0s;
}

.contact_container .button-wrap .cv-button:hover {
  transform: scale(1.04);
}

.contact_container .button-wrap .cv-button img {
  display: block;
  width: 100%;
}

.contact_container .tel-information {
  display: block;
  width: calc(100% - 40px);
  max-width: 460px;
  margin: 26px auto 0;
}
/* 20210521 リニューアルVerコンタクトエリア end */


/* ----------------------------------------
フッター
---------------------------------------- */
footer{
	color: #fff;
	background-color: #002256;
}

.footer-wrap{
	width: 90%;
	margin: 0 auto;
	display: flex;
}
.footer-wrap > div{
	padding: 20px;
	width: 100%;
}

.sitemap p{
	margin: 30px 0 2px;
}

.f-ttl{
  font-size: 38px;
  letter-spacing: 4px;
  color: #fff;
	line-height: 1;
	margin: 20px 0;
}
.f-ttl span{
  font-size: 54px;
}

.link-list{
	font-size: 16px;
}
.link-list ul{
	display: flex;
	flex-wrap: wrap;
}

.link-list ul li{
	width: 50%;
	margin-top: 4px;
	list-style-position: inside;
}

.link-list a:hover{
	color: #cef2fd;
}
.related-list{
	font-size: 14px;
}

.related-list ul li{
	margin-top: 4px;
	list-style-position: inside;
}

.related-list a:hover{
	color: #cef2fd;
}

.map-box{
	font-size: 16px;
}
.map-box p{
	margin-top: 10px;
}
.map-box span{
	font-weight: bold;
}
.g-map {
	margin-top: 20px;
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

.g-map iframe,
.g-map object,
.g-map embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.f-contact h4{
	font-size: 18px;
	margin-top: 20px;
}
.f-contact p{
	font-size: 38px;
	text-align: center;
}
.f-contact span{
	font-size: 16px;
  display: block;
}

.form-box{
	background-color: #539bb9;
  margin-top: 20px;
  font-size: 16px;
	position: relative;
  transition: all 600ms ease 0s;
}
.form-box:hover{
	background-color: #4bb1bb;
}

.form-box::after{
  font-family: 'Font Awesome 5 Free';
	font-weight: 900;
  content: "\f105";
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -12px;
}

.form-box a{
	width: 100%;
	padding: 9px 0 8px 15px;
	display: block;
}


.footer-bottom{
	color: #110f28;
	background-color: #e4e4e4;
	padding: 14px 0;
}

.bottom-wrap{
	width: 90%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
}


.copyright{
  display: flex;
  align-items: center;
	font-size: 14px;
  line-height: 1;
}

.copyright img{
	width:120px;
	padding: 15px;
}

.b-link{
	margin-right: 50px;
	font-size: 12px;
	flex: 1;
	display: flex;
  align-items: center;
  justify-content: flex-end;
}

.b-link a{
	margin-left: 20px;
	font-size: 13px;
}
.resortt{
	width: 100px;
	height: 80px;
	margin: 0 10px;
	fill: #110f28;
}

.to-top-btn{
	position:fixed;
	right:14px;
	bottom: 14px;
	background:#333;
	color:#fff;
	padding:14px;
	text-align:center;
	cursor:pointer;
	opacity: 0.9;
	z-index: 10;
}

/* ----------------------------------------
共通
---------------------------------------- */
.mt-1{margin-top: 8px;}
.mt-2{margin-top: 10px;}
.mt-3{margin-top: 30px;}
.mt-4{margin-top: 40px;}
.mt-5{margin-top: 50px;}
.mt-6{margin-top: 60px;}
.mt-7{margin-top: 70px;}
.mt-8{margin-top: 80px;}
.mt-9{margin-top: 90px;}
.mt-10{margin-top: 100px;}
.mt-15{margin-top: 150px;}
.mt-20{margin-top: 200px;}

.only-pc{
	display:block;
}
.only-sp{
	display:none;
}
.cf:before, .cf:after {
	content:"";
	display:table;
}
.cf:after { clear:both; }
.cf { zoom:1; }

/* ----------------------------------------
トップ専用
---------------------------------------- */

.vac-link2{
	margin-top:60px;
	margin-bottom:60px;
	position: relative;
	transition: all 600ms ease 0s;
	text-align:center;
}

.vac-link2sp{
	margin-top:20px;
	margin-bottom:20px;
	position: relative;
	transition: all 600ms ease 0s;
	text-align:center;
}

.vac-link2-a{
	text-align:center;
}

.vac-link2-spimg{
	max-width: 100%;
	padding: 0px 15px;
}

.vac-link2-pcimg{
	display: inline;
}


.vac-link2:hover{
  color: #560000;
  opacity: 0.8;
}


.vac-link{
	padding: 15px 30px;
  background-image: url(/facilities/style/img/vac-bg.jpg);
  background-position: left;
  background-repeat: no-repeat;
  background-size: contain;
  max-width: 400px;
  margin: 0 auto 60px;
	position: relative;
  border: 1px solid;
  text-align: right;
	transition: all 600ms ease 0s;
}
.vac-link:hover{
  color: #560000;
  opacity: 0.8;
}
.vac-link p{
	padding-right: 20px;
}

.vac-link a{
	position: absolute;
	top:0;
	left: 0;
  height: 100%;
  width: 100%;
  display: block;
  z-index: 2;
}

.vac-link span{
  font-size: 28px;
  letter-spacing: 4px;
	display: block;
}

.vac-link::after{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: "\f105";
  position: absolute;
  top: 50%;
  margin-top: -20px;
  font-size: 30px;
}

/*2020 09 28 トップお知らせ*/

.corona_correspondence_policy_area {
    max-width: 960px;
    text-align: center;
    margin: 20px auto;
    padding: 10px;
    background-color: #333333;
}

.corona_correspondence_policy_txt {
    letter-spacing: 0.08em;
    font-weight: bold;
    font-size: 1.2em;
}
.corona_correspondence_policy_txt > a {
    color: #FFF;
    display: block;
    text-decoration: underline;
}
.corona_important_notices_wrapper {
    margin: 20px 10px;
}
.corona_important_notices_area {
    border: solid 1px #06395f;
    max-width: 960px;
    margin: 0 auto;
}
.corona_important_notices_ttl {
    font-weight: bold;
    color: #FFF;
    font-size: 1.2em;
    text-align:center;
    padding: 14px;
    background-color: #06395f;
}
.corona_important_notices_container {
    overflow-y: scroll;
    padding-bottom: 1em;
}
.corona_important_notices_box {
    padding: 20px 20px 0;
}
.corona_important_notices_box > .corona_day {
    margin-right: 20px;
}
.corona_important_notices_box > .corona_small_txt {
    font-size: 80%;
}
.corona_banner_img_area {
    text-align: center;
    margin:30px 8px;
}
.corona_banner_img_area > a {
    display: inline-block;
}
.corona_banner_img_area > a > .only-pc {
    width: 980px; 
    height: auto;
    margin: 0 auto;
}
.corona_banner_img_area > a > .only-sp {
    width: 100%;
}

/*2021 04 15 マーターポートバナー*/
.virtual_bnr_area {
        margin: 60px 10px;
        text-align: center;
    }
    .virtual_bnr_area a img {
        display: inline-block;
    }
    @media (max-width: 768px) {
        .virtual_bnr_area a img{
            width: 100%;
        }
    }

.show_bnr_area {
        padding-top: 100px;
        margin-top: -100px;
    }
    .show_bnr_container {
        display: flex;
        justify-content: center;
        width: 80%;
        margin: 30px auto 80px;
    }
    .show_bnr_container a {
        display: block;
    }
    .show_bnr_container a:nth-of-type(2) {
        margin-left: 8%;
    }
    .show_bnr_container a img {
            width: 100%;
        }

    @media (max-width: 768px) {
        .show_bnr_container {
            display: block;
            width: auto;
            margin: 10px 10px 40px;
        }
        .show_bnr_container a {
            margin-bottom: 20px;
        }
        .show_bnr_container a:nth-of-type(2) {
            margin-left: 0;
        } 
    }

/* SEO施策　*/
.cont-con{
	width: 100%;
	position: relative;
	font-size: 20px;
  color: #fff;
  background-color: #07395f;
	margin: 10px;
  padding: 10px 40px;
	text-align: center;
	opacity: 0;
  box-shadow: 2px 2px 5px rgba(0,0,0,0.4);
}
.cont-link:hover{
  background-color: #115386;
	transition: all 600ms 0s ease;
}

.cont-con div {
  position: relative;
  border-bottom: solid #fff 1px;
  padding: 7px 0;
}

.cont-box p{
	margin-top: 10px;
	line-height: 1;
}


/* SEO施策　h1マークアップ*/
.page_title{
  font-size: 46px;
  letter-spacing: 3px;
	line-height: 1.3;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
	white-space: nowrap;
}
.page_title span{
  font-size: 130%;
}
.ttl_subtitle{
  margin-top: 10px;
  font-size: 24px;
  letter-spacing: 8px;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
  margin-left: 4%;
}

.ttl_subtitle-r{
  margin-top: 10px;
	text-align: right;
  font-size: 24px;
  letter-spacing: 8px;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}

.ttl_subtitle span,
.ttl_subtitle-r span{
  font-size: 30px;
}
