@charset "UTF-8";

/* CSS Document */

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {	margin: 0;	padding: 0;	border: 0;	font-size: 100%;	font: inherit;	vertical-align: baseline;	box-sizing:border-box;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {	display: block;}
body {	line-height: 1;}
ol, ul {	list-style: none;}
blockquote, q {	quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {	content: '';	content: none;}
table {border-collapse: collapse; border-spacing: 0;}
img{vertical-align: bottom;max-width: 100%;height: auto;}


@media screen and (min-width: 768px), print {
/*base*/
body {
	color: #1C1C1C;
	margin-inline: auto;
	width: min(100%, 1920px);
}


/* header
-------------------------------------*/
header {
  position: relative;
  z-index: 10;
}

header .l-header__logo {
	padding: 40px;
}

/* footer
-------------------------------------*/
footer {
	background: #fff;
	border-bottom: 10px solid #018275;
}

footer .l-inner.l-footer {
	margin-inline: auto;
	padding-block: 96px 78px;
	width: min(95%, 1400px);
}

footer .l-footer__contents {
	align-items: flex-end;
	display: flex;
	justify-content: space-between;
	margin-bottom: 53px;
}

footer .l-footer__contents-left .logo {
	margin-bottom: 38px;
}

footer .l-footer__contents-left .logo img {
  width: 300px;
  height: auto;
}

footer .l-footer__contents-left .txt {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.5;
	margin-bottom: 10px;
}

footer .l-footer__contents-left .txt02 {
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
}

footer .l-footer__contents-right {
	display: flex;
	gap: 0 60px;
}

footer .l-footer__contents-right .link {
	display: grid;
	gap: 9px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	text-align: right;
}

footer .l-footer__contents-right .link a {
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.4545454545;
	text-decoration: underline;
}

footer .l-footer__txt {
	color: #717171;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 1.8333333333;
	margin-bottom: 30px;
}

footer .copy-frame {
	text-align: right;
}

footer .copyright {
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.5454545455;
}

/*pc・タブレットcss*/
/*pc_defaultset*/
.pc { display: block !important; }
/*pcのみ表示ブロック*/
.pc2 { display: inline-block !important; }
/*pcのみ表示ブロック*/
.sp, .sp2 { display: none !important; }
/*スマホのみ表示ブロック*/
.h_menu { display: none; }
/*スマホ用ヘッダ*/
.sp-header { display: none; }
/*スマホ用メニュー*/
#sp-global-nav { display: none; }
/*スマホ用メニュー*/
.sp-fix-list { display: none; }
/* Antialiasing ※任意　*/
     
html { -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: none; overflow-x: hidden; }
 
/* WEB FONTs 游ゴシックかすれ予防*/
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 100; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 200; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 300; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 400; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Bold"); font-weight: bold; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 100; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 200; }
.f-min { font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }
.f-min-02 { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3","Sawarabi Mincho","Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
.f-gothic { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック","Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  Verdana, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
.f-gothic-02{ font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-style: normal;}
.f-gothic-zen {
  font-family: "Zen Kaku Gothic New", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

body { -webkit-text-size-adjust: 100%; }
img { vertical-align: bottom; }
a { text-decoration: none; color: #090909; }
a:hover { text-decoration: underline; }
.nobd a:hover { text-decoration: none !important; }

   
/* リンク透明 */
a img:hover { -ms-filter: "alpha( opacity=80 )"; filter: alpha(opacity=80); opacity: 0.8; }
/* リンク透明にしない */
.noop a img:hover { -ms-filter: "alpha( opacity=100 )"; filter: alpha(opacity=100); opacity: 1.0; }
/*---------------------------------------- 　　外部サービス ----------------------------------------*/
/* ggmap */
/* <div class="ggmap">iframeのコピーしたコード</div> */
.ggmap { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; }
.ggmap iframe, .ggmap object, .ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/* <div class="youtube"><iframe  src="youtubeのURL?rel=0" frameborder="0" allowfullscreen></iframe></div> */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }
/*---------------------------------------- 　　webフォント（サーバー置き）　 ----------------------------------------*/
@font-face { font-family: 'jp-sttl01';
src: url("../font/.eot");
/* IE9以上用 */
src: url("../font/bokutachi.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.woff") format("woff");
/* iOS, Android用 */
/* 念の為指定しておきます */
font-weight: normal;
/* 念の為指定しておきます */
font-style: normal; vertical-align: top; margin: 0px; padding: 0px; }
.myWebFontClass { font-family: 'jp-sttl01'; }
}


@media screen and (max-width: 1200px) {
html { overflow: auto; }
body { overflow: visible; }
}


@media screen and (max-width: 767px) {
html{ font-size:62.5%;}
body {background-color: #fff;overflow: hidden;font-size: 3.6vw;font-family: sans-serif;-webkit-text-size-adjust: 100%;line-height: 1.6;color: #404040;}
.pc, .pc2 {display: none !important;}
/*pcのみ表示ブロック*/
.sp { display: block !important; }
/*スマホのみ表示ブロック*/
.sp2 { display: inline-block !important; }
/*スマホのみ表示ブロック*/
.no-br { display: none; }
/*スマホでbrを解除したい場合に使用*/
.sp_display_block { display: block !important; }
/*スマホでflexboxを解除したい場合等に使用*/
.pc-menu{ display: none; }
.side-fix{ display: none; }
.fix-list{ display: none; }
#pc-menu-open{ display: none; }


/* header
-------------------------------------*/
header {
  position: relative;
  z-index: 10;
}

header .l-header__logo {
	padding: 3.382vw 2.415vw;
}

header .l-header__logo img {
	height: auto;
	width: 28.986vw;
}


/* footer
-------------------------------------*/
footer {
	background: #fff;
	border-bottom: 4px solid #018275;
}

footer .l-inner.l-footer {
	margin-inline: auto;
	padding-block: 0px 13.459vw;
	width: min(95%, 89.3vw);
}

footer .l-footer__contents {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 8.386vw;
}

footer .l-footer__contents-left {
	order: 2;
}

footer .l-footer__contents-left .logo {
	margin-bottom: 7.454vw;
}

footer .l-footer__contents-left .logo img {
	width: 45vw;
  height: auto;
}

footer .l-footer__contents-left .txt {
	font-size: 3.865vw;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.5;
	margin-bottom: 3.106vw;
}

footer .l-footer__contents-left .txt02 {
	font-size: 2.899vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
	margin-bottom: 7vw;
}

footer .l-footer__contents-right {
	display: grid;
	display: contents;
	gap: 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

footer .l-footer__contents-right .link {
	align-items: center;
	display: flex;
	gap: 0 7.246vw;
	order: 3;
	text-align: left;
}

footer .l-footer__contents-right .link a {
	font-size: 3.865vw;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 2;
	text-decoration: underline;
}

footer .l-footer__contents-right .btn {
	order: 1;
	position: relative;
	text-align: right;
	top: -7.246vw;
}

footer .l-footer__contents-right .btn img {
	height: auto;
	width: 14.493vw;
}

footer .l-footer__txt {
	color: #717171;
	font-size: 2.899vw;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 2;
	margin-bottom: 11.705vw;
}

footer .copy-frame {
	text-align: left;
}

footer .copyright {
	font-size: 2.657vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.5454545455;
}



.fit img { object-fit: cover; }
.wysiwyg img { width: auto !important; height: auto !important; }
html { -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: none; overflow-x: hidden; }
/* WEB FONTs 游ゴシックかすれ予防*/
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 100; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 200; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 300; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 400; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Bold"); font-weight: bold; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 100; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 200; }
.f-min { font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }
.f-min-02 { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3","Sawarabi Mincho","Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
.f-gothic { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック","Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  Verdana, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
.f-gothic-02{ font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-style: normal;}
.f-gothic-zen {
  font-family: "Zen Kaku Gothic New", serif;
  font-optical-sizing: auto;
  font-style: normal;
}
*:focus { outline: none!important;}
a { -webkit-tap-highlight-color:rgba(0,0,0,0); cursor:pointer;}

body { -webkit-text-size-adjust: 100%; }
img {vertical-align: bottom;max-width: 100%;height: auto;}
a { text-decoration: none; color: #090909; }
a:hover { text-decoration: underline; }
.nobd a:hover { text-decoration: none !important; }
.clearfix { zoom: 1; }
.clearfix:after { display: block; clear: both; height: 0; visibility: hidden; line-height: 0; content: "."; }


/* img-block */
/* アンカーリンク調整 */
.hideAnchor { display: block; height: 0; overflow: hidden; text-indent: -9999px; margin-top: -2vw; padding-bottom: 2vw; }
/* スクロール縦 */
.scroll-y { box-sizing: border-box; overflow-y: scroll; transform: translateZ(0); }
/* リンク透明 */
a img:hover { -ms-filter: "alpha( opacity=80 )"; filter: alpha(opacity=80); opacity: 0.8; }
/* リンク透明にしない */
.noop a img:hover { -ms-filter: "alpha( opacity=100 )"; filter: alpha(opacity=100); opacity: 1.0; }
/*---------------------------------------- 　　外部サービス ----------------------------------------*/
/* ggmap */
/* <div class="ggmap">iframeのコピーしたコード</div> */
.sp-ggmap { position: relative; padding-bottom: 56.25%; padding-top: 5vw; height: 0; overflow: hidden; }
.sp-ggmap iframe, .sp-ggmap object, .sp-ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/* <div class="youtube"><iframe  src="youtubeのURL?rel=0" frameborder="0" allowfullscreen></iframe></div> */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

/*---------------------------------------- 　　webフォント（サーバー置き）　 ----------------------------------------*/
@font-face { font-family: 'jp-sttl01';
/* お好きな名前にしましょう */
src: url("../font/.eot");
/* IE9以上用 */
src: url("../font/bokutachi.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.woff") format("woff");
/* iOS, Android用 */
/* 念の為指定しておきます */
font-weight: normal;
/* 念の為指定しておきます */
font-style: normal; vertical-align: top; margin: 0px; padding: 0px; }
.myWebFontClass { font-family: 'jp-sttl01'; }
}
@media screen and (max-height: 450px) {
   /* 高さ450px以下の場合 andoroidのフォーム対策 ストーカーバナー用　*/
	.sp-fix-list{display: none;}
}
