@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; */
}

/* アニメーション
-------------------------------------*/
/* ScrollTrigger マーカーを強制的に非表示にする */
.gsap-marker-scroller-end,
.gsap-marker-start,
.gsap-marker-end,
.gsap-marker-scroller-start {
  display: none !important;
}

/*fadein*/
.animated__fadeIn {
  opacity: 0;
  translate: 0 40px;
  transition: opacity 0.8s ease, translate 0.8s ease;
}

.animated__fadeIn.js-show {
  opacity: 1;
  translate: 0 0;
}

body {
	color: #1C1C1C;
	margin-inline: auto;
	width: min(100%, 1920px);
}

@keyframes rotation {

    0% {
        transform: rotate(0deg);
    }
    
    100% {
        transform: rotate(360deg);
    }
    
}
    
@keyframes scroll-left {

    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }

}

/* ========================================
  @media screen and (min-width: 768px),print 
======================================== */
@media screen and (min-width: 768px), print {
/* base
-------------------------------------*/
body {
  font-size: 16px;
  overflow-x: hidden;
  line-height: 1.6;
  letter-spacing: 0.8px;
}

/*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 ※任意　*/

/* header
-------------------------------------*/
header {
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}

.l-header {
	margin-bottom: -46px;
}

.l-header .l-header__inner {
	/* align-items: center; */
	display: flex;
	justify-content: space-between;
	padding-inline: 0 50px;
}

.l-header .l-header__logo a {
	display: block;
	padding: 23px 33px;
}

.l-header .l-header__nav-list {
	align-items: center;
	display: flex;
	gap: 0px 23px;
	padding-block: 8px 0;
}

.l-header .l-header__nav-item:nth-child(1) {
	/* align-items: center; */
	display: flex;
	gap: 0px 6px;
}

/*
.l-header .l-header__nav-item:nth-child(2) a {
	display: block;
	padding: 18px;
}
  */

.l-header .l-header__nav-item:nth-child(1) img{
  position:relative;
  top: -6px;
}

.l-header .l-header__nav-item:nth-child(2) a,
.l-header .l-header__nav-item:nth-child(3) a {
	background: #1C1C1C;
	color: #ffffff;
	display: block;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.075em;
	line-height: 1.625;
	padding: 9px 44px;
}

.l-header__nav-item{}

.l-header .l-header__nav-item p {
    font-size: 26px;
    line-height: 1.6;
    letter-spacing: 0.0075em;
    font-weight: 700;
  }

.l-header .l-header__nav-item p span.tel-subtxt{
  font-size: 12px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0;
  display: block;
  position: relative;
  top: -3px;
  left: -17px;
}



/* pullnavi */
#pullnavi {
  opacity: 0;
  transition: opacity 0.3s, transform 0.3s;
  transform: translateY(-100%);
}
#pullnavi.upMove {
  opacity: 0;
  transform: translateY(-100%);
}
#pullnavi.dwMove {
  opacity: 1;
  transform: translateY(0);
}

#pullnavi {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}
#pullnavi {
  background: #fff;
  width: 100%;
  box-shadow: 0px 3px 20px #00000029;
}
#pullnavi .inbox {
  width: 100%;
  min-width: 1280px;
  height: 70px;
  margin: 0px auto 20px auto;
  padding-top: 14px;
  position: relative;
}

/* pc-menu
-------------------------------------*/

/* side-fix
-------------------------------------*/
.side-fix {
  position: fixed;
  top: 110px;
  right: 0;
  z-index: 10;
}

/* g-nav
-------------------------------------*/


/* footer
-------------------------------------*/
.l-footer {
	background: url(../images/common/footer_map.png) no-repeat top center/cover;
	margin-inline: auto;
	max-width: 1920px;
	width: 100%;
}

.l-footer .l-footer__con {
	display: flex;
	justify-content: space-between;
	left: 178px;
    left: calc(50% - 782px);
	margin-bottom: -18px;
	padding-block: 99px 0px;
	position: relative;
	width: min(95%, 907px);
}

.l-footer .l-footer__con-left {
	display: flex;
	gap: 0 20px;
}

.l-footer .l-footer__con-left .en {
	margin-bottom: 20px;
}

.l-footer .l-footer__con-left address {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.075em;
	line-height: 1.625;
	margin-bottom: 7px;
}

.l-footer .l-footer__con-left .tel {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.075em;
	line-height: 1.625;
}

.l-footer .l-footer__con-left .tel .tel-subtxt{
  display: block;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0px;
	line-height: 1.625;
  margin:0 0 10px 0;
}


