@charset "utf-8";
@import url('https://fonts.cdnfonts.com/css/barlow');
.rpimg {

}

/*------------------------------------------------------------
	カラー
------------------------------------------------------------*/
.green {
	color: #129c9e;
}
.lgreen {
    color: #6dc1a0;
}
.bg_1{
    background-color: #005259;
    color: #fff;
}
.bold {
	font-weight:bold;
}

.goshic{font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";}
.white{color: #ffffff;}

/*------------------------------------------------------------
	リンクカラー
------------------------------------------------------------*/
.udl {
    color:inherit !important;
    text-decoration: underline;
}
.tel-link a,.non_col {
	color:inherit !important;
}
a {
	color:#13428a;
	text-decoration:none;
}

a:hover {
	color:#597aad;
	text-decoration:none;
}
a:active {
	color:#13428a;
	text-decoration:none;
}

.btn a {
	transition:opacity 0.3s;
}
.btn a:hover {
	opacity: 0.7;
}

a[href*="tel:"] {
    color: inherit;
}

/*@media (min-width: 561px) {
a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
}
}*/

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
.lh_s {
	line-height:1.5 !important;
}
.lh_m {
	line-height:1.7 !important;
}
.lh_l {
	line-height:2 !important;
}
.lh_0 {
	line-height:0;
}
html {
	height:100%;
    font-size: 1em;
	overflow-x: hidden;
}
	
body {
	text-align:center;
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	color:#333;
	text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
	word-wrap:break-word;
	min-height: 100%;
    display: flex;
    flex-direction: column;
    font-size: 1em;
    z-index: 0;
	overflow: hidden;
	position: relative;
}
@media screen and (max-width: 640px) {
    body {
        font-size: 1.0em;
    }
}
@media screen and (max-width: 320px) {
    body {
        font-size: 0.84em;
    }
}

.fserif {
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,serif;
}


#wrapper {
    flex: 1 1 auto;
}
.ovf {
    overflow: hidden;
}

.mgend {
	margin-bottom:8em;
}
.mgl {
	margin-bottom:6em;
}
.mgm {
	margin-bottom:4em;
}
.mgms {
	margin-bottom:3em;
}
.mgs {
	margin-bottom:2em;
}
.mgsm {
	margin-bottom:1.5em;
}
.mgss {
	margin-bottom:1em;
}
.mgsss {
	margin-bottom:0.5em;
}

@media screen and (min-width: 641px) {
    .sp {
		display:none !important;
	}
    .pccenter {
        text-align:center !important;
    }
}

#header {
	position: fixed;
	width: 100%;
	height: 110px;
    box-sizing: border-box;
    z-index: 3000;
}

#header .header_inner img.logo {
	float: left;
    height:100px;
	margin-top: 0%;
    transition:all 0.3s;
}

nav{display: block;}

/*------------------------------------------------------------
	ここからグローバルメニュー
------------------------------------------------------------*/
.header h1{text-align: right;font-size: 0.7em;font-weight: normal;padding: 0.2%;color: #ffffff;padding-right: 3%;margin-bottom: 0.6%;}

/* ========== Header ========== */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2% 0 0;}

/* ========== Logo ========== */
.logo a img{
  width: 200px;
  text-decoration: none;
  top: 0;
  left: 0;
  position: absolute;}

/* ========== Navigation (PC) ========== */
.global-nav {
  display: flex;
  align-items: center;
  gap: 24px;}
.global-nav__list {
  display: flex;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;}
.global-nav__list a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  white-space: nowrap;}
.global-nav__list a:hover {
  opacity: 0.7;}

/* ========== Contact Button ========== */
.contact-btn {
  padding: 0px 10px;
  color: #fff;
  text-decoration: none;
  width: 160px;}

/* ========== Hamburger ========== */
#toggle {
   display: none;}
#navi {
    display: none;
    justify-content: center;
    align-items:flex-start;
	position:fixed;
	text-align:center;
	z-index:3001;
	width:400px;
    height: 100vh;
	top:0;
	right:-100%;
    background-color: rgba(255,255,255,0.7);
	color:#ccc;
    overflow-y: auto;
    backdrop-filter: blur(10px);
    overscroll-behavior-y: contain;}
#navi nav {
    height: calc(100% + 1px);}
#navi .navibox {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 80px 30px;}
#navi ul {
    width: 100%;}
#navi li {
    position: relative;
	width:100%;
    box-sizing: border-box;
    border-bottom:1px solid #999;}
