@charset "UTF-8";
/*===============================================*/
/*  common.css */
/*===============================================*/
/*//////////////////////////////////

reset
///////////////////////////////////*/
/* Fonts
---------------------------------------------------------------------*/
/*localfont  -------------------------*/
@font-face { font-family: rw; src: url("../fonts/Raleway-VariableFont_wght.ttf"); }
@font-face { font-family: cgb; src: url("../fonts/CormorantGaramond-SemiBoldItalic.ttf"); }
@font-face { font-family: bs; src: url("../fonts/bahnschrift.ttf"); }
/*iconfont  -------------------------*/
@font-face { font-family: 'icomoon'; src: url("../fonts/icomoon.eot?pboz36"); src: url("../fonts/icomoon.eot?pboz36#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf?pboz36") format("truetype"), url("../fonts/icomoon.woff?pboz36") format("woff"), url("../fonts/icomoon.svg?pboz36#icomoon") format("svg"); font-weight: normal; font-style: normal; font-display: block; }
[class^="icon-"], [class*=" icon-"] { /* use !important to prevent issues with browser extensions that change fonts */ font-family: 'icomoon' !important; speak: never; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.icon-youtube-play:before { content: "\e905"; }

.icon-line:before { content: "\e009"; }

.icon-mail:before { content: "\e901"; }

.icon-mail2:before { content: "\e902"; }

.icon-tel:before { content: "\e903"; }

.icon-home:before { content: "\e904"; }

.icon-facebook:before { content: "\ea90"; }

.icon-instagram:before { content: "\ea92"; }

.icon-twitter:before { content: "\ea96"; }

.icon-search:before { content: "\e900"; }

.icon-mobile:before { content: "\e958"; }

.icon-heart:before { content: "\e9da"; }

/*site main rules
---------------------------------------------------------------------*/
/*color  ------------------*/
/*テキストのハイライトカラーを変える  ------------------*/
::selection { /* Safari and Opera */ background: #14ae67; color: #191919; }

::-moz-selection { /* Firefox */ background: #14ae67; color: #191919; }

/*link  ------------------*/
a:link { color: #414141; text-decoration: none; }

a:visited { color: #414141; text-decoration: none; }

a:hover { color: #414141; text-decoration: none; }

a:active { text-decoration: none; }

/* reset
---------------------------------------------------------------------*/
html { font-size: 62.5%; }

body { margin: 0; padding: 0; height: 100%; font-size: 1.6rem; /* 16px*/ line-height: 2; color: #414141; background-color: #fff; font-family: "smg","游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; /*游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;*/ font-weight: 600; -webkit-text-size-adjust: none; }

/*responsive FONTS*/
h1 { font-size: 36px; /* IE8以下とAndroid4.3以下用フォールバック */ font-size: calc(2.4rem + ((1vw - 0.64rem) * 2.1429)); /* 24px~36pxで可変*/ line-height: 1.3; }

h2 { font-size: 24px; /* IE8以下とAndroid4.3以下用フォールバック */ font-size: calc(2rem + ((1vw - 0.64rem) * 0.7143)); /* 20px~24pxで可変*/ line-height: 1.3; }

@media (min-width: 1200px) { h1 { font-size: 3.6rem; /* 36px*/ }
  h2 { font-size: 2.4rem; /* 24px*/ } }
@media screen and (max-width: 768px) { body { line-height: 2; }
  h1 { font-size: 2.4rem; /* 24px*/ }
  h2 { font-size: 2rem; /* 20px*/ } }
html, body, h1, h2, h3, h4, h5, h6, a, p, span, em, small, strong, sub, sup, mark, del, ins, strike, abbr, dfn, blockquote, q, cite, code, pre, ol, ul, li, dl, dt, dd, div, section, article, main, aside, nav, header, hgroup, footer, img, figure, figcaption, address, time, audio, video, canvas, iframe, details, summary, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; }

h1, h2, h3, h4, h5, h6, p, address, ul, ol, li, dl, dt, dd, table, caption, th, td, img, form { font-style: normal; font-weight: normal; font-size: 14px; text-align: left; list-style-type: none; }

/* Layout *********************************** */
article, aside, footer, header, nav, section, main { display: block; }

* { box-sizing: border-box; }

*:before, *:after { box-sizing: inherit; }

/* テキストエリア内文字サイズのブラウザ間での差異をなくす */
textarea { font-size: 100%; }

/* 画像の下にできる隙間をなくす */
img { border: 0; vertical-align: bottom; }

img { max-width: 100%; height: auto; width: auto; }

/* hr 要素は不可視で使う */
hr { display: none; }

/* br 要素のレスポンシブ化 */
@media screen and (max-width: 959px) { .brNone { display: none; } }
@media screen and (max-width: 768px) { .imgNone img { display: none; } }
/*float
----------------------------------*/
.left { float: left; }

.right { float: right; }

#left { float: left; }

#right { float: right; }

/*txt-align
----------------------------------*/
.txt-align-l { text-align: left; }

.txt-align-r { text-align: right; }

/* カーソルポインター装飾 
#cursor { position: fixed;
	z-index: 100000000; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); background: $clr-grn; width: 5px; height: 5px; border-radius: 100%; pointer-events: none; }

#cursor.active {transform: scale(0);} 
#stalker { position: fixed;
	z-index: 10000000000000; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); //background: ;
	border: 2px solid $clr-grn;  width: 40px; height: 40px; border-radius: 100%; transition: 0.2s; opacity: .8; pointer-events: none; } 
#stalker.active {background:$clr-grn ; transform: scale(2.5) translate(-20%, -20%);  opacity: .3; }*/
/*circle-icon*/
.circle:before { padding-right: 10px; content: url("../images/common/circle-wh.png"); position: relative; top: 1px; }

/*bg_common*/
.bg_common { background: url("../images/common/bgimg.jpg") repeat center top; }

.bg_Works { background: url("../images/top/works_bg.jpg") no-repeat; }

.bg_TopIntro { background: url("../images/top/intro_img1.png"); }

/**/
.curtainWrap01 { position: relative; width: 100%; height: 460px; background: no-repeat center bottom; background-size: cover; overflow: hidden; }

@media screen and (max-width: 959px) { .curtainWrap01 { height: 460px; } }
.curtainWrap02 { position: relative; width: 100%; height: auto; background: no-repeat center center; background-size: cover; overflow: hidden; }

.curtainWrap03 { background-size: cover; }

/*//////////////////////////////////

module
///////////////////////////////////*/
.blcWrap { position: relative; width: 100%; }

.bgTx { position: absolute; top: 40%; font-size: 20rem; line-height: 220px; color: #000; font-feature-settings: "palt"; font-family: dcb; letter-spacing: 0em; font-weight: 700; overflow: hidden; }

.bgTx-Center { left: 50%; transform: translateX(-50%); }

.bgTx-Right { right: 0%; }

@media screen and (max-width: 1110px) { .bgTx { font-size: 12rem; line-height: 120px; } }
@media screen and (max-width: 768px) { .bgTx { display: none; } }
/*column
---------------------------*/
.column { margin: 0 auto; padding: 10rem 0; width: 100%; height: auto; box-sizing: border-box; position: relative; }

@media screen and (max-width: 1210px) { .column { width: 90%; margin: 0 auto; padding: 5rem 0; } }
@media screen and (max-width: 959px) { .column { width: 90%; margin: 0 auto; padding: 5rem 0; } }
.fb-Multi2 { position: relative; display: flex; flex-wrap: nowrap; justify-content: space-between; }

@media screen and (max-width: 959px) { .fb-Multi2 { width: 100%; flex-wrap: wrap; } }
/*工事中
---------------------------*/
.construction { margin: 0px 0px 50px; padding: 100px 0 0; width: 100%; box-sizing: border-box; }

.construction h2 { margin: 0px 0px 10px 0px; padding: 0px 0px 0px 0px; font-size: 20px; text-align: center; }

.construction p { text-align: center; font-size: 14px; }

.construction p span { margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; color: #ea608e; font-weight: bold; }

/*//////////////////////////////////
 animation
///////////////////////////////////*/
/*要素出現
---------------------------------*/
/*curtain
---------------------------------*/
.curtainIn { position: relative; /*opacity: 0;*/ z-index: 0; }

.maskWH { width: 100%; height: 100%; position: absolute; top: 0; z-index: 5; background-color: #fff; }

.maskWH-wh { width: 100%; height: 100%; position: absolute; top: 0; z-index: 4; background-color: #e7e5e5; }

.wht { background-color: #fff; }

.gly { background-color: #f3f3f3; }

/*animation ------------*/
.ef-animation { animation: ef-animation 0s ease-out 0s forwards; }

@keyframes ef-animation { 0% { opacity: 1; }
  100% { opacity: 1; } }
.ef-animation .maskWH { animation: maskWH 0.5s ease-out 0.5s forwards; margin-left: 0; }

.ef-animation .maskWH-wh { animation: maskWH 0.7s ease-out 0.8s forwards; margin-left: 0; }

@keyframes maskWH { 0% { margin-left: 0; }
  100% { margin-left: 100%; } }
/*fade motion---------------------*/
.move, .move:hover { transition: all 0.4s ease-in-out 0.5s; }

.fade_box { -webkit-transform: translateY(30px); -moz-transform: translateY(30px); transform: translateY(30px); opacity: 0; }

@media screen and (max-width: 768px) { .fade_box { transform: none; opacity: 1; } }
/*button
---------------------------------*/
.arrow { position: relative; }

.arrow::after { position: absolute; content: url(../images/common/icon-btnarw.png); position: absolute; top: 38px; right: 20px; vertical-align: middle; width: 15px; height: 5px; transition: all 0.25s; }

.arrow:hover::after { right: 10px; }

/**/
.button-Main { cursor: pointer; display: block; position: relative; transition: all 0.3s; padding: 4rem 2.5rem; width: 100px; height: 100px; font-size: 1.2rem; text-align: left; color: #fff !important; background: #393939; font-weight: 600; border-radius: 50px; font-family: rw; overflow: hidden; }

.button-Main:hover { color: #fff !important; background: #14ae67; border-radius: 5px; box-shadow: 0 0px 30px 0 rgba(111, 173, 108, 0.6); }

/**/
.button-Sub { cursor: pointer; display: block; position: relative; transition: all 0.3s; padding: 1rem 2.5rem; width: 100%; height: auto; font-size: 1.6rem; text-align: left; color: #fff !important; background: #393939; text-align: center; font-weight: 600; border-radius: 5px; overflow: hidden; }

.button-Sub:hover { color: #fff !important; background: #14ae67; border-radius: 5px; box-shadow: 0 0px 30px 0 rgba(88, 70, 10, 0.3); }

@media screen and (max-width: 768px) { .button-Sub { margin: 10px 0 0; padding: 0.5rem 0; width: 100%; font-size: 14px; } }
/**/
.button-Cntct { cursor: pointer; display: block; position: relative; z-index: 0; transition: all 0.25s; padding: 1rem 0 2rem; width: 100%; height: auto; font-size: 3rem; line-height: 30px; color: #fff !important; font-feature-settings: "palt"; font-family: smgl; font-weight: 400; border-bottom: 1px solid #fff; }

.button-Cntct:before { display: block; position: absolute; bottom: -1px; right: 0; height: 1px; width: 0; z-index: -1; content: ''; background: #14ae67; transition: all 0.25s; border-radius: 50px; }

.button-Cntct:hover { color: #14ae67 !important; }

.button-Cntct:hover:before { left: 0%; right: auto; width: 100%; }

@media screen and (max-width: 768px) { .button-Cntct { padding: 1rem 0 1rem; }
  .button-Cntct { font-size: 3rem; line-height: 30px; } }
/**/
.button-Wrap { position: relative; margin: 50px auto; padding: 0; max-width: 1100px; height: auto; }
.button-Wrap .button-Main { width: 48%; padding: 2rem 3rem; }

@media screen and (max-width: 768px) { .button-Wrap { margin: 30px auto; }
  .button-Wrap .button-Main { margin-bottom: 10px; width: 100%; padding: 1rem 2rem; } }
/**/
.button-Wrap-Single { position: relative; margin: 0 auto; padding: 0; max-width: 1100px; height: auto; text-align: center; }
.button-Wrap-Single .button-Main { margin: 0 auto; width: 60%; padding: 2rem 3rem; }

@media screen and (max-width: 768px) { .button-Wrap-Single { margin: 0 auto 30px; }
  .button-Wrap-Single .button-Main { width: 90%; padding: 1rem 2rem; } }
/**/
.button-Wrap-Single2 { position: relative; margin: 0 auto; padding: 0; max-width: 1100px; height: auto; text-align: center; }
.button-Wrap-Single2 .button-Main { margin: 0 auto; width: 80%; padding: 2rem 3rem; font-size: 2.4rem; }

@media screen and (max-width: 768px) { .button-Wrap-Single2 { margin: 0 auto 30px; }
  .button-Wrap-Single2 .button-Main { width: 90%; padding: 1rem 2rem; } }
/* nav----------*/
.buttonNavPc:link { color: #393939 !important; transition: all 0.2s; }

.buttonNavPc:before { position: absolute; bottom: -7px; left: 0%; height: 2px; width: 0px; z-index: -1; content: ''; background-color: #14ae67; transition: all 0.2s; }

.buttonNavPc:hover:before { left: 0%; width: 100%; }

.buttonNavPc:hover { color: #14ae67 !important; }

.over { padding-bottom: 5px; color: #14ae67 !important; border-bottom: 2px solid #14ae67; height: auto; }

/**/
.g-Scale { filter: grayscale(100%); }

/**/
.mcurtain { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-animation: mcurtain 1s; -webkit-animation-iteration-count: 1; z-index: 99; }

@-webkit-keyframes mcurtain { 0% { width: 100%; background-color: #fff; }
  100% { width: 0%; background-color: #fff; } }
/**/
.tf-Scale { -webkit-transform: scale(1); transform: scale(1); -webkit-transition: all .5s ease; transition: all .5s ease; }

/*//////////////////////////////////

Header
///////////////////////////////////*/
#first-View { margin: 0; padding: 0 0 8rem 0; width: 100%; height: 100%; position: relative; overflow: hidden; background: url("../images/common/bgimg.jpg") repeat center top; }

/*- @media 768px-*/
@media screen and (max-width: 768px) { #first-View { padding: 0 0 2rem 0; } }
/*//////////////////////////////////

Header
///////////////////////////////////*/
header { margin: 0 auto; padding: 5rem 0 10rem; width: 90%; position: relative; display: flex; flex-wrap: nowrap; justify-content: space-between; }

header h1 { width: 135px; position: relative; }

/*- @media 1239px-*/
@media screen and (max-width: 1239px) { header { padding: 10rem 0; width: 90%; }
  header h1 { flex-wrap: nowrap; }
  header h1 a { width: 100%; } }
/*- @media 959px-*/
@media screen and (max-width: 959px) { header { padding: 3rem 0; }
  header h1 { width: 100px; } }
/*//////////////////////////////////

G_Nav
/////////////////////////////////*/
nav { width: 700px; position: relative; display: flex; flex-wrap: nowrap; justify-content: space-between; }

.gnavList { padding-top: 15px; width: 500px; position: relative; }

.gnavList li { margin: 0 10px 0px; position: relative; /*lineAnimation*/ display: inline-block; font-size: 1.4rem; line-height: 16px; font-weight: 600; letter-spacing: 0.05em; }

/*.gnavList li a:link {display: block;  }
.gnavList li a:visited {}*/
.gnavList li a { display: block; position: relative; overflow: hidden; padding: 10px 45px; }

.gnavList li span { position: absolute; left: 50%; top: 0; transition: all .5s; transform: translate(-50%, 0); display: block; opacity: 1; white-space: nowrap; }

.gnavList li span:nth-child(1) { font-family: rw !important; }

.gnavList li span:nth-child(2) { opacity: 0; transform: translate(-50%, 100%); color: #14ae67; font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; }

.gnavList li:hover span:nth-child(1) { opacity: 0; transform: translate(-50%, -100%); }

.gnavList li:hover span:nth-child(2) { opacity: 1; transform: translate(-50%, 0); }

/*over*/
.gnavList li .current span:nth-child(1) { opacity: 0; transform: translate(-50%, -100%); }

.gnavList li .current span:nth-child(2) { opacity: 1; transform: translate(-50%, 0); color: #14ae67; }

.h-tel { margin: 0 auto; padding: 0.7em; width: 200px; height: 50px; text-align: center; font-feature-settings: "palt"; font-family: bs; font-weight: 600; border: 1px solid #000000; border-radius: 3px; }

.h-tel div { display: inline-block; font-feature-settings: "palt"; font-family: bs; }

.h-tel p { display: inline-block; margin-left: 5px; font-size: 1.8rem !important; line-height: 18px; letter-spacing: 0.05em; }

/*- @media 1239px-*/
@media screen and (max-width: 1239px) { nav { width: 65%; flex-wrap: nowrap; } }
/*- @media 959px-*/
@media screen and (max-width: 959px) { nav { display: none; } }
/*navSub-------*/
.navSub { position: relative; width: 160px; }

.navSub:before { content: url("../images/common/head_line.gif"); position: absolute; top: 10px; left: -17px; }

.navSub div { margin: 10px 10px 0px 10px; text-align: center; position: relative; display: inline-block; transition: .3s; cursor: pointer; }

.icon-mail, .icon-location { position: relative; display: block; text-align: center; padding-bottom: 10px; font-size: 3rem; line-height: 12px; }

.navSub div a { display: block; margin-top: 10px; font-size: 1.2rem; line-height: 12px; font-weight: 800; letter-spacing: 0.05em; transition: .3s; font-family: smgl; }

.navSub div:visited { color: #393939; }

.navSub div:hover { color: #14ae67; }

.navSub div:hover a { color: #14ae67; }

/*scrollanimation------------*/
.scrl { padding: 25px 0 0 0; width: 30px; height: 100px; position: absolute; top: 30%; right: 1.2%; z-index: 110; }

.scrl a { color: #393939; font-size: 1rem; line-height: 16px; font-weight: 800; font-family: rw; letter-spacing: 0.1em; -ms-writing-mode: tb-rl; /* IE用　*/ writing-mode: vertical-rl; }

.scrl a .anm-line { position: absolute; top: 85px; left: 34%; content: ''; width: 1px; height: 100px; margin-left: -1px; background-color: #fff; }

.scrl a .anm-circle { position: absolute; z-index: 10; top: 85px; left: 55%; content: ''; width: 1px; height: 30px; margin-left: -7px; background-color: #000; animation: sdb 2s infinite; box-sizing: border-box; }

@keyframes sdb { 0% { transform: translate(0, 0); opacity: 1; }
  70% { opacity: 1; }
  100% { transform: translate(0, 90px) scale(0.5); opacity: 0.1; } }
/*- @media 1100px -*/
@media screen and (max-width: 1100px) { .scrl { display: none; } }
/**/
/*sideBtn
---------------------------*/
.sideRight { margin: 0px auto; width: 20px; height: auto; position: absolute; top: 5%; right: 1.9%; z-index: 101; }

.sideRight ul { padding: 0 0; width: 100%; height: auto; text-align: center; }

.sideRight ul li { margin: 10px 0; width: 100%; height: auto; text-align: center; }

.sideRight ul li a { display: block; color: #3e3e3e; height: auto; text-decoration: none; }

.sideRight ul li a:visited { color: #393939; }

.sideRight ul li a:hover { color: #14ae67; }

.sideRight ul li span { font-size: 18px; transition: .3s; }

/**/
.sideRight_Sub { margin: 0px auto; width: 20px; height: auto; position: absolute; top: 35%; right: 60px; z-index: 101; }

.sideRight_Sub ul { padding: 0 0; width: 100%; height: auto; text-align: center; }

.sideRight_Sub ul li { margin: 10px 0; width: 100%; height: auto; text-align: center; }

.sideRight_Sub ul li a { display: block; color: #393939; height: auto; text-decoration: none; }

.sideRight_Sub ul li a:visited { color: #14ae67; }

.sideRight_Sub ul li a:hover { color: #14ae67; }

.sideRight_Sub ul li span { font-size: 18px; transition: .3s; }

/*- @media 1110px-*/
@media screen and (max-width: 1110px) { .sideRight, .sideRight_Sub { display: none; } }
/*subHeader
---------------------------*/
.subHeader { position: relative; margin: 0 auto 0 0; width: 95%; }

.top-Subttl-Main { position: relative; z-index: 100; margin: 0 auto -40px; padding: 0 auto; width: 90%; height: auto; }
.top-Subttl-Main h3 { font-size: 2.4rem; line-height: 24px; letter-spacing: 0.1em; font-feature-settings: "palt"; font-weight: 200; color: #393939; font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif; }
.top-Subttl-Main h2 { font-size: 8rem; line-height: 80px; letter-spacing: 0.01em; font-feature-settings: "palt"; font-weight: 200; color: #393939; font-family: cgb; }

.top-Subttl { position: absolute; top: -10%; right: 0%; z-index: 100; height: auto; width: 300px; height: 300px; }
.top-Subttl p { position: relative; z-index: 2; padding: 12rem 3.5rem 3.5rem 3.5rem; font-size: 1rem; line-height: 16px; letter-spacing: 0.01em; font-feature-settings: "palt"; font-weight: 400; color: #393939; font-family: rw; }
.top-Subttl img { position: absolute; top: 0%; right: 0%; z-index: 1; }

/*- @media 1239px-*/
@media screen and (max-width: 1239px) { .top-Subttl { display: none; } }
@media screen and (max-width: 768px) { .top-Subttl-Main { margin: 0 auto -10px; width: 90%; }
  .top-Subttl-Main h3 { font-size: 1.4rem; line-height: 14px; }
  .top-Subttl-Main h2 { font-size: 3.6rem; line-height: 36px; } }
/**/
.sub-BgImg { position: relative; border-top-right-radius: 10px; border-bottom-right-radius: 10px; width: 100%; height: 400px; }

.bgimg-concept { background: url("../images/common/bgimg_concept.jpg") no-repeat left top; background-size: cover; }

.bgimg-service { background: url("../images/common/bgimg_service.jpg") no-repeat left top; background-size: cover; }

.bgimg-works { background: url("../images/common/bgimg_works.jpg") no-repeat left top; background-size: cover; }

@media screen and (max-width: 959px) { .sub-BgImg { margin: 0 auto 0 0; border-top-right-radius: 5px; width: 100%; height: 200px; }
  .sub-BgImg div { padding: 1.5rem 0rem 0.5rem 1.5rem; border-top-left-radius: 20px; }
  .sub-BgImg div h2 { font-size: 2.4rem; line-height: 20px; }
  .sub-BgImg div h3 { font-size: 1.4rem; line-height: 14px; } }
/*//////////////////////////////////

Contents
/////////////////////////////////*/
main { margin: 0 auto; padding: 0; width: 100%; height: auto; position: relative; overflow: hidden; }

.sub-Main { margin: 0 auto; padding: 0; width: 100%; height: auto; position: relative; }

/*- @media 768px-*/
@media screen and (max-width: 768px) { .sub-Main { margin: 30px auto; } }
/*h2ttl-Wrap
---------------------------*/
.h2ttl-Wrap { position: relative; width: 100%; margin-bottom: 30px; height: auto; }
.h2ttl-Wrap h2 { text-align: center; margin-bottom: 10px; font-size: 3rem; line-height: 30px; color: #393939; letter-spacing: 0.2em; font-weight: 700; font-feature-settings: "palt"; font-family: smgl; }
.h2ttl-Wrap h3 { text-align: center; font-size: 1.4rem; line-height: 16px; color: #393939; letter-spacing: 0.05em; font-weight: 600; font-feature-settings: "palt"; font-family: smgl; }

@media screen and (max-width: 768px) { .h2ttl-Wrap { margin-bottom: 10px; }
  .h2ttl-Wrap h2 { font-size: 2rem; line-height: 20px; } }
@media screen and (max-width: 1110px) { .h2ttl-Wrap { overflow: hidden; }
  .h2ttl-Wrap div { padding: 7rem 0; width: 100%; }
  .h2ttl-Wrap h4 { font-size: 9rem; line-height: 160px; }
  .h2ttl-Wrap-ctgr { margin: 20px auto 0; width: 95%; } }
@media screen and (max-width: 768px) { .h2ttl-Wrap div { padding: 3rem 0 0; }
  .h2ttl-Wrap div .nmb:before { display: none; }
  .h2ttl-Wrap h4 { overflow: hidden; top: 20px; font-size: 4.5rem; line-height: 60px; }
  .h4None { display: none; }
  .h2ttl-Wrap-ctgr { margin: 20px auto 0; }
  .h2ttl-Wrap-ctgr div { padding: 2rem 0 0 0; }
  .h2ttl-Wrap-ctgr h4 { top: 5px; font-size: 7rem; line-height: 70px; } }
/*ページ送りここから*/
.wp-pagenavi { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

.wp-pagenavi span, .wp-pagenavi a { text-align: center; font-size: 14px; color: #191919; border: 1px solid #191919; display: inline-block; width: 30px; height: 30px; line-height: 30px; margin: 0 3px; text-decoration: none; }

.wp-pagenavi a:hover { color: #fff; background: #14ae67; border: 1px solid #14ae67; text-decoration: none; }

.wp-pagenavi span.current { color: #fff; background: #14ae67; border: 1px solid #14ae67; }

/*ページ送りここまで*/
/*page-top
---------------------------*/
#page-top { width: 70px; height: 70px; display: none; position: fixed; right: 35px; bottom: 0px; z-index: 1000; }

#page-top p { margin: 0; padding: 0; text-align: center; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; }

#move-page-top { color: #fff; line-height: 50px; text-decoration: none; display: block; cursor: pointer; }

/*- @media 768px-*/
@media screen and (max-width: 768px) { #page-top p { display: none; } }
/*section sec-Info
---------------------------*/
.sec-Info { position: relative; margin: 50px auto 0; padding: 0; max-width: 1200px; }

.sec-Info h1 { margin-bottom: 10px; width: 120px; }

.sec-Info h2 { font-size: 1.4rem; line-height: 14px; letter-spacing: 0.05em; font-weight: 400; font-feature-settings: "palt"; }

/**/
.info-Area { margin: 10px 0 30px; padding: 0; box-sizing: border-box; width: 100%; display: flex; flex-wrap: nowrap; justify-content: space-between; }

.info-Area li { width: 30%; height: auto; position: relative; }

.info-Area li:after { position: absolute; top: 18%; right: -47px; content: ''; width: 18px; height: 18px; content: url(../images/common/info_line.gif); }

.info-Area li:last-child:after { display: none; }

.info-Area li dl { margin: 0; padding: 1rem 0; width: 100%; height: auto; border-bottom: 1px dotted #9e9e9e; display: flex; flex-wrap: wrap; justify-content: space-between; }
.info-Area li dl dt { width: 25%; font-size: 1.2rem; line-height: 16px; font-feature-settings: "palt"; letter-spacing: 0.05em; font-weight: 400; }
.info-Area li dl dd { width: 70%; font-size: 1.2rem; line-height: 16px; font-feature-settings: "palt"; letter-spacing: 0.05em; font-weight: 400; }

.info-Area li h4 { margin-bottom: 8px; font-size: 14px; line-height: 20px; letter-spacing: 0.1em; font-weight: 400; font-feature-settings: "palt"; }

.info-Area li a { text-align: center; }

.info-Area li p { text-align: center; font-size: 12px; line-height: 20px; letter-spacing: 0.05em; font-feature-settings: "palt"; }

.info-tel { font-size: 36px; line-height: 36px; letter-spacing: 0.05em; font-weight: 600; font-feature-settings: "palt"; font-family: bs; }

.info-Area li div { margin-bottom: 10px; }

/*- @media 1210xp -*/
@media screen and (max-width: 1210px) { .sec-Info { position: relative; margin: 50px auto 0; padding: 0; width: 90%; } }
/*- @media 959xp -*/
@media screen and (max-width: 959px) { .info-Area li:after, .info-Area li:before { display: none; }
  .info-Area { margin: 0 0 30px 0; flex-wrap: wrap; }
  .info-Area li { margin-bottom: 20px; width: 100%; }
  .info-Area li:last-child { margin-bottom: 0px; }
  .info-Area li h2 { margin-bottom: 10px; font-size: 24px; line-height: 26px; }
  .info-tel { font-size: 26px; line-height: 26px; } }
/*- @media 768xp -*/
@media screen and (max-width: 768px) { .info-Area li dl dt { width: 100%; font-size: 1.4rem; line-height: 24px; margin-bottom: 5px; }
  .info-Area li dl dd { width: 100%; font-size: 1.4rem; line-height: 24px; }
  .info-Area li h4 { text-align: center; } }
/*google map
------------------------------------*/
.gmap1 { margin: 30px auto; padding: 0px 0px; max-width: 1200px; }

.gmap1 iframe { height: 400px; }

@media screen and (max-width: 959px) { .gmap1 { width: 100%; }
  .gmap1 iframe { height: 300px; } }
/*////////////////////////////////

footer
////////////////////////////////*/
footer { width: 100%; height: auto; position: relative; }

/*fInner-----------------*/
.fInner { margin: 0 auto; padding: 0 0; position: relative; }

/*fList-----------------*/
.fList { margin: 0 auto; width: calc(100% - 50px); position: relative; }

.fList ul { margin: 0 auto; padding: 0 0 30px; width: calc(100% - 100px); text-align: center; }

.fList ul li { font-size: 1.2rem; line-height: 20px; letter-spacing: 0.05em; display: inline-block; font-family: rw; font-weight: 600; }

.fList ul li a { padding: 0 20px; color: #000; box-sizing: border-box; }

#copy { width: 100%; margin: 0 auto 30px; text-align: center; font-size: 1rem; line-height: 12px; font-weight: 600; font-family: rw; }

/*- @media 959x-*/
@media screen and (max-width: 959px) { .fInner { display: none; }
  #copy { margin: 0 auto 80px; } }