.l-footer .l-footer__con-left .name {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.075em;
	line-height: 1.625;
}

.l-footer .l-footer__con-left-logo {
	display: block;
	padding: 0px 24px;
}

.l-footer .copyright {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.075em;
	line-height: 1.8571428571;
}

.l-footer .l-footer__con-right {
	position: relative;
	top: 13px;
}

.l-footer .l-footer__con-right-area {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.075em;
	line-height: 1.625;
	margin-bottom: 50px;
}

.l-footer .l-footer__con-right-area.sekou {
	margin-bottom: 0;
}

.l-footer .l-footer__con-right-area .top {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 1.625;
	margin-bottom: 10px;
}

.l-footer .l-footer__con-right-area .top.area-ttl {
	position: relative;
}

.l-footer .l-footer__con-right-area .top.area-ttl::after {
	background: #1C1C1C;
	content: "";
	height: 1px;
	position: absolute;
	right: -302px;
	top: 50%;
	transform: translateY(-50%);
	width: 434px;
}

.l-footer .l-footer__con-right-area .area {
	margin-bottom: 12px;
}

.l-footer .l-footer__con-right-area .bottom {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.075em;
	line-height: 1.8571428571;
	position: relative;
	left: 17px;
}

.l-footer .l-footer__con-right-area .bottom:before {
	content: "※";
	font-size: 14px;
	font-weight: 500;
	left: -14px;
	letter-spacing: 0.075em;
	line-height: 1.8571428571;
	position: absolute;
	top: 0;
}

.l-footer address {
	margin-bottom: 11px;
}

/* copyright
-------------------------------------*/
.copyright {
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0.075em;
  font-weight: 500;
  display: block;
  width: min(95%,1520px);
  margin-inline: auto;
  padding-block: 0 75px;  
}

/* recaptcha
-------------------------------------*/
.grecaptcha-badge {
  z-index: 30;
}

/* common
-------------------------------------*/
#index main {
	position: relative;
}

#index main::after {
	background: url(../images/index/line.svg) repeat center center/contain;
	content: "";
	height: 99%;
	left: 0;
	position: absolute;
	top: 94px;
	width: 50px;
}

.borderwrap {
margin-block: 40px 100px;
max-width: 1200px;
width: 90%;
margin-inline: auto;
}

.borderwrap h2 {
font-size: 18px;
font-weight: bold;
margin-bottom: 20px;
padding-bottom: 15px;
border-bottom: 1px #ccc solid;
line-height: 1.6;
}

.borderwrap p {
font-size: 16px;
line-height: 1.8;
}

.btnArea-s {
text-align: center;
}

.btnArea-s a {
font-weight: bold;
margin: 0 auto;
color: #fff;
padding: 10px 50px;
font-size: 16px;
text-align: center;
display: inline-block;
background: #000;
letter-spacing: 1px;
}

.btnArea-s a:hover {
background: #666;
text-decoration: none;
}

.btnArea-s::after {
content: "";
display: block;
margin-bottom: 100px;
}

.p-main__ttl {
    background: #E6E6E6;
    padding-block: 40px;
    margin-block: 40px;
}