#navi li a {
	display:block;
	text-decoration:none;
    text-align: left;
	color:#333;
    font-size: 1em;
    font-weight: bold;
	padding-left: 2em;
	line-height:3.5em;
	transition: all 0.3s;}
#navi li a:hover {
	background-color: rgba(109,193,160,0.2);}
/* ========== Responsive (SP) ========== */
@media screen and (max-width: 1000px){
.hamburger {
    display: block;
	position: relative;
    z-index: 1100;}
.global-nav {
    display: none;}
#toggle {
   position:absolute;
    padding: 13px 9px;
    width:32px;
	height:24px;
	top:20px;
	right:3%;
	cursor:pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    transition: all 0.3s;
    z-index: 100000;
	background-color: #ffffff;}
#toggle span {
    background-color: #666;
    width: 100%;
    height: 4px;
    transition: all 0.3s;}
#toggle span:nth-of-type(1) {
    transform-origin: top left;}
#toggle span:nth-of-type(2) {
    transform-origin: center left;
    opacity: 1;}
#toggle span:nth-of-type(3) {
    transform-origin: bottom left;}
#toggle.close span:nth-of-type(1) {
    transform: rotate(32deg) scale(1.2, 1);}
#toggle.close span:nth-of-type(2) {
    opacity: 0;}
#toggle.close span:nth-of-type(3) {
    transform: rotate(-32deg) scale(1.2, 1);}

}

/*------------------------------------------------------------
	ここまでグローバルメニュー
------------------------------------------------------------*/
/* フレックスボックス */
.flexbox{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content:space-between;
  	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;}
.flexbox::after{content:"";width: 31%;display: block;}
.flexbox::before{content:"";width:31%;display: block; order: 1; /* アイテムの並び順 */}
.boxitem_02{width: 48%;
    height: auto;
    display: block;
    margin-bottom: 2%;}
.boxitem_03{width: 31%;
    height: auto;
    display: block;
    margin-bottom: 2%;}
.boxitem_03-02{width: 31%;
    height: auto;
    display: block;
    margin-bottom: 2%;}
.boxitem_04{width: 23%;
    height: auto;
    display: block;
    margin-bottom: 2%;}
.boxitem_02 img,.boxitem_03 img,.boxitem_03-02 img,.boxitem_04 img{width: 100%;}

.container{
    position: relative;
    box-sizing: border-box;
    width: 1200px;
    padding: 5em 100px;
	margin:0 auto;
	text-align:left;}
.container_t {
    position: relative;
    box-sizing: border-box;
    width: 1200px;
    padding: 0 100px 5em 100px;
	margin:0 auto;
	text-align:left;}
.container_nt {
    position: relative;
    box-sizing: border-box;
    width: 1200px;
    padding: 5em 100px 0em 100px;
	margin:0 auto;
	text-align:left;}
.container_f {
    position: relative;
    box-sizing: border-box;
    width: 1200px;
	margin:0 auto;
	text-align:left;}
.container_00 {
    position: relative;
    box-sizing: border-box;
    width: 1200px;
    padding: 0 100px 0 100px;
	margin:0 auto;
	text-align:left;}
.container_small {
    position: relative;
    box-sizing: border-box;
    width: 1200px;
    padding: 3em 100px 3em 100px;
	margin:0 auto;
	text-align:left;}

/*------------------------------------------------------------
	フッターメニュー
------------------------------------------------------------*/
#footer {
    padding: 5em 0;
    background-color: #1c2951;
    color: #ffffff;}
.footer_inner{
	position:relative;
	display: flex;
    box-sizing: border-box;
    width: 1200px;
	height: auto;
	padding: 0em 100px;
    margin:0 auto;
	text-align:left;	}
.ft_ad{width:22%;margin-right: 4%;}
.footer_inner .footer img {
	width: 100%;transition:all 0.3s;}
.footer_inner .footer h3{font-size: 1.2em;color: #ffffff;}
.ft-ad{margin-top: 2%;}
.ft_navi {
	padding: 0;
	text-align:left; 
	font-size: 1.0em;
	line-height: 1.6em;}
.foot_contact{position:relative;
	width:100%;margin-top: 50px;margin-right: 5%;}
.foot_contact img{margin-bottom: 3%;}
#fnavi {
	position:relative;
	display: flex;
	width:75%;
	top: 0px;
    left: 0%;}
#fnavi ul {
	width: 100%;
    position:relative;
    display: block;
    justify-content: flex-start;
    align-items: center;
	margin-bottom: 3%;}
