@charset "utf-8";

*,
::before,
::after {
  padding: 0;
  margin: 0;
 box-sizing: border-box;
}

ul,
ol {
	list-style: none;
}

a {
	color: inherit;
	text-decoration: none;
}


body {
	font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","メイリオ", Meiryo, "游ゴシック", YuGothic, sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: #444;
	line-height: 1.6;
	letter-spacing: 0.08em;
	background-color: #ffffff;
	margin: 0 auto 0 auto;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-wrap: break-word;
	position: relative;
}

img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: middle;
	-ms-interpolation-mode: bicubic;
}
	.dsp-s {
		display: none !important;
	}
	.dspb-s {
		display: none !important;
	}
	.dsp-w {
		display: inline !important;
	}
	.dspb-w {
		display: block !important;
	}

/*#header {
	position: relative;
	margin: 0 auto;
	height: 78px;
	max-width: 1200px;
	text-align: center;
	background-color: #FFF;
	z-index: 100;
}*/
#header {
	position: fixed;
	height: 78px;
	min-width: 768px;
	background-color: rgba(255,255,255,0.95);
	z-index: 99; 
	top: 0;
	left: 0;
	width: 100%;
}
#header .header-inner {
	margin: 12px auto 0;
	padding: 0 15px;
}
#header .clearfix .header-inner ul {
	font-size: 0;
}
#header .clearfix .header-inner ul li {
	float: left;
	width: 20%;
	padding: 34px 0 20px;
	background-color: #fff;
	height: 28px;
}
#header li {
	text-align: left;
	padding: 0 12px;
}
#header li p {
	font-size: 18px;
	line-height: 60px;
	font-weight: 700;
	text-align: center;
}
#header-logo {
	height: 60px;
	margin: auto 0;
	/*padding: 20px 0 0;*/
	text-align: left;
}
#header-logo img {
	height: 50px;
	width: auto;
}
#header-nav {
	font-weight: 700;
	list-style: none;
	position: absolute;
	right: 20px;
	top: 30px;
}
#header .contact a{
	color: #FFF;
}
#header-nav li {
	font-size: 16px;
	float: left;
}


/*ハンバーガーメニュー*/
.menu-btn {
	position: fixed;
	top: 0px;
	right: 0px;
	display: flex;
	height: 56px;
	width: 56px;
	justify-content: center;
	align-items: center;
	z-index: 90;
	background-color: #39ABF1;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
	content: '';
	display: block;
	height: 3px;
	width: 25px;
	border-radius: 3px;
	background-color: #ffffff;
	position: absolute;
}
.menu-btn span:before {
	bottom: 8px;
}
.menu-btn span:after {
	top: 8px;
}
#menu-btn-check:checked ~ .menu-btn span {
	background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
	bottom: 0;
	transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
	top: 0;
	transform: rotate(-45deg);
}
#menu-btn-check {
	display: none;
}
.menu-content {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 100%;/*leftの値を変更してメニューを画面外へ*/
	z-index: 80;
	background-color: #fff;
	transition: all 0.5s;/*アニメーション設定*/
	opacity: 0.95;
}
.menu-content ul {
	padding: 80px 20px;
}
.menu-content ul li {
	border-bottom: solid 1px #4f9eed;
	list-style: none;
}
.menu-content ul li:last-child {
	border: none;
}

#menu-btn-check:checked ~ .menu-content {
	left: 0;/*メニューを画面内へ*/
}
/*ハンバーガーメニューここまで*/


.burger {
	display: none;
	cursor: pointer;
}

.burger div {
	width: 25px;
	height: 3px;
	background-color: #000000;
	margin: 5px;
	transition: 0.5s ease;
}

.header-logo,
.saporter-btn-area {
	align-items: center;
}


.main {
	overflow: hidden;
	position: relative;
	width: 100%;
	padding-top: 78px;
}

.container {
	margin: auto;
	position: relative;
	max-width: 1200px;
	width: 100%;
	margin-bottom: 60px;
}

