@charset "UTF-8"; /* あまり触らないcssは管理 */
@import url("common_base.css"); /* font-family: "ryo-gothic-plusn", sans-serif; font-family: "soleil", sans-serif; */
@media screen and (min-width: 768px),print {
 /* ★ body */
body { font-size: 16px; overflow-x: hidden; font-family: "ryo-gothic-plusn", sans-serif; font-weight: normal; letter-spacing: 0.1em; line-height: 32px; color: #262626; max-width: 1920px; width: 100%; margin: 0 auto; }
#g-nav { display: none; }
/* ★ header */
header { height: 155px; position: relative; .h-logo { position: absolute; top: 43px; left: 33px; }
.h-txt { position: absolute; left: 286px; top: 39px; font-size: 14px; letter-spacing: 0.1em; line-height: 21px; color: #91918e; }
.h-r-box { display: flex; align-items: center; flex-wrap: wrap; position: absolute; right: 121px; top: 30px; height: 55px; .h-tel { width: 290px; border-left: 1px solid #000; margin-left: 23px; padding-left: 23px; height: 55px; padding-top: 6px; }
 }
 }
/* ★ メガメニュー関係 */
.pc-menu { position: fixed; top: 10px; right: 2px; z-index: 500; }
.pc-menu:hover { opacity: 0.8; cursor: pointer; cursor: hand; }
#pc-menu-open { display: none; background: #F7F7F2; width: 100vw; height: 100vh; position: fixed; top: 0; z-index: 10000; overflow: scroll; padding-top: 94px; }
#pc-menu-open .open-close-01 { position: absolute; top: 10px; right: 2px; }
#pc-menu-open .open-close-01:hover { opacity: 0.8; cursor: pointer; cursor: hand; }
#pc-menu-open .open-main-Box { }
#pc-menu-open .open-main-Box { .o-en { width: 148px; margin: 0 auto; margin-bottom: 22px; }
.o-s-box { width: 1100px; margin: 0 auto; padding-bottom: 65px; margin-bottom: 71px; background-image: url(../images/common/o-line.png); background-repeat: no-repeat; background-position: center bottom; .o-bnr-list { width: 1100px; margin: 0 auto; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; li { border-radius: 45px; box-shadow: 2px 2px 14px rgba(0, 0, 0, 0.04); margin: 0 auto;}
 }
 }
.h-box { width: 1100px; margin: 0 auto; display: flex; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; .f-box-l { width: 312px; .f-logo { margin-bottom: 24px; }
.f-txt-1 { font-size: 16px; letter-spacing: 0.1em; line-height: 24px; text-align: left; color: #262626; margin-bottom: 8px; }
.f-txt-2 { font-size: 16px; letter-spacing: 0.1em; line-height: 24px; color: #262626; margin-bottom: 8px; }
.f-txt-3 { font-size: 16px; letter-spacing: 0.1em; line-height: 24px; color: #262626; }
.f-sns { margin-top: 80px; display: flex; align-items: center; flex-wrap: wrap; >li { margin-right: 20px; &.ano { filter: brightness(0); }
 }
 }
 }
.f-box-r { width: 626px; margin-right: 2px; position: relative; top: -6px; right: -3px; .f-home-txt a { font-size: 14px; letter-spacing: 0.1em; line-height: 24px; color: #262626; margin-bottom: 46px; display: block; }
.f-link-box { display: flex; flex-wrap: wrap; .f-link-en { font-family: "soleil", sans-serif; font-weight: 300; font-size: 16px; letter-spacing: 0.04em; line-height: 28px; color: #262626; margin-bottom: 3px; }
.f-link-list { li { background-image: url(../images/common/o-link-deco.svg); background-repeat: no-repeat; background-position: 1px 15px; padding-left: 19px; margin-bottom: 0px; a { color: #262626; font-weight: normal; font-size: 14px; letter-spacing: 0.1em; line-height: 30px; display: block; }
 }
 }
.f-link-l { width: 220px; margin-right: 57px; }
.f-link-m { width: 120px; margin-right: 56px; .f-link-en { }
.f-link-list { }
 }
.f-link-r { width: 173px; .f-link-en { }
.f-link-list { }
 }
 }
 }
 }
 }
/* ★ 下層 h1 エリア */
h1.main-title { background-image: url(../images/common/h1-bg.png); background-repeat: repeat; background-position: center 0; height: 130px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }
h1.main-title .jp { font-size: 26px; font-weight: 500; letter-spacing: 0.15em; line-height: 52px; text-align: center; color: #262626; }
h2.sub-title { background: #525252; padding: 25px 20px; color: #fff; margin-bottom: 30px; font-size: 28px; font-weight: bold; letter-spacing: 7px; text-align: center; }
/* ★ パンくず */
.seo_bread_list { max-width: 1100px; width: 100%; padding: 12px 0; margin: 0 auto 30px; font-size: 16px; letter-spacing: 0.05em; line-height: 32px; color: #91918e; }
.seo_bread_list li { margin-right: 20px; float: left; }
.seo_bread_list a { color: #91918e; }
.seo_bread_list li::after { content: " >"; }
.seo_bread_list li:last-child::after { content: ""; }
/* ★ グローバルメニュー */
#g-nav { width: 1100px; margin: 0px auto 10px auto; padding: 20px 0; text-align: center; font-size: 0.875em; }
#g-nav li.list { position: relative; display: inline-block; margin-right: 2px; }
#g-nav li.list span { cursor: pointer; }
#g-nav li.list span,
#g-nav li.list a { border-right: 1px solid #999; display: block; text-align: center; padding: 10px 20px; }
#g-nav li.list:first-child a { border-left: 1px solid #999; }
#g-nav .dropmenu li.list ul.sub { visibility: hidden; opacity: 0; transition: 0s; position: absolute; top: 35px; left: 0; margin: 0; padding: 0; z-index: 500; width: 220px; }
#g-nav .dropmenu li.list:hover ul { visibility: visible; opacity: 1; display: block; }
#g-nav .dropmenu li.list ul li:last-child a { border-bottom: 1px solid #ccc; }
#g-nav .dropmenu li.list ul li a { visibility: hidden; opacity: 0; transition: 0.9s; background: #fff; display: block; width: 220px; padding: 10px; color: #000; border: 1px solid #ccc; border-bottom: none; }
#g-nav .dropmenu li.list:hover ul li a { visibility: visible; opacity: 1; }
/* ★ サイドバナー */
.side-fix { position: fixed; top: 150px; right: 0; z-index: 500; display: none; }
.side-fix li { margin-bottom: 4px; }
/* ★ エンドバナー */
/*============================
#ee
============================*/
#ee { background-image: url(../images/common/e-bg.png); background-repeat: no-repeat; background-position: center bottom; background-size: 100%; margin-top: 129px; padding-bottom: 78px; .e-en { width: 278.5px; margin: 0 auto; margin-bottom: 29px; }
.e-txt { font-size: 16px; letter-spacing: 0.15em; line-height: 30px; text-align: center; color: #262626; margin-bottom: 53px; }
.e-bnr-list { width: 1600px; margin: 0 auto; margin-bottom: 60px; display: flex; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; >li { width: 47.5%; margin: 0 auto;}
 }
.e-s-box { width: 760px; margin: 0 auto; height: 60px; position: relative; .e-flex { display: flex; align-items: center; flex-wrap: wrap; .e-box-l { width: 252px; .e-txt-2 { font-size: 20px; letter-spacing: 0.15em; line-height: 30px; color: #fff; }
 }
.e-box-r { width: 505px; height: 64px; border-left: 1px solid #FFFFFF; padding-left: 27px; padding-top: 8px; .e-tel { }
 }
 }
.e-txt-3 { font-size: 14px; letter-spacing: 0.15em; line-height: 32px; color: #fff; position: absolute; right: 0px; bottom: -27px; }
 }
 }
/* ★ page-top */
.page-top { position: fixed; bottom: 0; right: 0; }
/* ★ フッター */
.footer-bg-wap { background-image: url(../images/common/f-bg.png); background-repeat: no-repeat; background-position: center 0; background-size: cover; padding-bottom: 144px; }
footer { padding-top: 139px; .f-box { width: 1623px; margin: 0 auto; display: flex; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; .f-box-l { width: 312px; .f-logo { margin-bottom: 24px; img { filter: brightness(0) invert(1); }
 }
.f-txt-1 { font-size: 16px; letter-spacing: 0.1em; line-height: 24px; text-align: left; color: #fff; margin-bottom: 8px; }
.f-txt-2 { font-size: 16px; letter-spacing: 0.1em; line-height: 24px; color: #fff; margin-bottom: 8px; }
.f-txt-3 { font-size: 16px; letter-spacing: 0.1em; line-height: 24px; color: #fff; }
.f-sns { margin-top: 80px; display: flex; align-items: center; flex-wrap: wrap; >li { margin-right: 20px; }
 }
 }
.f-box-r { width: 624px; margin-right: 2px; position: relative; top: -4px; .f-home-txt a { font-size: 14px; letter-spacing: 0.1em; line-height: 24px; color: #fff; margin-bottom: 46px; display: block; }
.f-link-box { display: flex; flex-wrap: wrap; .f-link-en { font-family: "soleil", sans-serif; font-weight: 300; font-size: 16px; letter-spacing: 0.04em; line-height: 28px; color: #fff; margin-bottom: 2px; }
.f-link-list { li { background-image: url(../images/common/f-link-deco.png); background-repeat: no-repeat; background-position: 1px 15px; padding-left: 17px; margin-bottom: 0px; a { color: #fff; font-weight: normal; font-size: 14px; letter-spacing: 0.1em; line-height: 30px; display: block; }
 }
 }
.f-link-l { width: 220px; margin-right: 57px; }
.f-link-m { width: 120px; margin-right: 56px; .f-link-en { }
.f-link-list { }
 }
.f-link-r { width: 171px; .f-link-en { }
.f-link-list { }
 }
 }
 }
 }
 }
.copyright-box { max-width: 1620px; width: 100%; margin: 0 auto; margin-top: 104px; }
/* ★ コピーライト */
.copyright { font-size: 14px; letter-spacing: 0.1em; line-height: 24px; color: #fff; }
 }
@media screen and (min-width: 766px) and (max-width: 1700px) {
 #ee .e-bnr-list { width: 1200px; >li { width: 590px; img { width: 100%; }
 }
 }
footer { .f-box { width: 1100px; }
 }
.copyright-box { max-width: 1100px; }
 }


 
@media screen and (max-width: 767px) {
 /* ★ body */
 body { overflow: hidden; font-size: 3.865vw; font-family: sans-serif; -webkit-text-size-adjust: 100%; font-family: "ryo-gothic-plusn", sans-serif; font-weight: normal; letter-spacing: 0.05em; line-height: 7.729vw; color: #262626; }
/* ★ header */
.sp-header { height: 24.155vw; position: relative; }
.sp-header .h-logo { position: absolute; top: 5.556vw; left: 4.106vw; }
.sp-header .h-menu { position: fixed; top: 1.932vw; right: 1.932vw; z-index: 997; width: 13.043vw; }
/* ★ メガメニュー関係 */
nav#sp-global-nav .h-logo { position: absolute; top: 5.556vw; left: 4.106vw; }
nav#sp-global-nav { font-size: 1.4rem; z-index: 999; overflow: scroll; position: fixed; top: 0; width: 100vw; height: 100vh; display: none; background-color: #F7F7F2; box-sizing: border-box; padding-top: 19.324vw; padding-bottom: 48vw; }
nav#sp-global-nav .open-close-01 { position: fixed; top: 1.932vw; right: 1.932vw; z-index: 998; width: 13.043vw; }
nav#sp-global-nav .open-close-01 img { }
nav#sp-global-nav .list { margin: 12.077vw 0 4.831vw; }
nav#sp-global-nav .list li a { color: #fff; line-height: 1.4; text-decoration: none; padding: 5%; display: block; border-bottom: 1px solid #fff; }
nav#sp-global-nav { .o-en { width: 32.85vw; margin: 0 auto; margin-bottom: 3.382vw; position: relative; left: 0.966vw; }
.o-s-box { width: 83.575vw; margin: 0 auto; padding-bottom: 6.039vw; margin-bottom: 7.246vw; background-image: url(../images/common/sp-o-line.png); background-repeat: no-repeat; background-position: center bottom; background-size: 55.556vw; .o-bnr-list { width: 100%; margin: 0 auto; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; li { border-radius: 10.87vw; margin-bottom: 2.657vw; box-shadow: 2px 2px 14px rgba(0, 0, 0, 0.04); }
 }
 }
.h-box { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; .f-box-l { display: none; .f-logo { margin-bottom: 5.797vw; }
.f-txt-1 { font-size: 3.865vw; letter-spacing: 0.1em; line-height: 5.797vw; text-align: left; color: #262626; margin-bottom: 1.932vw; }
.f-txt-2 { font-size: 3.865vw; letter-spacing: 0.1em; line-height: 5.797vw; color: #262626; margin-bottom: 1.932vw; }
.f-txt-3 { font-size: 3.865vw; letter-spacing: 0.1em; line-height: 5.797vw; color: #262626; }
.f-sns { margin-top: 19.324vw; display: flex; align-items: center; flex-wrap: wrap; >li { margin-right: 4.831vw; &.ano { filter: brightness(0); }
 }
 }
 }
.f-box-r { width: 100%; /* margin-right: 0.483vw; *//* position: relative; *//* top: -1.449vw; *//* right: -0.725vw; */
.f-home-txt a { margin-bottom: 2.899vw; display: inline-block; font-family: Soleil; font-weight: 300; font-size: 3.865vw; letter-spacing: 0.05em; line-height: 6.763vw; color: #262626; padding-left: 4.106vw; .ss { display: none; }
 }
.f-link-box { display: flex; flex-wrap: wrap; .f-link-en { font-family: "soleil", sans-serif; font-weight: 300; font-size: 3.865vw; letter-spacing: 0.04em; line-height: 6.763vw; color: #262626; margin-bottom: 0.242vw; padding-left: 4.106vw; }
.f-link-list { /* background-image: url(../images/common/o-link-line.png); background-repeat: repeat-x; background-position: 0 bottom; background-size: 0.483vw; */
li { a { font-weight: normal; line-height: 7.246vw; display: block; background-image: url(../images/common/sp-o-link-deco.svg),url(../images/common/sp-o-link-deco-02.svg),url(../images/common/o-link-line.png); background-repeat: no-repeat,no-repeat,repeat-x; background-position: 4.831vw 6.28vw,right 7.488vw top 5.314vw,0 bottom; background-size: 0.966vw,1.932vw,0.483vw; padding-left: 7.729vw; padding-top: 2.899vw; padding-bottom: 3.865vw; margin-bottom: 0; font-size: 3.865vw; letter-spacing: 0.05em; color: #262626; }
 }
 }
.f-link-l { width: 100%; margin-right: 0; margin-bottom: 9.903vw; }
.f-link-m { width: 100%; margin-right: 0; margin-bottom: 9.903vw; .f-link-en { }
.f-link-list { }
 }
.f-link-r { width: 100%; margin-bottom: 24.638vw; .f-link-en { }
.f-link-list { }
 }
 }
 }
 }
.o-sns-box { .o-sns-ttl { width: 39.13vw; margin: 0 auto; margin-bottom: 4.106vw; }
.o-sns-list { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; position: relative; left: 3.623vw; >li { width: 7.729vw; margin-right: 4.831vw; &.ano { width: 10.386vw; }
&:last-child { }
 }
 }
 }
 }
/* ★ 下層 h1 エリア */
h1.main-title { background-image: url(../images/common/sp-h1-bg.png); background-repeat: repeat; background-position: center 0; height: 19.324vw; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin-bottom: 12.077vw; }
h1.main-title .jp { font-size: 6.28vw; font-weight: 500; letter-spacing: 0.15em; line-height: 12.56vw; text-align: center; color: #262626; }
h1.main-title .jp { display: block; font-size: 4vw; font-weight: bold; }
h2.sub-title { background: #525252; font-weight: bold; padding: 3%; color: #fff; margin-bottom: 5%; font-size: 5vw; letter-spacing: 0.966vw; text-align: center; }
/* ★ パンくず */
.seo_bread_list { display: none; width: 100%; padding: 5% 5.797vw; margin: 0 auto; font-size: 1.2rem; font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'NotoSansCJKjp',
      'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif; font-weight: normal; font-size: 2.899vw; line-height: 5.797vw; text-align: left; color: #a4a4a4; a { color: #a4a4a4; }
 }
/* ★ サイドバナー */
.sp-fix-list { position: fixed; bottom: 0; width: 100%; z-index: 996; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; align-items: flex-end; }
/* ★ エンドバナー */
/*============================
#ee
============================*/
#ee { background-image: url(../images/common/sp-e-bg.png); background-repeat: no-repeat; background-position: center bottom; margin-top: 31.159vw; padding-bottom: 13.285vw; background-size: 100%; .e-en { width: 58.213vw; margin: 0 auto; margin-bottom: 4.348vw; }
.e-txt { font-size: 3.865vw; letter-spacing: 0.15em; line-height: 7.246vw; text-align: center; color: #262626; margin-bottom: 5.556vw; }
.e-bnr-list { width: 91.787vw; margin: 0 auto; margin-bottom: 4.831vw; display: flex; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; >li { margin-bottom: 1.932vw; }
 }
.e-s-box { width: 100%; margin: 0 auto; position: relative; .e-flex { /* display: flex; *//* align-items: center; *//* flex-wrap: wrap; */ .e-box-l { width: 100%; .e-txt-2 { color: #fff; font-size: 4.348vw; letter-spacing: 0.15em; line-height: 7.246vw; text-align: center; margin-bottom: 6.522vw; }
 }
.e-box-r { width: 100%; .e-tel { width: 83.575vw; margin: 0 auto; position: relative; margin-bottom: 1.208vw; &::before { content: ""; display: block; width: 9.662vw; height: 0.242vw; margin: 0 auto; left: 0; right: 0; top: -4.589vw; position: absolute; background-color: #fff; }
 }
 }
 }
.e-txt-3 { font-size: 3.382vw; letter-spacing: 0.15em; line-height: 7.729vw; color: #fff; text-align: center; }
 }
 }
/* ★ sp-page-top */
.sp-page-top { width: 77.295vw; margin: 0 auto; }
/* ★ フッター */
.footer-bg-wap { background-image: url(../images/common/sp-f-bg.png); background-repeat: no-repeat; background-position: center 0; background-size: 100%; padding-bottom: 25.604vw; padding-top: 12.077vw; }
footer { padding-top: 14.493vw; .f-box { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; .f-box-l { width: 100%; .f-logo { width: 65.942vw; margin: 0 auto; margin-bottom: 4.589vw; }
.f-txt-1 { font-size: 3.865vw; letter-spacing: 0.1em; line-height: 5.797vw; text-align: center; color: #fff; margin-bottom: 1.932vw; }
.f-txt-2 { font-size: 3.865vw; letter-spacing: 0.1em; line-height: 5.797vw; color: #fff; margin-bottom: 1.932vw; text-align: center; }
.f-txt-3 { font-size: 3.865vw; letter-spacing: 0.1em; line-height: 5.797vw; color: #fff; text-align: center; a { color: #fff; }
 }
.f-sns { margin-top: 19.324vw; display: none; >li { margin-right: 4.831vw; }
 }
 }
.f-box-r { display: none; width: 100%; margin-right: 0.483vw; position: relative; top: -0.966vw; .f-home-txt a { font-size: 3.382vw; letter-spacing: 0.1em; line-height: 5.797vw; color: #fff; margin-bottom: 9.42vw; display: block; }
.f-link-box { display: flex; flex-wrap: wrap; .f-link-en { margin-bottom: 1.208vw; }
.f-link-list { li { background-image: url(../images/common/f-link-deco.png); background-repeat: no-repeat; background-position: 0.242vw 3.623vw; padding-left: 4.106vw; margin-bottom: 0; a { color: #fff; font-weight: normal; font-size: 3.382vw; letter-spacing: 0.1em; line-height: 7.246vw; display: block; }
 }
 }
.f-link-l { width: 100%; margin-right: 13.768vw; }
.f-link-m { width: 100%; margin-right: 13.527vw; .f-link-en { }
.f-link-list { }
 }
.f-link-r { width: 100%; .f-link-en { }
.f-link-list { }
 }
 }
 }
 }
 }
/* ★ コピーライト */
.copyright { margin-top: 47.101vw; display: block; font-size: 3.382vw; letter-spacing: 0.1em; line-height: 5.797vw; text-align: center; color: rgb(255, 255, 255); .ss { display: none; }
 }
 }