#fnavi ul li{line-height: 40px;}
#fnavi ul li.pl1em{padding-left: 1em;}
#fnavi ul li a {
    font-size:1.04em;
	display:block;
    padding: 0 10px;
	transition:all 0.3s;
	color:#ffffff;}

#fnavi ul li:hover{background-color: #868685;}

.ft_black{background-color: #000000;padding: 2% 0;}	
.copyright {
	width: 1000px;
	margin: 0 auto;
    font-size:0.8em;
    line-height: 1.5;
	text-align: left;
	bottom:0%;left:0%;
	color:#ffffff;}

.pagetop {
	position:fixed;
	width:50px;
	height:50px;
	bottom:80px;
	right:-80px;
	z-index:10000;}
.pagetop img {width:50px;}

/* section_contact */
.section_contact{background-image: url("../img/sec_contact_back_pc.webp");
    background-repeat: no-repeat;
    background-position: top center; /*右下に表示 したものを左上に反転*/
    background-size: cover; /*高さにあわせる*/
    height: auto;
    width: 100%;
	position: relative;padding:1em 0;}
.sec_ttl_contact{font-size: 2em;text-align: center;}
/* 左右に横線 */
.heading {
  align-items: center; /* 横線を上下中央 */
  display: flex; /* 文字と横線を横並び */
  justify-content: center; /* 文字を中央寄せ */}
.heading::before,
.heading::after {
  background-color: #ffffff; /* 横線の色 */
  content: "";
  height: 2px; /* 横線の高さ */
  width: 200px; /* 横線の長さ */}
.heading::before {
  margin-right: 15px; /* 文字との余白 */}
.heading::after {
  margin-left: 15px; /* 文字との余白 */}
.foot_sitemap{display:none;}


.header_back {
    z-index: 10;
    background-color: rgba(12,37,80,0.8);
    height: 100px;
} 
#page_header {
    z-index: 20;
}
#topimg {
    z-index: 20;
} 
/*
===================================================
 tb タブレット解像度
===================================================
*/
@media screen and (max-width: 1000px) {
#header {
	position: fixed;
	width: 100%;
	height: 90px;
    box-sizing: border-box;
    z-index: 3000;
	padding: 1%;}
#header img {
	float: left;
  width: auto;
	height: 50px;
	margin-top: 0.8%;
    transition:all 0.3s;}

.container{
    position: relative;
    box-sizing: border-box;
    width: 100%;
	padding:2em 5%;
	margin:0 auto;
	text-align:left;}
.container_t {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    padding: 0 5% 5em 5%;
	margin:0 auto;
	text-align:left;}
.container_nt {
    position: relative;
    box-sizing: border-box;
   width: 100%;
	padding:2em 5% 0em;
	margin:0 auto;
	text-align:left;}
.container_f {
    position: relative;
    box-sizing: border-box;
    width: 100%;
	margin:0 auto;
	text-align:left;}
.container_00 {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    padding: 0 5%;
	margin:0 auto;
	text-align:left;}
.container_small {
    position: relative;
    box-sizing: border-box;
    width: 100%;
	padding:1.2em 5%;
	margin:0 auto;
	text-align:left;}
.footer_inner{
	position:relative;
    box-sizing: border-box;
    width: 100%;
	height: auto;
    margin:0 auto;
	text-align:left;}
.footer_inner .footer img {
	float:none;
  width: 200px;
	margin-top: 0.4%;
    transition:all 0.3s;
	margin-bottom: 5%;}
.copyright {
	width: 96%;
	margin: 0 auto;
    font-size:0.8em;
    line-height: 1.5;
	text-align: left;
	bottom:0%;left:0%;
	color:#ffffff;}
}