.footer {
	background-color: #eee;
	/*padding-top: 10px;*/
	padding-top: 0;
	padding-bottom: 40px;
	margin-top: 50px;
	display: block;
	text-align: center;
	align-items: center;
}

#footer-sns1 {
	background:#39ABF1;
	padding:25px 0 20px;
	position:relative;
	text-align:center;
	color: #fff;
	width:100%
}
#footer-sns1 .copy1 {
	display:inline-block;
	font-size:15px;
	line-height:1.2;
	margin:0;
	vertical-align:middle;
}
#footer-sns1 .sns1 {
	display:inline;
	margin:0 0 0 20px;
	vertical-align:middle
}
#footer-sns1 .sns1 li {
	display:inline-block;
	vertical-align:middle
}
#footer-sns1 .sns1 li+li {
	margin-left:28px
}
#footer-sns1 .sns1 li img {
	display:block;
	height:24px;
	width:24px
}
.fotter-site-menu {
	margin: 30px auto 10px;
}
.fotter-site-menu li {
	display: inline;
	padding: 20px;
	top: 5vw;
	font-size: 17px;
	font-weight: 700;
}

.footer .com-inner1 {
	display: flex;
	margin: 30px auto 20px;
	max-width: 960px;
	width: 100%;
	justify-content: space-between;
}
.footer .com-inner1 .col1 {
	text-align: right;
	width: 30%;
}
.footer .com-inner1 .col1 img {
	width: 220px;
}
.footer .com-inner1 .col2 {
	margin: auto 0;
	text-align: left;
	width: 65%;
}
.footer .com-inner1 .col2 p {
	font-size: 17px;
	line-height: 1.8;
}
.copyright {
	margin-top:10px;
}
.fancybox__thumbs {
	display: none;
}
.josefin {
	font-family: 'Josefin Sans', sans-serif !important;
}

.txt-l {
	text-align: left !important;
}  
.txt-r {
	text-align: right !important;
}  
.txt-c {
	text-align: center !important;
}  
	
.fw-r {
	font-weight: 400 !important;
}
.fw-m {
	font-weight: 500 !important;
}
.fw-b {
	font-weight: 700 !important;
}

.fs10 {
	font-size: 10px !important;
}
.fs11 {
	font-size: 11px !important;
}
.fs12 {
	font-size: 12px !important;
}
.fs13 {
	font-size: 13px !important;
}
.fs14 {
	font-size: 14px !important;
}
.fs15 {
	font-size: 15px !important;
}
.fs16 {
	font-size: 16px !important;
}
.fs17 {
	font-size: 17px !important;
}
.fs18 {
	font-size: 18px !important;
}
.fs19 {
	font-size: 19px !important;
}
.fs20 {
	font-size: 20px !important;
}
.fs21 {
	font-size: 21px !important;
}
.fs22 {
	font-size: 22px !important;
}
.fs23 {
	font-size: 23px !important;
}
.fs24 {
	font-size: 24px !important;
}
.fs25 {
	font-size: 25px !important;
}
.fs26 {
	font-size: 26px !important;
}
.fs27 {
	font-size: 27px !important;
}
.fs28 {
	font-size: 28px !important;
}
.fs29 {
	font-size: 29px !important;
}
.fs30 {
	font-size: 30px !important;
}

.lh15 {
	line-height: 1.5 !important;
}
.lh16 {
	line-height: 1.6 !important;
}
.lh17 {
	line-height: 1.7 !important;
}
.lh20 {
	line-height: 2 !important;
}