.p-main__ttl h1 {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.seo_bread_list {
  width: min(90%,1200px);
  margin-inline: auto;
  margin: 0 auto 20px;
}
.seo_bread_list li {
  margin-right: 20px;
  float: left;
}
.seo_bread_list li::after {
  content: " >";
}
.seo_bread_list li:last-child::after {
  content: "";
}

.fit img {
  object-fit: cover;
  font-family: "object-fit: cover;";
}
html {
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: none;
  overflow-x: hidden;
}

/* chrome画質悪化の対策*/
img {
  image-rendering: -webkit-optimize-contrast;
}

/* 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;
}


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;
}

/* clearfix */
.clearfix {
  zoom: 1;
}
.clearfix:after {
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  line-height: 0;
  content: ".";
}

/* リンク透明 */
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;
}
/*---------------------------------------- 　　外部サービス ----------------------------------------*/
/* 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 (min-width:768px) and ( max-width:1550px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1550px) {
.l-footer .l-footer__con {
    display: flex;
    justify-content: space-between;
    left: 11.484vw;
    left: calc(50% - 650px);
    ;
    margin-bottom: -1.161vw;
    padding-block: 6.387vw 0px;
    position: relative;
    width: min(95%, 780px);
}

.l-footer .l-footer__con-right-area .top.area-ttl::after {
    background: #1C1C1C;
    content: "";
    height: 0.065vw;
    position: absolute;
    right: -19.484vw;
    top: 50%;
    transform: translateY(-50%);
    width: 28vw;
}

.l-footer .l-footer__con-left .en img {
    width: 16.548vw;
    height: auto;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1350px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1350px) {
.l-footer .l-footer__con {
    left: calc(50% - 574px);
    width: min(95%,730px);
}
}

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

/* ========================================
@media screen and (min-width:768px) and ( max-width:1150px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1150px) {
.l-footer .l-footer__con {
    left: calc(50% - 538px);
    width: min(95%,700px);
    padding-inline: 5vw 0;
}

.l-footer .l-footer__con-left address {
    font-size: 1.391vw;
    font-weight: 500;
    letter-spacing: 0.075em;
    line-height: 1.625;
    margin-bottom: 0.609vw;
}

.l-footer .l-footer__con-left .tel {
    font-size: 1.391vw;
    font-weight: 500;
    letter-spacing: 0.075em;
    line-height: 1.625;
}

.l-footer .l-footer__con-left .name {
    font-size: 1.391vw;
    font-weight: 500;
    letter-spacing: 0.075em;
    line-height: 1.625;
}

.l-footer .l-footer__con-left-logo {
    display: block;
    padding: 0px 2.087vw;
}

.l-footer .copyright {
    font-size: 1.217vw;
    font-weight: 500;
    letter-spacing: 0.075em;
    line-height: 1.8571428571;
}

.l-footer .l-footer__con-right {
    position: relative;
    top: 2.13vw;
}

.l-footer .l-footer__con-right-area {
    font-size: 1.391vw;
    font-weight: 500;
    letter-spacing: 0.075em;
    line-height: 1.625;
    margin-bottom: 4.348vw;
}

.l-footer .l-footer__con-right-area.sekou {
    margin-bottom: 0;
}

.l-footer .l-footer__con-right-area .top {
    font-size: 1.391vw;
    font-weight: 700;
    letter-spacing: 0.075em;
    line-height: 1.625;
    margin-bottom: 0.87vw;
}

.l-footer .l-footer__con-right-area .top.area-ttl {
    position: relative;
}

.l-footer .l-footer__con-right-area .top.area-ttl::after {
    background: #1C1C1C;
    content: "";
    height: 0.087vw;
    position: absolute;
    right: -26.261vw;
    top: 50%;
    transform: translateY(-50%);
    width: 37.739vw;
}

.l-footer .l-footer__con-right-area .area {
    margin-bottom: 1.043vw;
}

.l-footer .l-footer__con-right-area .bottom {
    font-size: 1.217vw;
    font-weight: 500;
    letter-spacing: 0.075em;
    line-height: 1.8571428571;
    position: relative;
    left: 1.478vw;
}

.l-footer .l-footer__con-right-area .bottom:before {
    content: "※";
    font-size: 1.217vw;
    font-weight: 500;
    left: -1.217vw;
    letter-spacing: 0.075em;
    line-height: 1.8571428571;
    position: absolute;
    top: 0;
}

.l-footer address {
    margin-bottom: 0.957vw;
}

.l-footer .l-footer__con-right-area .top.area-ttl::after {
    background: #1C1C1C;
    content: "";
    height: 0.087vw;
    position: absolute;
    right: -21.261vw;
    top: 50%;
    transform: translateY(-50%);
    width: 32.739vw;
}
    
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:970px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:970px) {
.l-footer .l-footer__con {
    justify-content: flex-start;
    gap: 0 2vw;
    left: calc(50% - 480px);
}
    
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:950px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:950px) {
.l-header .l-header__nav-list {
    align-items: center;
    display: flex;
    gap: 0px 2.421vw;
    padding-block: 0.842vw 0;
}

.l-header .l-header__nav-item:nth-child(1) {
    /* align-items: center; */
    display: flex;
    gap: 0px 0.632vw;
}

/*
.l-header .l-header__nav-item:nth-child(2) a {
    display: block;
    padding: 1.895vw;
}
    */

.l-header .l-header__nav-item:nth-child(2) a,
.l-header .l-header__nav-item:nth-child(3) a {
    background: #1C1C1C;
    color: #ffffff;
    display: block;
    font-size: 1.684vw;
    font-weight: 500;
    letter-spacing: 0.075em;
    line-height: 1.625;
    padding: 0.947vw 4.632vw;
}