/*
===================================================
 sp スマホ解像度
===================================================
*/
@media screen and (max-width: 640px) {
/*------------------------------------------------------------
	スマホバーガーメニュー
------------------------------------------------------------*/
#toggle {top:40px;}
#gnavi {display: none;}
.header{position: fixed;background-color: #000000;width: 100%;height: 30px;padding-top: 0.4%;box-sizing: border-box;}
.header h1{text-align: left;font-size: 0.7em;font-weight: normal;padding: 0% 0 0 1%;color: #ffffff;padding-right: 0%;margin-bottom: 0%;line-height: 1.14em;}
/* ========== Logo ========== */
.logo a img{
  width: 140px;
  text-decoration: none;
	top: 30px;
  left: 0;
  position: absolute;
}

.container {
    width: 100%;
	padding:2em 5%;
}

.container_nt {
    width: 100%;
	padding:2em 5% 0em;
}
.container_f {
    width: 100%;
}
.container_00 {
    width: 100%;
    padding: 0 5%;
}
.container_small {
    width: 100%;
	padding:2em 5%;
}
.mt5per{margin-top: 2%;}
	
	
.pc {
		display:none !important;
	}
    .spcenter {
        text-align:center !important;
    }
    .spleft {
        text-align:left !important;
    }
    .mgend {
    margin-bottom:5em;
}
	.mgs {
	margin-bottom:1em;
}
	.mgms {
	margin-bottom:2em;
}
	.mgm {
	margin-bottom:3em;
}
.boxitem_02{width: 100%;margin-bottom: 3%;}
.boxitem_03{width: 100%; margin-bottom: 3%;}
.boxitem_03-02{width: 48%;margin-bottom: 3%;}
/*------------------------------------------------------------
	フッターメニュー
------------------------------------------------------------*/
#footer {padding: 3em 0 2em;background-size: 70%;}
.ft_ad,.footer_inner{width: 94%; display: block;padding: 0em 3%;}
.foot_contact{display: none;}
.footer_inner .footer{padding: 0%;width: 100%;}
.footer_inner .footer img {float:none;width: 100%;margin-top: 0.4%;transition:all 0.3s;margin-bottom: 0%;
}
.ft_navi {
    width: 100%;
    border-left-width: 0;
	margin-top: 2em;
    padding: 0em 0 2em;
	font-size: 1.14em;
	text-align: left;
}
.footer_h3{margin-top: 0%;}
.pagetop {display: none;}
	

/* section_contact */
.section_contact{background-image: url("../img/sec_contact_back_sp.webp");
    background-repeat: no-repeat;
    background-position: top center; /*右下に表示 したものを左上に反転*/
    background-size: cover; /*高さにあわせる*/
    height: auto;
    width: 100%;
	position: relative;padding:0em 0 3em;}
.contact_left{margin-bottom: 1em;}
	
.ft_black{padding-bottom: 80px;}
.sp_footmenu_02{position: fixed;bottom:0;}
	
#fnavi {display: none;}	
/* サイトマップボタン */
.foot_sitemap{display: block;}
.foot_sitemap {
  width: auto;
  margin: 30px auto;
}
.foot_sitemap input {
  display: none;
}
/*続きを読むボタン*/
.foot_sitemap label {
  font-weight: bold;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 90%;
  margin: auto;
  padding: 1em 1em;
  cursor: pointer;
  transition: all 0.3s;
  text-align: center;
  color: #ffffff;
  background-color: #0c68ac;
	border: solid 1px #ffffff;
		font-size:1.14em;
}
/*＋マーク*/
.foot_sitemap label::after {
  position: absolute;
  content: '';
  right: 16px;
  width: 16px;
  height: 16px;
  background: #ffffff;
  clip-path: polygon(0 40%, 40% 40%, 40% 0, 60% 0, 60% 40%, 100% 40%, 100% 60%, 60% 60%, 60% 100%, 40% 100%, 40% 60%, 0 60%);
}
.foot_sitemap label:hover::after {
  color: #ffffff;
}
/*hover*/
.foot_sitemap label:hover {
  transition: all 0.3s;
  color: #ffffff;
  background: rgba(35, 24, 21 ,0.7);
}
.foot_sitemap label:hover::after {
  background: #ffffff;
}
/*-マーク*/
.foot_sitemap input:checked ~ label::after {
  background: #ffffff;
  clip-path: polygon(0 40%, 100% 40%, 100% 60%, 0 60%);
}
/*hover*/
.foot_sitemap input:checked ~ label:hover::after {
  background: #ffffff;
}
.foot_sitemap div.cp_container2 {
  position: relative;
  z-index: 10;
  overflow: hidden;
  height: 0;
  margin-top: 8px;
}
.foot_sitemap input:checked ~ div.cp_container2 {
  transition: height 0.5s ease-in-out;
}
/* 高さを設定 */
.foot_sitemap input:checked ~ div.cp_container2 {
  height: auto;
}
#sp_fnavi {
	position:relative;
	display: block;
	width:90%;
	top: 20px;
    left: 0%;
	margin-bottom: 20px;
}
#sp_fnavi ul {
	width: 100%;
    position:relative;
    display: block;
    justify-content: flex-start;
    align-items: center;
	margin-bottom: 0%;
}
#sp_fnavi ul li{line-height: 30px;}

#sp_fnavi ul li a {
    font-size:16px;
	display:block;
    padding: 0 10px;
	transition:all 0.3s;
	color:#ffffff;
}
}