.mgb0 {
	margin-bottom: 0px !important;
}
.mgb5 {
	margin-bottom: 5px !important;
}
.mgb10 {
	margin-bottom: 10px !important;
}
.mgb15 {
	margin-bottom: 15px !important;
}
.mgb20 {
	margin-bottom: 20px !important;
}
.mgb25 {
	margin-bottom: 25px !important;
}
.mgb30 {
	margin-bottom: 30px !important;
}
.mgb35 {
	margin-bottom: 35px !important;
}
.mgb40 {
	margin-bottom: 40px !important;
}
.mgb45 {
	margin-bottom: 45px !important;
}
.mgb50 {
	margin-bottom: 50px !important;
}
.mgb55 {
	margin-bottom: 55px !important;
}
.mgb60 {
	margin-bottom: 60px !important;
}
.mgb65 {
	margin-bottom: 65px !important;
}
.mgb70 {
	margin-bottom: 70px !important;
}
.mgb75 {
	margin-bottom: 75px !important;
}
.mgb80 {
	margin-bottom: 80px !important;
}
.mgb85 {
	margin-bottom: 85px !important;
}
.mgb90 {
	margin-bottom: 90px !important;
}
.mgb95 {
	margin-bottom: 95px !important;
}
.mgb100 {
	margin-bottom: 100px !important;
}
.mgb110 {
	margin-bottom: 110px !important;
}
.mgb120 {
	margin-bottom: 120px !important;
}
.mgb130 {
	margin-bottom: 130px !important;
}
.mgb140 {
	margin-bottom: 140px !important;
}
.mgb150 {
	margin-bottom: 150px !important;
}
.mgb160 {
	margin-bottom: 160px !important;
}
.mgb170 {
	margin-bottom: 170px !important;
}
.mgb180 {
	margin-bottom: 180px !important;
}
.mgb190 {
	margin-bottom: 190px !important;
}
.mgb200 {
	margin-bottom: 200px !important;
}



.mgt0 {
	margin-top: 0px !important;
}
.mgt5 {
	margin-top: 5px !important;
}
.mgt10 {
	margin-top: 10px !important;
}
.mgt15 {
	margin-top: 15px !important;
}
.mgt20 {
	margin-top: 20px !important;
}
.mgt25 {
	margin-top: 25px !important;
}
.mgt30 {
	margin-top: 30px !important;
}
.mgt35 {
	margin-top: 35px !important;
}
.mgt40 {
	margin-top: 40px !important;
}
.mgt45 {
	margin-top: 45px !important;
}
.mgt50 {
	margin-top: 50px !important;
}
.mgt55 {
	margin-top: 55px !important;
}
.mgt60 {
	margin-top: 60px !important;
}
.mgt65 {
	margin-top: 65px !important;
}
.mgt70 {
	margin-top: 70px !important;
}
.mgt75 {
	margin-top: 75px !important;
}
.mgt80 {
	margin-top: 80px !important;
}
.mgt85 {
	margin-top: 85px !important;
}
.mgt90 {
	margin-top: 90px !important;
}
.mgt95 {
	margin-top: 95px !important;
}
.mgt100 {
	margin-top: 100px !important;
}
.mgt110 {
	margin-top: 110px !important;
}
.mgt120 {
	margin-top: 120px !important;
}
.mgt130 {
	margin-top: 130px !important;
}
.mgt140 {
	margin-top: 140px !important;
}
.mgt150 {
	margin-top: 150px !important;
}
.mgt160 {
	margin-top: 160px !important;
}
.mgt170 {
	margin-top: 170px !important;
}
.mgt180 {
	margin-top: 180px !important;
}
.mgt190 {
	margin-top: 190px !important;
}
.mgt200 {
	margin-top: 200px !important;
}
.mgt210 {
	margin-top: 210px !important;
}



.mgt-10 {
	margin-top: -10px !important;
}
.mgt-15 {
	margin-top: -15px !important;
}
.mgt-25 {
	margin-top: -25px !important;
}
.mgt-40 {
	margin-top: -40px !important;
}
.mgt-50 {
	margin-top: -50px !important;
}

/* 20251023追加ここから */

.com-cnt2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

/* 20251023追加ここまで */



@media screen and (max-width: 1199px) {
	.container {
		padding: 0 15px;
	}
}