.l-header .l-header__nav-item p {
    font-size: 2.526vw;
    line-height: 1.6;
    letter-spacing: 0.0075em;
    font-weight: 700;
}

.l-header .l-header__inner {
	/* align-items: center; */
	display: flex;
	justify-content: space-between;
	padding-inline: 0 2vw;
}

.l-header .l-header__logo a {
	display: block;
	padding: 2.421vw 3.474vw;
}

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

.l-header {
	margin-bottom: -4.842vw;
}


}

/* ========================================
@media screen and (min-width:768px) and ( max-width:850px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:850px) {
.l-footer .l-footer__con {
    margin-inline: auto;
    left: calc(50% - 448px);
    justify-content: flex-start;
    gap: 0 2vw;
}

.l-footer .l-footer__con-right-area .top.area-ttl::after {
    background: #1C1C1C;
    content: "";
    height: 0.087vw;
    position: absolute;
    right: -14.261vw;
    top: 50%;
    transform: translateY(-50%);
    width: 25.739vw;
}
}

/* ========================================
   @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
html {
  font-size: 62.5%;
}
body {
  overflow: hidden;
  font-size: 3.6vw;
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
  line-height: 1.6;
}
.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;
}
#g-nav {
  display: none;
}

/* sp-header
-------------------------------------*/
.sp-header {
	margin-bottom: 23px;
}

.sp-header .h-logo {
	text-align: center;
}

.sp-header .h-logo img {
	height: auto;
	width: 83px;
}

  /* side-fix
-------------------------------------*/
.side-fix {
  display: none !important;
}
.sp-fix-list {
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 96;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: flex-end;
}

.sp-fix-list .tel img{
    width: 16.908vw;
}

.sp-fix-list .icon a img {
    width: 35.024vw;
}

.sp-fix-list .icon02 a img {
    width: 48.068vw;
}


/* footer
-------------------------------------*/
.l-footer {
	
}

.l-footer .l-footer__con {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 0;
	margin-bottom: -5.831vw;
	margin-inline: auto;
	padding-block: 1.831vw 0px;
	position: static;
	width: min(95%, 82.1vw);
}

.l-footer .l-footer__con-left {
	display: grid;
	gap: 1.208vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 7.729vw;
	text-align: center;
}

.l-footer .l-footer__con-left .en {
	margin-bottom: 5.246vw;
}

.l-footer .l-footer__con-left .en img {
	height: auto;
	width: 61.111vw;
}

.l-footer .l-footer__con-left address {
	font-size: 3.865vw;
	font-weight: 500;
	letter-spacing: 0.075em;
	line-height: 1.625;
	margin-bottom: 3.623vw;
}

.l-footer .l-footer__con-left .tel {
	font-size: 3.865vw;
	font-weight: 500;
	letter-spacing: 0.075em;
	line-height: 1.625;
}

.l-footer .l-footer__con-left .name {
	font-size: 3.865vw;
	font-weight: 500;
	letter-spacing: 0.075em;
	line-height: 1.625;
	margin-bottom: 6.729vw;
}

.l-footer .l-footer__con-left-logo {
	padding: 3.382vw 5.797vw;
	text-align: center;
	margin-bottom: -1vw;
}

.l-footer .l-footer__con-left-logo img {
	height: auto;
	width: 40.155vw;
}

.l-footer .copyright {
	display: block;
	font-size: 3.382vw;
	font-weight: 500;
	letter-spacing: 0.075em;
	line-height: 1.8571428571;
	padding-block: 2.348vw 20.155vw;
	text-align: center;
	background: #fff;
	position: relative;
}

.l-footer .l-footer__con-right {
	display: grid;
	position: static;
	top: 0;
}

.l-footer .l-footer__con-right-area {
	font-size: 3.865vw;
	font-weight: 500;
	letter-spacing: 0.075em;
	line-height: 1.625;
	margin-bottom: 0px;
	order: 2;
	text-align: center;
}

.l-footer .l-footer__con-right-area.sekou {
	margin-bottom: 7.662vw;
	order: 1;
}

.l-footer .l-footer__con-right-area .top {
	font-size: 3.865vw;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 1.625;
	margin-bottom: 3.314vw;
}


.l-footer .l-footer__con-left .tel .tel-subtxt{
  display: block;
	font-size: 3.2vw;
	font-weight: 500;
	letter-spacing: 0px;
	line-height: 1.625;
  margin:0 0 5vw 0;
}


.l-footer .l-footer__con-right-area .top.area-ttl {
	position: static;
}

.l-footer .l-footer__con-right-area .top.area-ttl::after {
	content: none;
}

