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

body { color: #28140a; background: #f6f5f4; font-size: 1.4vw; letter-spacing: .08em; line-height: 1.6; font-family: "Zen Kaku Gothic New", sans-serif; font-weight: 500; font-style: normal; font-feature-settings: "palt"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
@media screen and (max-width: 599px) { body { font-size: 2.8vw; } }
body.no-scroll { overflow: hidden; height: 100vh; }

_:lang(x)::-ms-backdrop, .selector { font-family: "Segoe UI", Meiryo, sans-serif; }

.fnt-Jost { font-family: "Jost", sans-serif; font-optical-sizing: auto; font-weight: 500; font-style: normal; }

p { line-height: 1.8; }

img { border: 0; vertical-align: top; }

input, select { position: relative; top: 1px; }

table, th, td { border-collapse: collapse; border-spacing: 0; }

ul, li { list-style: none; }

a:link, a:visited { color: #28140a; text-decoration: none; transition: opacity 0.5s; }
a:hover, a:active { opacity: .6; }

#cover { width: 100%; height: 100%; position: fixed; background: #ffffff; top: 0; left: 0; z-index: 10000; }

#loader { opacity: 0; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 300px; height: 250px; }
#loader img { width: 100%; height: auto; }

#wrapper { overflow: hidden; position: relative; }

#page-top { opacity: 0; position: fixed; bottom: 20px; right: 20px; z-index: 9000; width: 40px; pointer-events: none; }
#page-top img { width: 100%; height: auto; }
#page-top.fade { opacity: 1; transition: opacity .5s; pointer-events: auto; }

.dd599 { display: none; }
@media screen and (max-width: 599px) { .dd599 { display: block !important; } }

@media screen and (max-width: 599px) { .nn599 { display: none !important; } }

.fadeinS, .fadein1, .fadein2, .fadein3, .fadein4, .fadein5, .fadein6, .fadeinF { opacity: 0; transform: translateY(30px); transition: opacity 1s ease-in, transform 1s ease-out; }
.fadeinS.active, .fadein1.active, .fadein2.active, .fadein3.active, .fadein4.active, .fadein5.active, .fadein6.active, .fadeinF.active { opacity: 1; transform: translateY(0); }

#header { overflow: hidden; position: fixed; top: 0; left: 0; z-index: 9001; display: flex; justify-content: space-between; width: 100%; padding: .8em 3% .7em; background: #ffffff; transition: .5s; box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.1); }
@media screen and (max-width: 599px) { #header { padding: 1.2em 5% 1em; } }
#header h1 { position: relative; width: 16em; }
@media screen and (max-width: 599px) { #header h1 { width: 20em; } }
#header h1 img { width: 100%; height: auto; }
#header nav .gMenu { position: relative; padding: .3em .2em 0 0; }
@media screen and (max-width: 599px) { #header nav .gMenu { position: fixed; display: block; top: 0; left: 0; width: 100%; margin: 0 auto; z-index: 999; opacity: 0; height: 0; max-height: 0; overflow: hidden; transition: max-height .5s, opacity .4s; }
  #header nav .gMenu.active { opacity: 1; height: 100%; max-height: 100%; background: rgba(255, 255, 255, 0.95) url("../img/logo.svg") no-repeat 11.5% 1.2em/20em; } }
#header nav .gMenu ul { position: relative; display: flex; width: 100%; }
@media screen and (max-width: 599px) { #header nav .gMenu ul { display: block; text-align: center; padding: 8.8em 0 0; } }
#header nav .gMenu ul li { padding-left: 2em; }
@media screen and (max-width: 599px) { #header nav .gMenu ul li { padding-left: 0; } }
#header nav .gMenu ul li a { position: relative; display: block; padding-left: 1.4em; font-size: 80%; }
#header nav .gMenu ul li a::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 1em; height: 1em; background: url("../img/icn_arrow_r.svg") no-repeat center center/contain; }
@media screen and (max-width: 599px) { #header nav .gMenu ul li a { width: 100%; font-size: 160%; padding: .7em 0; border-top: 1px solid #beb9b4; }
  #header nav .gMenu ul li a::before { left: 7%; } }
@media screen and (max-width: 599px) { #header nav .gMenu ul li:last-child a { border-bottom: 1px solid #beb9b4; } }
#header nav .menu-trigger { display: none; }
@media screen and (max-width: 599px) { #header nav .menu-trigger { display: inline-block; transition: all .4s; position: absolute; z-index: 9999; width: 2.5em; height: 1em; top: 2em; right: 6%; }
  #header nav .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box; position: absolute; width: 100%; height: 3px; background-color: #28140a; border-radius: 2px; }
  #header nav .menu-trigger span:nth-of-type(1) { top: 0; }
  #header nav .menu-trigger span:nth-of-type(2) { bottom: 0; } }
@media screen and (max-width: 599px) { #header nav .menu-trigger.active { position: fixed; }
  #header nav .menu-trigger.active span:nth-of-type(1) { transform: translateY(0.4em) rotate(-45deg); }
  #header nav .menu-trigger.active span:nth-of-type(2) { transform: translateY(-0.4em) rotate(45deg); } }
#header.top { padding: 2.2em 3% 0; background: transparent; box-shadow: none; }
@media screen and (max-width: 599px) { #header.top { padding: 2.4em 6% 0; } }
#header.top h1 img { filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.3)); }
#header.top nav .gMenu ul li a { color: #ffffff; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); transition: all 0.3s; }
#header.top nav .gMenu ul li a::before { background-image: url("../img/icn_arrow_w.svg"); filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.3)); }
#header.top nav .gMenu ul li a:hover { opacity: 1; color: #28140a; text-shadow: none; }
#header.top nav .gMenu ul li a:hover::before { background-image: url("../img/icn_arrow_b.svg"); filter: none; }
#header.top nav .gMenu.active { background: rgba(255, 255, 255, 0.95) url("../img/logo.svg") no-repeat 13.2% 2.45em/20em; }
#header.top nav .gMenu.active ul li a { color: #28140a; text-shadow: none; }
#header.top nav .gMenu.active ul li a::before { background-image: url("../img/icn_arrow_r.svg"); filter: none; }
@media screen and (max-width: 599px) { #header.top nav .menu-trigger { width: 2.5em; height: 1em; top: 3.15em; right: 8%; }
  #header.top nav .menu-trigger span { background-color: #ffffff; box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5); } }
#header.top nav .menu-trigger.active span { background-color: #28140a; box-shadow: none; }

main { position: relative; }
main section { position: relative; }
main section .btn-qb { text-align: right; }
@media screen and (max-width: 599px) { main section .btn-qb { text-align: center; } }
main section .btn-qb a { position: relative; display: inline-block; text-align: center; font-size: 80%; letter-spacing: .03em; line-height: 1.4; padding: .8em 0; width: 14em; border: 1px solid #28140a; border-radius: 2em; transition: all 0.3s; }
@media screen and (max-width: 599px) { main section .btn-qb a { font-size: 130%; width: 70%; padding: 1em 0; } }
main section .btn-qb a::before { content: ""; position: absolute; left: .8em; top: 50%; transform: translateY(-50%); width: 1.4em; height: 1.4em; background: url("../img/icn_arrow_w2.svg") no-repeat center center/contain; }
main section .btn-qb a:hover { opacity: 1; background: #28140a; color: #ffffff; }
main section .btn-wb { text-align: right; }
@media screen and (max-width: 599px) { main section .btn-wb { text-align: center; } }
main section .btn-wb a { position: relative; display: inline-block; text-align: center; color: #ffffff; font-size: 80%; letter-spacing: .03em; line-height: 1.4; padding: .8em 0; width: 14em; border: 2px solid #ffffff; border-radius: 2em; transition: all 0.3s; }
@media screen and (max-width: 599px) { main section .btn-wb a { font-size: 130%; width: 70%; padding: 1em 0; } }
main section .btn-wb a::before { content: ""; position: absolute; left: .8em; top: 50%; transform: translateY(-50%); width: 1.4em; height: 1.4em; background: url("../img/icn_arrow_w2.svg") no-repeat center center/contain; }
main section .btn-wb a:hover { opacity: 1; background: #ffffff; color: #28140a; }
main section .btn-wb a:hover::before { background-image: url("../img/icn_arrow_b.svg"); }
main section#topMainSct { padding: 1em 0 6em; background: url("../img/wiener02.webp") no-repeat right bottom/28%; }
@media screen and (max-width: 599px) { main section#topMainSct { background-size: 55%; padding: 1em 0 10em; } }
main section#topMainSct.lower { background: none; }
@media screen and (max-width: 599px) { main section#topMainSct.lower { padding: 1em 0 0; } }
main section#topMainSct .mainSlier ul li { position: relative; padding: 0 1em; }
main section#topMainSct .mainSlier ul li .pic { overflow: hidden; border-radius: 1.5em; width: 100%; height: auto; }
main section#topMainSct .mainSlier ul li .wiener { position: absolute; left: 0; top: 50%; transform: translateY(-57%); width: 38%; height: auto; }
@media screen and (max-width: 599px) { main section#topMainSct .mainSlier ul li .wiener { top: 5em; transform: none; width: 71%; } }
main section#topMainSct .mainSlier .copyB { position: absolute; left: 7%; top: 24%; }
@media screen and (max-width: 599px) { main section#topMainSct .mainSlier .copyB { left: 7.5%; top: 12.5em; } }
main section#topMainSct .mainSlier .copyB .head { display: block; color: #ffffff; font-size: 215%; font-weight: 700; letter-spacing: .07em; line-height: 1.5; margin-bottom: .5em; }
@media screen and (max-width: 599px) { main section#topMainSct .mainSlier .copyB .head { font-size: 235%; margin-bottom: .7em; } }
main section#topMainSct .mainSlier .copyB .sub { display: block; color: #ffffff; font-size: 110%; font-weight: 700; letter-spacing: .1em; }
@media screen and (max-width: 599px) { main section#topMainSct .mainSlier .copyB .sub { font-size: 140%; } }
main section#topMainSct .mainSlier .slider-dots { position: absolute; z-index: 950; left: 7%; top: 59%; width: 100%; list-style: none; }
@media screen and (max-width: 599px) { main section#topMainSct .mainSlier .slider-dots { left: 7.5%; top: 27em; width: 55%; } }
main section#topMainSct .mainSlier .slider-dots li { display: inline-block; width: 3em; margin: 0; padding: 0 .5em 0 0; }
@media screen and (max-width: 599px) { main section#topMainSct .mainSlier .slider-dots li { width: 21%; } }
main section#topMainSct .mainSlier .slider-dots li:not(.slick-active ~ li) button:after { background-color: #ffffff; width: 100%; }
main section#topMainSct .mainSlier .slider-dots button { position: relative; width: 100%; height: 2px; border: 0; background-color: #beb9b4; font-size: 0; }
main section#topMainSct .mainSlier .slider-dots button:after { position: absolute; top: 0; left: 0; content: ''; display: block; width: 0%; height: 100%; }
main section#topMainSct .mainSlier .slider-dots .slick-active button:after { background-color: #ffffff; animation: progress 10s linear forwards; }
main section#topMainSct .picuSlider { position: relative; top: -11.5em; margin-bottom: -11.5em; }
main section#topMainSct .picuSlider .ttl { display: block; text-align: center; color: #ffffff; font-size: 160%; margin-bottom: .2em; }
main section#topMainSct .picuSlider ul { display: flex; justify-content: center; margin: 0 auto; width: 66%; }
@media screen and (max-width: 599px) { main section#topMainSct .picuSlider ul { width: 100%; } }
main section#topMainSct .picuSlider ul li { width: 30%; padding: 1em; }
@media screen and (max-width: 599px) { main section#topMainSct .picuSlider ul li { padding: .6em; } }
main section#topMainSct .picuSlider ul li a { position: relative; display: block; overflow: hidden; border-radius: .8em; box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.3); top: 0; transition: top .1s; }
@media screen and (max-width: 599px) { main section#topMainSct .picuSlider ul li a { border-radius: 1.2em; } }
main section#topMainSct .picuSlider ul li a:hover { opacity: 1; top: 2px; }
main section#topMainSct .picuSlider ul li a img { width: 100%; height: auto; }
main section#topMainSct .lowBgPic { position: relative; z-index: 1; }
@media screen and (max-width: 599px) { main section#topMainSct .lowBgPic { top: -.5em; margin-bottom: -.5em; } }
main section#topMainSct .lowBgPic img { width: 100%; height: auto; }
main section#topMainSct .lowBnrPic { position: relative; z-index: 9; display: block; width: 93.75%; height: auto; padding-top: 18em; margin-left: 6.25%; }
@media screen and (max-width: 599px) { main section#topMainSct .lowBnrPic { width: 93.3%; padding-top: 26em; margin-left: 6.7%; } }
main section#topMainSct .lowBnrPic img { display: block; width: 100%; height: auto; border-top-left-radius: 1.2em; border-bottom-left-radius: 1.2em; }
main section#topMainSct .lowCopyB { position: absolute; z-index: 15; top: 5.5em; left: 6%; }
@media screen and (max-width: 599px) { main section#topMainSct .lowCopyB { top: 16em; left: 6.7%; } }
@media screen and (max-width: 599px) { main section#topMainSct .lowCopyB.bottom { top: inherit; bottom: 8em; } }
main section#topMainSct .lowCopyB .breadcrumb { display: flex; font-size: 70%; margin-bottom: 6.5em; }
@media screen and (max-width: 599px) { main section#topMainSct .lowCopyB .breadcrumb { display: none; } }
main section#topMainSct .lowCopyB .breadcrumb li { position: relative; padding-right: .5em; }
main section#topMainSct .lowCopyB .breadcrumb li::after { content: ">"; display: inline-block; color: #ffffff; margin-left: .5em; }
main section#topMainSct .lowCopyB .breadcrumb li a { color: #ffffff; }
main section#topMainSct .lowCopyB .breadcrumb li a:hover { color: #e6002d; }
main section#topMainSct .lowCopyB .breadcrumb li:last-child { padding-right: 0; }
main section#topMainSct .lowCopyB .breadcrumb li:last-child::after { display: none; }
main section#topMainSct .lowCopyB .breadcrumb.brown li::after { color: #28140a; }
main section#topMainSct .lowCopyB .breadcrumb.brown li a { color: #28140a; }
main section#topMainSct .lowCopyB h2 { color: #ffffff; }
main section#topMainSct .lowCopyB h2 .jp { display: block; font-size: 245%; font-weight: 700; letter-spacing: .05em; }
@media screen and (max-width: 599px) { main section#topMainSct .lowCopyB h2 .jp { font-size: 265%; margin-bottom: .2em; } }
main section#topMainSct .lowCopyB h2 .en { display: block; font-size: 115%; letter-spacing: .04em; line-height: 1.2; }
@media screen and (max-width: 599px) { main section#topMainSct .lowCopyB h2 .en { font-size: 150%; line-height: 1.1; } }
main section#topMainSct .lowCopyB h2.color .jp { color: #28140a; }
main section#topMainSct .lowCopyB h2.color .en { color: #e6002d; }
main section#topMainSct .lowCopyB h2.bottom { margin-top: 13em; }
@media screen and (max-width: 599px) { main section#topMainSct .lowCopyB h2.bottom { position: absolute; bottom: 0; left: 0; } }
main section#topMainSct .lowCopyB h2.bottom .jp { font-size: 130%; }
@media screen and (max-width: 599px) { main section#topMainSct .lowCopyB h2.bottom .jp { font-size: 145%; } }
main section#topMainSct .wiener05 { position: absolute; z-index: 3; top: 7em; right: 0; width: 22em; height: auto; }
@media screen and (max-width: 599px) { main section#topMainSct .wiener05 { top: 11em; width: 50%; } }
main section#topMainSct .wiener06 { position: absolute; z-index: 2; top: 31em; left: 0; width: 19em; height: auto; }
@media screen and (max-width: 599px) { main section#topMainSct .wiener06 { top: 61em; width: 45%; } }
main section#topNewsSct { position: relative; padding: 0 12.5%; }
@media screen and (max-width: 599px) { main section#topNewsSct { padding: 2em 5% 3em; } }
main section#topNewsSct h2 { position: relative; display: flex; align-items: center; margin-bottom: 2em; }
@media screen and (max-width: 599px) { main section#topNewsSct h2 { font-size: 150%; } }
main section#topNewsSct h2 span { font-size: 220%; line-height: 1; padding-right: .5em; }
main section#topNewsSct h2 small { font-size: 110%; font-weight: 700; line-height: 1.6; padding-left: 1em; border-left: 2px solid #28140a; }
main section#topNewsSct .postB { position: relative; margin-bottom: 2em; }
@media screen and (max-width: 599px) { main section#topNewsSct .postB { font-size: 140%; margin-bottom: 3em; } }
main section#topNewsSct .postB li { position: relative; display: flex; justify-content: space-between; align-items: baseline; padding: 1.1em 0; border-top: 1px solid #beb9b4; }
@media screen and (max-width: 599px) { main section#topNewsSct .postB li { flex-wrap: wrap; justify-content: flex-start; padding: 1em 3% 1.2em; } }
main section#topNewsSct .postB li:last-child { border-bottom: 1px solid #beb9b4; }
main section#topNewsSct .postB li .cate { width: 14%; padding: 0 .8em; }
@media screen and (max-width: 599px) { main section#topNewsSct .postB li .cate { width: 28%; padding: 0; } }
main section#topNewsSct .postB li .cate p { display: inline-block; white-space: nowrap; color: #ffffff; font-size: 60%; letter-spacing: 0; line-height: 1.4; background: #827d78; padding: .3em 1em; border-radius: 2em; }
main section#topNewsSct .postB li .date { width: 9%; color: #827d78; font-size: 70%; line-height: 1.4; letter-spacing: 0; }
@media screen and (max-width: 599px) { main section#topNewsSct .postB li .date { width: 30%; } }
main section#topNewsSct .postB li .ttl { width: 71%; font-size: 90%; line-height: 1.4; padding-right: .5em; }
@media screen and (max-width: 599px) { main section#topNewsSct .postB li .ttl { width: 90%; padding-top: .8em; } }
main section#topNewsSct .postB li .ttl a { color: #e6002d; text-decoration: underline; }
main section#topNewsSct .postB li .detailB { width: 6%; line-height: 1.4; text-align: center; align-self: center; }
@media screen and (max-width: 599px) { main section#topNewsSct .postB li .detailB { width: 10%; } }
main section#topNewsSct .postB li .detailB a { position: relative; display: inline-block; width: 1.8em; height: 1.8em; background: url("../img/icn_arrow_lw.svg") no-repeat center center/cover; transition: all 0.3s; }
main section#topNewsSct .postB li .detailB a:hover { opacity: 1; background-image: url("../img/icn_arrow_l.svg"); }
main section#topContentsSct .headLine { position: relative; padding: 8em 1em 4em; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine { padding: 12em 0 5em; } }
main section#topContentsSct .headLine.bg1 { background: url("../img/wiener03.webp") no-repeat left top/27%; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine.bg1 { background-size: 60%; } }
main section#topContentsSct .headLine.bg2 { background: url("../img/wiener04.webp") no-repeat right top/36%; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine.bg2 { background-size: 78%; } }
main section#topContentsSct .headLine.bg3 { background: url("../img/wiener05.webp") no-repeat left top/35%; padding-bottom: 6em; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine.bg3 { background-size: 72%; padding-bottom: 8em; } }
main section#topContentsSct .headLine .bgImg { position: relative; width: 100%; height: auto; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine .bgImg { display: block; width: calc(100% - 2em); margin: 0 auto; } }
main section#topContentsSct .headLine .txtB { position: absolute; top: 11.8em; left: 7%; width: 86%; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine .txtB { top: 19em; } }
main section#topContentsSct .headLine .txtB h2.ttl { position: relative; display: flex; align-items: center; margin-bottom: 2em; color: #ffffff; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine .txtB h2.ttl { display: block; font-size: 150%; } }
main section#topContentsSct .headLine .txtB h2.ttl span { font-size: 220%; line-height: 1; padding-right: .5em; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine .txtB h2.ttl span { display: block; margin-bottom: .2em; } }
main section#topContentsSct .headLine .txtB h2.ttl small { font-size: 110%; font-weight: 700; line-height: 1.6; padding-left: 1em; border-left: 2px solid #ffffff; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine .txtB h2.ttl small { display: block; font-size: 100%; padding-left: 0; border: none; } }
main section#topContentsSct .headLine .txtB h2.ttl2 { position: relative; display: block; text-align: center; margin: 2em auto 1em; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine .txtB h2.ttl2 { margin: 1em auto; } }
main section#topContentsSct .headLine .txtB h2.ttl2 p { font-size: 120%; letter-spacing: .02em; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine .txtB h2.ttl2 p { display: block; font-size: 175%; line-height: 1.6; } }
main section#topContentsSct .headLine .txtB h2.ttl2 p span { color: #e6002d; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine .txtB h2.ttl2 p span { display: block; } }
main section#topContentsSct .headLine .txtB .copy { margin-top: 8.4em; display: block; color: #ffffff; font-size: 175%; font-weight: 700; line-height: 1.4; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine .txtB .copy { margin-top: 12em; font-size: 210%; line-height: 1.6; } }
main section#topContentsSct .headLine .txtB .copy2 { margin-top: 6.7em; display: block; color: #ffffff; font-size: 175%; font-weight: 700; line-height: 1.4; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine .txtB .copy2 { margin-top: 9.4em; font-size: 210%; line-height: 1.6; } }
main section#topContentsSct .headLine .txtB .txt { margin-top: 2.6em; display: block; color: #ffffff; font-size: 80%; font-weight: 700; line-height: 1.6; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine .txtB .txt { margin-top: 1em; font-size: 130%; line-height: 1.8; } }
main section#topContentsSct .headLine .txtB .postionT { position: relative; top: -2em; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine .txtB .postionT { top: 0; margin-top: 3.8em; } }
main section#topContentsSct .headLine .txtB .copy3 { margin: 0 auto -3em; width: 84%; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine .txtB .copy3 { position: relative; margin: 17em auto 1em; width: 105%; left: -4%; } }
main section#topContentsSct .headLine .txtB .copy3 img { width: 100%; height: auto; }
main section#topContentsSct .headLine .txtB .txt2 { display: block; text-align: center; color: #ffffff; font-size: 125%; font-weight: 700; margin-bottom: 1em; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine .txtB .txt2 { white-space: nowrap; font-size: 180%; margin-bottom: 1.6em; } }
main section#topContentsSct .headLine .txtB .postionC { text-align: center !important; }
main section#topContentsSct .headLine .companySlider { position: relative; top: -4.5em; margin-bottom: -4.5em; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine .companySlider { top: -5.6em; margin-bottom: -5.6em; } }
main section#topContentsSct .headLine .companySlider ul { display: flex; justify-content: center; }
main section#topContentsSct .headLine .companySlider ul li { width: 30%; padding: 1em; }
@media screen and (max-width: 599px) { main section#topContentsSct .headLine .companySlider ul li { padding: .6em; } }
main section#topContentsSct .headLine .companySlider ul li a { position: relative; display: block; overflow: hidden; border-radius: .8em; box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.3); top: 0; transition: top .1s; }
main section#topContentsSct .headLine .companySlider ul li a:hover { opacity: 1; top: 2px; }
main section#topContentsSct .headLine .companySlider ul li a img { position: relative; width: 100%; height: auto; }
main section#topContentsSct .headLine .companySlider ul li a .head { position: absolute; left: 7%; bottom: 1em; width: 86%; color: #ffffff; }
main section#topContentsSct .headLine .companySlider ul li a .head::after { content: ""; position: absolute; right: 0; bottom: .2em; width: 1.4em; height: 1.4em; background: url("../img/icn_arrow_lw.svg") no-repeat center center/contain; }
main section#topContentsSct .headLine .companySlider ul li a .head .en { font-size: 65%; letter-spacing: .02em; line-height: 1.4; }
main section#topContentsSct .headLine .companySlider ul li a .head .jp { font-size: 105%; font-weight: 700; letter-spacing: .08em; line-height: 1.4; }
main section#lowerContentsSct { background: #f6f5f4; }
main section#lowerContentsSct.cover { position: relative; z-index: 8; top: -2.8em; margin-bottom: -2.8em; background: #f6f5f4; border-top-left-radius: 1.2em; border-top-right-radius: 1.2em; padding: 5em 0 0; }
@media screen and (max-width: 599px) { main section#lowerContentsSct.cover { padding: 5em 0 0; top: -4.3em; margin-bottom: -4.3em; } }
main section#lowerContentsSct.cover .lowerCmnBox { padding: 0 1.25% 1em; }
@media screen and (max-width: 599px) { main section#lowerContentsSct.cover .lowerCmnBox { padding: 0 2.7% 1em; } }
main section#lowerContentsSct .lowerCmnBox { position: relative; padding: 7em 1.25% 1em; }
@media screen and (max-width: 599px) { main section#lowerContentsSct .lowerCmnBox { padding: 8em 2.7% 1em; } }
main section#lowerContentsSct .lowerCmnBox.em1 { padding: 0 1.25% 1em; }
@media screen and (max-width: 599px) { main section#lowerContentsSct .lowerCmnBox.em1 { padding: 0 2.7% 1em; } }
main section#lowerContentsSct .lowerCmnBox .wiener09 { position: absolute; z-index: 1; margin-top: -28.5em; right: 0; width: 18em; height: auto; }
@media screen and (max-width: 599px) { main section#lowerContentsSct .lowerCmnBox .wiener09 { margin-top: -46.5em; width: 45%; } }
main section#lowerContentsSct .lowerCmnBox .wiener10 { position: absolute; z-index: 1; top: 0; left: 0; width: 16em; height: auto; }
@media screen and (max-width: 599px) { main section#lowerContentsSct .lowerCmnBox .wiener10 { width: 33%; } }
main section#lowerContentsSct .lowerCmnBox .wiener10.down { top: 10em; }
@media screen and (max-width: 599px) { main section#lowerContentsSct .lowerCmnBox .wiener10.down { top: 34em; } }
main section#lowerContentsSct .lowerCmnBox .wiener10.up { top: -10em; }
main section#lowerContentsSct .lowerCmnBox .wiener10.up2 { top: -5em; }
@media screen and (max-width: 599px) { main section#lowerContentsSct .lowerCmnBox .wiener10.up2 { top: -2em; } }
main section#lowerContentsSct .lowerCmnBox .wiener07b { position: absolute; z-index: 1; margin-top: -30em; left: 0; width: 18em; height: auto; }
@media screen and (max-width: 599px) { main section#lowerContentsSct .lowerCmnBox .wiener07b { margin-top: -46.5em; width: 45%; } }
main section#lowerContentsSct .lowerCmnBox .wiener07b.v2 { margin-top: -12em; }
@media screen and (max-width: 599px) { main section#lowerContentsSct .lowerCmnBox .wiener07b.v2 { margin-top: -16em; } }
main section#lowerContentsSct .lowerCmnBox .box { position: relative; z-index: 5; background: #ffffff; padding: 4em 0 3em; border-radius: 1.2em; }
@media screen and (max-width: 599px) { main section#lowerContentsSct .lowerCmnBox .box { padding: 6.5em 9% 5em; } }
main section#lowerContentsSct .lowerCmnBox .box h3 { display: block; text-align: center; margin-bottom: 3.5em; }
@media screen and (max-width: 599px) { main section#lowerContentsSct .lowerCmnBox .box h3 { font-size: 145%; } }
main section#lowerContentsSct .lowerCmnBox .box h3 .en { display: block; color: #e6002d; letter-spacing: 0; }
main section#lowerContentsSct .lowerCmnBox .box h3 .jp { display: block; font-size: 130%; }
main section#lowerContentsSct .lowerCmnBox .box .btn-3 { position: relative; display: flex; flex-wrap: wrap; width: 70%; margin: 0 auto; }
@media screen and (max-width: 599px) { main section#lowerContentsSct .lowerCmnBox .box .btn-3 { width: 100%; } }
main section#lowerContentsSct .lowerCmnBox .box .btn-3 li { width: calc(100% / 3); padding: 0 1.3em; margin-bottom: 2em; }
@media screen and (max-width: 599px) { main section#lowerContentsSct .lowerCmnBox .box .btn-3 li { margin-bottom: 2.6em; width: 100%; } }
main section#lowerContentsSct .lowerCmnBox .box .btn-3 li a { display: inline-block; font-size: 90%; width: 100%; padding: .3em .5em; border-bottom: 1px solid #28140a; background: url("../img/icn_arrow_g.svg") no-repeat 98% center/1em; }
@media screen and (max-width: 599px) { main section#lowerContentsSct .lowerCmnBox .box .btn-3 li a { font-size: 165%; width: 100%; padding: .5em 0; background: url("../img/icn_arrow_g2.svg") no-repeat right center/1.5em; } }
main section#lowerContentsSct .lowerCmnBox .box .btn-3 li:nth-child(4) { margin-bottom: 5em; }

@keyframes progress { from { width: 0%; }
  to { width: 100%; } }
#footer { overflow: hidden; position: relative; z-index: 15; padding: 5em 0 4em; background: #ffffff; }
@media screen and (max-width: 599px) { #footer { padding: 6em 0 2.5em; } }
#footer .box1 { position: relative; display: flex; justify-content: space-between; margin-bottom: 2em; }
@media screen and (max-width: 599px) { #footer .box1 { display: block; margin-bottom: 0; } }
#footer .box1 > div { width: 50%; padding: 0 6.25%; }
@media screen and (max-width: 599px) { #footer .box1 > div { width: 100%; padding: 0; } }
#footer .box1 > div .logo { position: relative; width: 16em; margin-bottom: 1.8em; }
@media screen and (max-width: 599px) { #footer .box1 > div .logo { width: 75%; margin: 0 auto 3em; } }
#footer .box1 > div .logo img { width: 100%; height: auto; }
#footer .box1 > div .recTtl { position: relative; display: block; letter-spacing: .05em; margin-bottom: 1.8em; }
@media screen and (max-width: 599px) { #footer .box1 > div .recTtl { text-align: center; font-size: 170%; line-height: 1.4; margin-top: 3.4em; } }
#footer .box1 > div .recTtl span { color: #e6002d; }
@media screen and (max-width: 599px) { #footer .box1 > div .recTtl span { display: block; } }
#footer .box1 > div .menuF { position: relative; display: flex; flex-wrap: wrap; }
@media screen and (max-width: 599px) { #footer .box1 > div .menuF { display: block; text-align: center; border-bottom: 1px solid #beb9b4; margin-bottom: 3.5em; } }
#footer .box1 > div .menuF > li { position: relative; padding: 0 3em 1.6em 0; }
@media screen and (max-width: 599px) { #footer .box1 > div .menuF > li { width: 100%; padding: 0; border-top: 1px solid #beb9b4; } }
#footer .box1 > div .menuF > li .ttl { position: relative; display: block; margin-bottom: .2em; }
#footer .box1 > div .menuF > li .ttl a { position: relative; white-space: nowrap; font-size: 70%; letter-spacing: .05em; padding-left: 1.4em; background: url("../img/icn_arrow_r.svg") no-repeat left center/1em; }
@media screen and (max-width: 599px) { #footer .box1 > div .menuF > li .ttl a { display: block; font-size: 160%; padding: .55em 0; background-position: 7% center; } }
#footer .box1 > div .menuF > li .ttl .openB { display: none; }
@media screen and (max-width: 599px) { #footer .box1 > div .menuF > li .ttl .openB { display: block; position: absolute; z-index: 10; right: 7%; top: 50%; transform: translateY(-50%); width: 2.4em; height: 2.4em; background: url("../img/icn_plus.svg") no-repeat center center/cover; cursor: pointer; transition: transform .3s; }
  #footer .box1 > div .menuF > li .ttl .openB.open { transform: translateY(-50%) rotate(45deg); } }
#footer .box1 > div .menuF > li .subM { position: relative; }
@media screen and (max-width: 599px) { #footer .box1 > div .menuF > li .subM { height: 0; overflow: hidden; transition: all .3s; }
  #footer .box1 > div .menuF > li .subM.open { height: auto; top: -.6em; margin-bottom: .2em; } }
#footer .box1 > div .menuF > li .subM > li a { color: #827d78; font-size: 70%; letter-spacing: .03em; padding-left: 1.4em; background: url("../img/icn_arrow.svg") no-repeat 2% center/0.6em; }
@media screen and (max-width: 599px) { #footer .box1 > div .menuF > li .subM > li a { display: inline-block; font-size: 140%; padding: .5em 0 .5em 1.4em; } }
#footer .box1 > div .menuF.w3 > li { width: calc(100% / 3); padding-right: 0; }
@media screen and (max-width: 599px) { #footer .box1 > div .menuF.w3 > li { width: 100%; } }
#footer .box2 { position: relative; display: flex; justify-content: space-between; }
@media screen and (max-width: 599px) { #footer .box2 { display: block; } }
#footer .box2 > div { width: 50%; padding: 0 6.25%; }
@media screen and (max-width: 599px) { #footer .box2 > div { width: 100%; padding: 0; } }
#footer .box2 > div .menuF2 { display: flex; }
@media screen and (max-width: 599px) { #footer .box2 > div .menuF2 { display: block; text-align: center; margin-bottom: 3em; } }
#footer .box2 > div .menuF2 > li a { display: block; font-size: 70%; letter-spacing: .03em; padding-left: 3em; }
@media screen and (max-width: 599px) { #footer .box2 > div .menuF2 > li a { display: inline-block; font-size: 120%; padding-left: 0; margin-bottom: 1em; } }
#footer .box2 > div .menuF2 > li a.outL { letter-spacing: 0; padding-left: 0; padding-right: 1.2em; background: url("../img/icn_link.svg") no-repeat right center/1.2em; }
#footer .box2 > div .cpr { color: #827d78; text-align: right; font-size: 60%; letter-spacing: .02em; }
@media screen and (max-width: 599px) { #footer .box2 > div .cpr { text-align: center; font-size: 100%; } }