@media screen and (max-width: 767px) {
	/* 480px以下に適用されるCSS（スマホ用） */
	
	body{
		overflow-x: hidden;/* 追記 */
		position: relative;
	}
	
	.main {
		padding-top: 56px;
	}
	.container {
		/*padding: 0 15px;*/
		max-width: none;
		width: 100%;
		margin-bottom: 0;
	}
	
	.dsp-w {
		display: none !important;
	}
	.dspb-w {
		display: none !important;
	}
	.dsp-s {
		display: inline !important;
	}
	.dspb-s {
		display: block !important;
	}
	
	
	#header {
		padding: 0 12px;
		height: 56px;
	}
	#header .header-inner {
		position: fixed;
		margin: 0;
		padding: 0;
	}
	#header-nav {
		display:none;
	}
	#header-logo a {
		height: 40px;
		margin: 0;
		padding: 10px 0 0;
	}
	#header-logo img {
		height: 38px;
	}
	.bitosapo-link {
		display: none;
	}
	img {
		max-width: 100%;
		height: auto;	
	}
	
	.footer {
		padding-bottom: 20px;
	}
	#footer-sns1 {
		padding:15px 0 15px;
	}
	#footer-sns1 .copy1 {
		display: block;
		font-size: 12px;
		text-align: center;
	}
	#footer-sns1 .sns1 {
		display: block;
		margin: 10px 0 0;
	}
	.fotter-site-menu {
		display: none;
	}
	
	.footer .com-inner1 {
		display: block;
		margin: 20px auto 10px;
		padding: 0 15px;
	}
	.footer .com-inner1 .col1 {
		text-align: center;
		width: 100%;
	}
	.footer .com-inner1 .col1 img {
		width: 160px;
	}
	.footer .com-inner1 .col2 {
		margin: 10px auto 0;
		width: 100%;
		text-align: center;
	}
	.footer .com-inner1 .col2 p {
		font-size: 14px;
		line-height: 1.6;
	}
	.footer-logo {
		margin-top: 20px;
	}
	
	.fs10s {
		font-size: 10px !important;
	}
	.fs11s {
		font-size: 11px !important;
	}
	.fs12s {
		font-size: 12px !important;
	}
	.fs13s {
		font-size: 13px !important;
	}
	.fs14s {
		font-size: 14px !important;
	}
	.fs15s {
		font-size: 15px !important;
	}
	.fs16s {
		font-size: 16px !important;
	}
	.fs17s {
		font-size: 17px !important;
	}
	.fs18s {
		font-size: 18px !important;
	}
	.fs19s {
		font-size: 19px !important;
	}
	.fs20s {
		font-size: 20px !important;
	}
	.fs21s {
		font-size: 21px !important;
	}
	.fs22s {
		font-size: 22px !important;
	}
	.fs23s {
		font-size: 23px !important;
	}
	.fs24s {
		font-size: 24px !important;
	}
	.fs25s {
		font-size: 25px !important;
	}
	.fs26s {
		font-size: 26px !important;
	}
	.fs27s {
		font-size: 27px !important;
	}
	.fs28s {
		font-size: 28px !important;
	}
	.fs29s {
		font-size: 29px !important;
	}
	.fs30s {
		font-size: 30px !important;
	}

	.lh15s {
		line-height: 1.5 !important;
	}
	.lh16s {
		line-height: 1.6 !important;
	}
	.lh17s {
		line-height: 1.7 !important;
	}
	.lh20s {
		line-height: 2 !important;
	}

	.mgb0s {
		margin-bottom: 0px !important;
	}
	.mgb5s {
		margin-bottom: 5px !important;
	}
	.mgb10s {
		margin-bottom: 10px !important;
	}
	.mgb15s {
		margin-bottom: 15px !important;
	}
	.mgb20s {
		margin-bottom: 20px !important;
	}
	.mgb25s {
		margin-bottom: 25px !important;
	}
	.mgb30s {
		margin-bottom: 30px !important;
	}
	.mgb35s {
		margin-bottom: 35px !important;
	}
	.mgb40s {
		margin-bottom: 40px !important;
	}
	.mgb45s {
		margin-bottom: 45px !important;
	}
	.mgb50s {
		margin-bottom: 50px !important;
	}
	.mgb55s {
		margin-bottom: 55px !important;
	}
	.mgb60s {
		margin-bottom: 60px !important;
	}
	.mgb65s {
		margin-bottom: 65px !important;
	}
	.mgb70s {
		margin-bottom: 70px !important;
	}
	.mgb75s {
		margin-bottom: 75px !important;
	}
	.mgb80s {
		margin-bottom: 80px !important;
	}
	.mgb85s {
		margin-bottom: 85px !important;
	}
	.mgb90s {
		margin-bottom: 90px !important;
	}
	.mgb95s {
		margin-bottom: 95px !important;
	}
	.mgb100s {
		margin-bottom: 100px !important;
	}
	.mgb110s {
		margin-bottom: 110px !important;
	}
	.mgb120s {
		margin-bottom: 120px !important;
	}
	.mgb130s {
		margin-bottom: 130px !important;
	}
	.mgb140s {
		margin-bottom: 140px !important;
	}
	.mgb150s {
		margin-bottom: 150px !important;
	}
	.mgb160s {
		margin-bottom: 160px !important;
	}
	.mgb170s {
		margin-bottom: 170px !important;
	}
	.mgb180s {
		margin-bottom: 180px !important;
	}
	.mgb190s {
		margin-bottom: 190px !important;
	}
	.mgb200s {
		margin-bottom: 200px !important;
	}

	.mgt0s {
		margin-top: 0px !important;
	}
	.mgt5s {
		margin-top: 5px !important;
	}
	.mgt10s {
		margin-top: 10px !important;
	}
	.mgt15s {
		margin-top: 15px !important;
	}
	.mgt20s {
		margin-top: 20px !important;
	}
	.mgt25s {
		margin-top: 25px !important;
	}
	.mgt30s {
		margin-top: 30px !important;
	}
	.mgt35s {
		margin-top: 35px !important;
	}
	.mgt40s {
		margin-top: 40px !important;
	}
	.mgt45s {
		margin-top: 45px !important;
	}
	.mgt50s {
		margin-top: 50px !important;
	}
	.mgt55s {
		margin-top: 55px !important;
	}
	.mgt60s {
		margin-top: 60px !important;
	}
	.mgt65s {
		margin-top: 65px !important;
	}
	.mgt70s {
		margin-top: 70px !important;
	}
	.mgt75s {
		margin-top: 75px !important;
	}
	.mgt80s {
		margin-top: 80px !important;
	}
	.mgt85s {
		margin-top: 85px !important;
	}
	.mgt90s {
		margin-top: 90px !important;
	}
	.mgt95s {
		margin-top: 95px !important;
	}
	.mgt100s {
		margin-top: 100px !important;
	}
	.mgt110s {
		margin-top: 110px !important;
	}
	.mgt120s {
		margin-top: 120px !important;
	}
	.mgt130s {
		margin-top: 130px !important;
	}
	.mgt140s {
		margin-top: 140px !important;
	}
	.mgt150s {
		margin-top: 150px !important;
	}
	.mgt160s {
		margin-top: 160px !important;
	}
	.mgt170s {
		margin-top: 170px !important;
	}
	.mgt180s {
		margin-top: 180px !important;
	}
	.mgt190s {
		margin-top: 190px !important;
	}
	.mgt200s {
		margin-top: 200px !important;
	}
	.mgt210s {
		margin-top: 210px !important;
	}



	.mgt-10s {
		margin-top: -10px !important;
	}
	.mgt-15s {
		margin-top: -15px !important;
	}
	.mgt-25s {
		margin-top: -25px !important;
	}
	.mgt-40s {
		margin-top: -40px !important;
	}
	
}
 
@media screen and (min-width:767px) {
	.hamburger-menu {
		display:none;
	}
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
   
 }