.l-footer .l-footer__con-right-area .area {
	margin-bottom: 3.314vw;
}

.l-footer .l-footer__con-right-area .bottom {
    position: relative;
}

.l-footer .l-footer__con-right-area .bottom:before {
	content: "※";
	font-size: 3.382vw;
	font-weight: 500;
	left: -3.382vw;
	letter-spacing: 0.075em;
	line-height: 1.8571428571;
	position: absolute;
	top: 0;
}

.l-footer .l-footer__con-right-area .bottom::after {
	background: #707070;
	bottom: -54.208vw;
	content: "";
	height: 51.208vw;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0.242vw;
}

.l-footer .l-footer__con-right-area .bottom {
	font-size: 3.382vw;
	font-weight: 500;
	letter-spacing: 0.075em;
	line-height: 1.8571428571;
	text-align: left;
}

.l-footer address {
	font-size: 3.382vw;
	font-weight: 500;
	letter-spacing: 0.075em;
	line-height: 1.8571428571;
	margin-bottom: 2vw;
}

.l-footer .l-footer__con-left .link {
	background: #F0F0F0;
	display: flex;
	gap: 0 1.449vw;
	margin-inline: auto;
	padding-block: 3.556vw 4.072vw;
	width: min(100%, 84.1vw);
}

.l-footer .l-footer__con-left .link img {
	vertical-align: middle;
}

.l-footer .l-footer__con-left .link span {
	font-size: 2.899vw;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 2.3333333333;
}

.l-footer .p-footer__img {
	margin-bottom: -12.155vw;
}

/* copyright
-------------------------------------*/


/* recaptcha
-------------------------------------*/
.grecaptcha-badge {
  bottom: 22vw !important;
  z-index: 30;
}

  /* common
-------------------------------------*/
body#index {
	position: relative;
}

body#index::after {
	background: url(../images/index/line.svg) repeat top center/contain;
	content: "";
	height: 14.6%;
	left: 0;
	position: absolute;
	top: -2vw;
	width: 6.039vw;
    z-index: -1;
}

.btnArea {
text-align: center;
margin: 10vw auto;
padding: 0;
}

.btnArea a {
font-weight: bold;
margin: 0 auto;
color: #fff;
padding: 2.5vw 8vw;
font-size: 3.2vw;
text-align: center;
display: block;
background: #000;
letter-spacing: 0.2vw;
}

.btnArea-s {
text-align: center;
}

.btnArea-s a {
font-weight: bold;
margin: 0 auto;
color: #fff;
padding: 3vw 10vw;
font-size: 3.2vw;
text-align: center;
display: inline-block;
background: #000;
letter-spacing: 0.2vw;
}

.btnArea-s::after {
content: "";
display: block;
margin-bottom: 10vw;
}

.borderwrap {
max-width: 94.2vw;
width: 95%;
margin-inline: auto;
margin-block: 5vw 10vw;
line-height: 1.6;
}

.borderwrap h2 {
font-size: 3.2vw;
font-weight: bold;
margin-bottom: 5vw;
padding-bottom: 5vw;
border-bottom: 0.2vw #ccc solid;
}

.borderwrap p {
font-size: 3.6vw;
}

.p-main__ttl {
    background: #E6E6E6;
    padding-block: 5.797vw;
    margin-block: 5.797vw;
}

.p-main__ttl h1 {
    font-size: 4.348vw;
    font-weight: bold;
    text-align: center;
}

.seo_bread_list {
  width: 100%;
  padding: 2vw 2vw 3.5vw;
  margin: 0 auto;
  font-size: 3.2vw;
  color: #666;
  line-height: 1.6;
}
/*.seo_bread_list{display: none;}*/
.seo_bread_list a {
  color: #666;
}
.seo_bread_list li {
  margin-right: 1.5vw;
  float: left;
}
.seo_bread_list li::after {
  content: ">";
}
.seo_bread_list li:last-child::after {
  content: none;
}

.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;
}

/* chrome画質悪化の対策*/
img {
  image-rendering: -webkit-optimize-contrast;
}

/* 2カラムサイト---------------- */
#tow-cl #side {
  display: none;
}

/* 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;
}


*: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;
}
/*---------------------------------------- 　　外部サービス ----------------------------------------*/
/* 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)
======================================== */
@media screen and (max-height: 450px) {
  /* 高さ450px以下の場合 andoroidのフォーム対策 ストーカーバナー用　*/
  .sp-fix-list {
    display: none;
  }
}
