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

body { color: #fff; background: #000 url("../img/bg-new22.jpg") repeat-y center top fixed; background-size: 100% auto; font-size: 1.54vw; font-weight: 400; font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif; font-feature-settings: "palt"; letter-spacing: .8px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-text-size-adjust: 100%; }
@media screen and (max-width: 480px) { body { font-size: 3vw; background-size: 150% auto; } }

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

.fnt-TbmM { font-family: tbudmincho-std,sans-serif; font-weight: 500; font-style: normal; }
.fnt-TbmH { font-family: tbudmincho-std,sans-serif; font-weight: 900; font-style: normal; }
.fnt-NsM { font-weight: 500; }
.fnt-NsB { font-weight: 700; }

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: #f00; text-decoration: none; transition: opacity 0.5s; }
a:hover, a:active { opacity: .6; }
a.nolink { pointer-events: none; opacity: .5; }

#cover { width: 100%; height: 100%; position: fixed; background: #000; 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: 51px; }
#loader img { width: 100%; height: auto; }
@media screen and (max-width: 519px) { #loader { width: 200px; height: 34px; } }

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

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

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

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

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

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

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

.feedin1 { opacity: 1 !important; transform: translateY(0) !important; }
.feedin1-no { opacity: 0; transform: translateY(20px); transition: opacity .6s ease-in 0.1s, transform .6s ease-out 0.1s; }

.feedin2 { opacity: 1 !important; transform: translateY(0) !important; }
.feedin2-no { opacity: 0; transform: translateY(20px); transition: opacity .6s ease-in 0.3s, transform .6s ease-out 0.3s; }

.feedin3 { opacity: 1 !important; transform: translateY(0) !important; }
.feedin3-no { opacity: 0; transform: translateY(20px); transition: opacity .6s ease-in 0.5s, transform .6s ease-out 0.5s; }

#header { overflow: hidden; position: fixed; top: 0; left: 0; display: flex; flex-direction: column; justify-content: space-between; flex-wrap: wrap; width: 100%; height: 9vw; z-index: 9000; border: 1px solid #fff; text-align: center; color: #fff; font-size: 80%; }

#header h1 { position: relative; width: 22%; height: 9vw; border-right: 1px solid #fff; background: rgba(0, 0, 0, 0.6); }

#header h1 .language-sp { display: none; }

#header h1 a { display: block; }

#header h1 a img { display: block; width: auto; height: 6vw; margin: 1.5vw auto; }

#header #s1Menu { position: relative; width: 78%; height: 48%; border-bottom: 1px solid #fff; }

#header #s1Menu ul { display: flex; justify-content: space-between; height: 100%; }

#header #s1Menu ul li { display: block; width: 20%; border-right: 1px solid #fff; }

#header #s1Menu ul li.language { position: relative; width: 10%; background: rgba(0, 0, 0, 0.6); }
#header #s1Menu ul li.language div { position: relative; text-align: center; top: 50%; transform: translateY(-50%); }
#header #s1Menu ul li.language div span { opacity: .6; }
#header #s1Menu ul li.language div a { color: #fff; font-weight: 600; }

#header #s1Menu ul li.add { position: relative; height: 100%; width: 40%; background: rgba(0, 0, 0, 0.6); }

#header #s1Menu ul li.add span { position: relative; font-size: 85%; font-weight: 500; line-height: 1.2; padding-right: 2.4vw; }

#header #s1Menu ul li.add span .icn { position: absolute; right: 0; top: 0; bottom: 0; margin: auto; width: 1.5vw; height: 2.2vw; }

#header #s1Menu ul li.web a span { font-size: 90%; font-weight: 700; letter-spacing: normal; padding-left: 2.6vw; }

#header #s1Menu ul li.web a span::before { position: absolute; content: ""; top: 0; left: 0; bottom: 0; margin: auto; width: 2vw; height: 2vw; background: url("../img/icn_hd_web.svg") no-repeat center center; background-size: contain; }

#header #s1Menu ul li.tel a span { font-size: 70%; line-height: 1.1; letter-spacing: normal; font-weight: 700; padding-left: 2.6vw; }

#header #s1Menu ul li.tel a span::before { position: absolute; content: ""; top: 0; left: 0; bottom: 0; margin: auto; width: 2vw; height: 2vw; background: url("../img/icn_hd_tel.svg") no-repeat center center; background-size: contain; }

#header #s1Menu ul li.tel a span small { font-size: 70%; }

#header #s1Menu ul li.tel a span b { font-size: 130%; }

#header #s1Menu ul li.web a, #header #s1Menu ul li.tel a { position: relative; display: block; height: 100%; background: rgba(0, 0, 0, 0.6); color: #fff; }

#header #s1Menu ul li.sns { position: relative; width: 10%; background: rgba(0, 0, 0, 0.6); }

#header #s1Menu ul li.sns span { display: flex; }

#header #s1Menu ul li.sns span a { display: block; width: 2vw; height: 2vw; margin: 0 .4vw; }

#header #s2Menu { position: relative; width: 78%; height: 52%; }

#header #s2Menu ul { display: flex; justify-content: space-between; height: 100%; }

#header #s2Menu ul li { display: block; width: 20%; border-right: 1px solid #fff; }

#header #s2Menu ul li a { position: relative; display: block; height: 100%; background: rgba(0, 0, 0, 0.6); color: #fff; letter-spacing: 2px; font-weight: 700; }

#header #s1Menu ul li:last-child, #header #s2Menu ul li:nth-last-child(2) { border-right: none; }

#header #s1Menu ul li.add span, #header ul li.web a span, #header ul li.tel a span, #header ul li.sns span, #header #s2Menu ul li a span { position: absolute; display: inline-block; white-space: nowrap; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); }

#header a:hover { opacity: .6; }

#header #s2Menu ul li.sns, #header #s2Menu ul li.yahoo, .menu-trigger, #spFtMenu { display: none; }

@media screen and (max-width: 800px) { #header { font-size: 12px; }
  #header #s1Menu ul li.web a span, #header #s1Menu ul li.tel a span { padding-left: 0; }
  #header #s1Menu ul li.web a span::before, #header #s1Menu ul li.tel a span::before { display: none; } }
@media screen and (max-width: 600px) { #header { width: 100%; height: 3em; border: 1px solid #fff; font-size: 20px; background: rgba(0, 0, 0, 0.6); transition: all .4s; }
  #header.active { height: 100vh; background: rgba(0, 0, 0, 0.8); }
  #header h1 { position: relative; width: 100%; height: auto; border-right: none; background: transparent; }
  #header h1 a img { height: 2em; margin: .5em auto; }
  #header #s1Menu { display: none; }
  #header h1 .language-sp { display: block; position: absolute; left: .6em; top: 1em; }
  #header h1 .language-sp a { font-size: 70%; line-height: 1.3; letter-spacing: normal; padding: 0 .4em .1em; color: #fff; border: 1px solid #fff; border-radius: .3em; }
  #header #s2Menu { position: absolute; top: 50%; transform: translateY(-60%); width: 100%; height: 0; overflow: hidden; }
  #header.active #s2Menu { height: auto; }
  #header #s2Menu ul { display: block; height: auto; }
  #header #s2Menu ul li { width: 100%; border-right: none; }
  #header #s2Menu ul li a { height: 3em; background: transparent; }
  #header #s2Menu ul li.sns { position: relative; display: block; height: 3.5em; }
  #header #s2Menu ul li.sns span { display: flex; position: absolute; white-space: nowrap; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); }
  #header #s2Menu ul li.sns span a { display: block; width: 1em; height: 1em; margin: 0 .5em; }
  #header #s2Menu ul li.sns span a.icn { width: .75em; }
  #header #s2Menu ul li.yahoo { position: relative; display: block; height: 3.5em; }
  #header #s2Menu ul li.yahoo span { display: flex; position: absolute; white-space: nowrap; left: 50%; top: 50%; transform: translateX(-80%) translateY(-50%); }
  #header #s2Menu ul li.yahoo span a { display: block; width: 8em; margin: 0 .5em; font-size: 70%; }
  #header #s2Menu ul li.yahoo span a.logo img { width: 100%; height: auto; margin-right: .5em; }
  .menu-trigger, .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box; }
  .menu-trigger { position: fixed; z-index: 9999; width: 34px; height: 30px; top: 15px; right: 20px; }
  .menu-trigger span { position: absolute; left: 0; width: 100%; height: 3px; background-color: #fff; }
  .menu-trigger span:nth-of-type(1) { top: 0; }
  .menu-trigger span:nth-of-type(2) { top: 14px; }
  .menu-trigger span:nth-of-type(3) { bottom: 0; }
  .menu-trigger.active span:nth-of-type(1) { transform: translateY(15px) rotate(-45deg); }
  .menu-trigger.active span:nth-of-type(2) { opacity: 0; }
  .menu-trigger.active span:nth-of-type(3) { transform: translateY(-11px) rotate(45deg); }
  #spFtMenu { display: block; position: fixed; z-index: 9995; bottom: 0; left: 0; width: 100%; height: 4em; text-align: center; font-size: 14px; border: 1px solid #fff; }
  #spFtMenu ul { display: flex; justify-content: space-between; width: 100%; height: 100%; }
  #spFtMenu ul li { display: block; width: 50%; height: 100%; border-right: 1px solid #fff; }
  #spFtMenu ul li:last-child { border-right: none; }
  #spFtMenu ul li a { position: relative; display: block; height: 100%; background: rgba(0, 0, 0, 0.8); color: #fff; }
  #spFtMenu ul li a:hover { opacity: .6; }
  #spFtMenu ul li a span { position: absolute; display: inline-block; white-space: nowrap; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); }
  #spFtMenu ul li.web a span { font-size: 100%; font-weight: 700; letter-spacing: normal; padding-left: 35px; }
  #spFtMenu ul li.web a span::before { position: absolute; content: ""; top: 0; left: 0; bottom: 0; margin: auto; width: 25px; height: 25px; background: url("../img/icn_hd_web.svg") no-repeat center center; background-size: contain; }
  #spFtMenu ul li.tel a span { font-size: 80%; line-height: 1.2; font-weight: 700; letter-spacing: normal; padding-left: 35px; }
  #spFtMenu ul li.tel a span::before { position: absolute; content: ""; top: 0; left: 0; bottom: 0; margin: auto; width: 25px; height: 25px; background: url("../img/icn_hd_tel.svg") no-repeat center center; background-size: contain; }
  #spFtMenu ul li.tel a span small { font-size: 70%; }
  #spFtMenu ul li.tel a span b { font-size: 120%; } }
main { position: relative; }
main section { position: relative; }
main section.reverseC { background: rgba(255, 255, 255, 0.7); }
main section.reverseC h2 { color: #000; }
main section h2 { display: block; line-height: 1.4; text-align: center; margin-bottom: 5em; }
main section h2 span { position: relative; display: block; font-weight: 500; font-size: 300%; letter-spacing: .2em; padding-left: .2em; }
main section h2 span::before { content: ""; position: absolute; left: 0; top: 60%; height: 4px; width: 34vw; background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%); }
@media screen and (max-width: 480px) { main section h2 span::before { width: 25vw; } }
main section h2 span::after { content: ""; position: absolute; right: 0; top: 60%; height: 4px; width: 34vw; background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%); }
@media screen and (max-width: 480px) { main section h2 span::after { width: 25vw; } }
main section h2 small { display: block; font-size: 140%; font-weight: 600; letter-spacing: .3em; padding-left: .3em; }
main section .btn { position: relative; display: inline-block; color: #000; font-size: 120%; letter-spacing: .3vw; background: #fff; padding: 1.3vw 5vw; }
main section .btn.non { font-size: 100%; text-align: center; opacity: .4; }
@media screen and (max-width: 480px) { main section .btn { padding: 5vw 10vw; font-size: 140%; } }
main section .btn small { display: block; font-size: 80%; padding-top: .1em; letter-spacing: normal; }
main section .btn2 { position: relative; display: inline-block; color: #fff; font-size: 120%; letter-spacing: .3vw; background: #000; padding: 1.3vw 5vw; }
@media screen and (max-width: 480px) { main section .btn2 { padding: 5vw 10vw; font-size: 140%; } }
main section .atn { display: block; position: relative; font-size: 60%; padding-top: .2vw; padding-left: 1vw; }
@media screen and (max-width: 480px) { main section .atn { padding-top: .4vw; padding-left: 2vw; } }
main section .atn::before { position: absolute; left: 0; content: "*"; }
main section#topMainSct { margin-bottom: 8em; }
main section#topMainSct .kinkyu { position: absolute; z-index: 900; top: 46vw; right: 2.5%; display: inline-block; background: rgba(255, 255, 255, 0.8); border: 2px solid #f00; border-radius: 1vw; padding: 1vw 1.2vw; text-align: center; color: #f00; font-size: 100%; font-weight: 600; line-height: 1.4; width: 50%; }
main section#topMainSct .kinkyu strong { display: block; font-size: 130%; line-height: 1.2; }
main section#topMainSct .kinkyu small { display: block; font-size: 90%; border-bottom: 2px dotted #f00; padding-bottom: 5px; margin-bottom: 5px; }
@media screen and (max-width: 480px) { main section#topMainSct .kinkyu { top: 78vw; right: inherit; left: 50%; transform: translateX(-50%); white-space: nowrap; padding: 1.4vw 2.5vw; width: auto; letter-spacing: normal; }
  main section#topMainSct .kinkyu strong { font-size: 130%; line-height: 1.4; }
  main section#topMainSct .kinkyu small { font-size: 80%; } }
main section#topMainSct .slider li span { font-size: 3vw; letter-spacing: normal; }
@media screen and (max-width: 480px) { main section#topMainSct .slider li span { font-size: 5vw; } }
main section#topMainSct .aboutBook { position: relative; display: flex; z-index: 5; width: 96%; margin: 1em auto; border: 1px solid #fff; background: rgba(0, 0, 0, 0.6); padding: .6em; color: #fff; }
main section#topMainSct .aboutBook .ttl { display: block; position: relative; text-align: center; white-space: nowrap; border: 1px solid #fff; font-size: 140%; line-height: 1; padding: .4em; }
@media screen and (max-width: 480px) { main section#topMainSct .aboutBook .ttl { font-size: 75%; padding: 3px 10px; } }
main section#topMainSct .aboutBook .ttl span { position: relative; display: inline-block; white-space: nowrap; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); }
@media screen and (max-width: 480px) { main section#topMainSct .aboutBook .ttl span { writing-mode: vertical-rl; } }
main section#topMainSct .aboutBook .txt { padding: 0 .5em 0 1em; line-height: 1.4; display: inline-block; }
main section#topMainSct .aboutBook .txt span { display: block; font-size: 100%; }
@media screen and (max-width: 480px) { main section#topMainSct .aboutBook .txt span { font-size: 90%; } }
main section#topMainSct .aboutBook .txt small { display: block; position: relative; font-size: 65%; padding-top: .2vw; padding-left: 1vw; }
@media screen and (max-width: 480px) { main section#topMainSct .aboutBook .txt small { padding-top: .6vw; padding-left: 2vw; } }
main section#topMainSct .aboutBook .txt small::before { position: absolute; left: 0; content: "*"; }
main section#topMainSct .movieB { position: relative; width: 80%; margin: 1em auto; text-align: center; }
@media screen and (max-width: 519px) { main section#topMainSct .movieB { width: 90%; } }
main section#topMainSct .movieB .txt { display: block; font-size: 150%; font-weight: 600; padding-left: .8em; line-height: 1.2; margin-bottom: .4em; }
@media screen and (max-width: 519px) { main section#topMainSct .movieB .txt { font-size: 160%; letter-spacing: .1em; padding-left: 1em; } }
main section#topMainSct .movieB .pvB { position: relative; width: 100%; padding-top: 56.25%; margin: 0 auto; }
main section#topMainSct .movieB .pvB iframe { position: absolute; top: 0; right: 0; width: 100%; height: 100%; }
main section#topMainSct .coronaBnr { position: relative; display: block; text-align: center; margin: 1em auto; border: 2px solid #C00; width: 96%; }
main section#topMainSct .coronaBnr p { display: block; padding: .7em 0; font-size: 140%; font-weight: 700; line-height: 1.5; }
main section#topMainSct .coronaBnr img { height: 12.5vw; width: auto; }
@media screen and (max-width: 480px) { main section#topMainSct .coronaBnr { display: block; }
  main section#topMainSct .coronaBnr img { display: block; width: 90%; height: auto; margin: 0 auto; } }
main section#topNewsSct { padding-top: 8em; padding-bottom: 5em; }
main section#topNewsSct .ttl { display: block; position: relative; margin: 5em auto 1em; font-size: 120%; text-align: center; color: #000; }
main section#topNewsSct .clnBox { position: relative; width: 90%; margin: 0 auto; }
@media screen and (max-width: 980px) { main section#topNewsSct .clnBox { border-radius: .8em; overflow: hidden; } }
main section#topNewsSct .clnBox .pc { display: block; }
@media screen and (max-width: 980px) { main section#topNewsSct .clnBox .pc { display: none; } }
main section#topNewsSct .clnBox .sp { display: none; }
@media screen and (max-width: 980px) { main section#topNewsSct .clnBox .sp { display: block; } }
main section#topAboutSct { padding-top: 8em; padding-bottom: 5em; }
@media screen and (max-width: 480px) { main section#topAboutSct { text-align: center; padding-bottom: 6em; } }
main section#topAboutSct .point { position: relative; display: flex; justify-content: center; padding-bottom: 5vw; margin-top: -6vw; }
@media screen and (max-width: 480px) { main section#topAboutSct .point { display: block; margin-top: 0; padding-bottom: 5vw; } }
main section#topAboutSct .point li { flex: 1 1 33.33%; display: flex; justify-content: center; }
@media screen and (max-width: 480px) { main section#topAboutSct .point li { display: block; position: relative; height: 46.5vw; } }
main section#topAboutSct .point li.ikesu { background: url("../img/top_about_pic1.jpg") no-repeat center center; background-size: cover; margin-top: 20vw; }
@media screen and (max-width: 480px) { main section#topAboutSct .point li.ikesu { background: url("../img/top_about_pic1.jpg") no-repeat left top; background-size: 70% auto; margin-top: 0; padding-top: 23vw; z-index: 5; }
  main section#topAboutSct .point li.ikesu p { margin-left: 20%; } }
main section#topAboutSct .point li.yane { background: url("../img/top_about22_pic2.jpg") no-repeat center center; background-size: cover; margin-top: 10vw; margin-bottom: 10vw; }
@media screen and (max-width: 480px) { main section#topAboutSct .point li.yane { background: url("../img/top_about22_pic2.jpg") no-repeat right top; background-size: 70% auto; margin-top: -4vw; margin-bottom: 0; padding-top: 13vw; z-index: 4; } }
main section#topAboutSct .point li.yane p { padding: 3vw 2vw; }
@media screen and (max-width: 480px) { main section#topAboutSct .point li.yane p { padding: 5vw .6vw; } }
main section#topAboutSct .point li.yane p small { display: block; font-size: 80%; letter-spacing: .1em; padding-top: 7em; }
@media screen and (max-width: 480px) { main section#topAboutSct .point li.yane p small { padding-top: 0; } }
main section#topAboutSct .point li.event { background: url("../img/top_about22_pic3.jpg") no-repeat center center; background-size: cover; margin-bottom: 20vw; }
@media screen and (max-width: 480px) { main section#topAboutSct .point li.event { background: url("../img/top_about22_pic3.jpg") no-repeat left top; background-size: 70% auto; margin-bottom: 0; padding-top: 28vw; z-index: 3; margin-top: -4vw; }
  main section#topAboutSct .point li.event p { margin-left: 20%; } }
main section#topAboutSct .point li P { position: relative; white-space: nowrap; background: rgba(0, 0, 0, 0.7); writing-mode: vertical-rl; text-align: center; line-height: 1.2; font-size: 140%; letter-spacing: normal; padding: 3vw .6vw; }
@media screen and (max-width: 480px) { main section#topAboutSct .point li P { writing-mode: horizontal-tb; width: 80%; font-size: 110%; line-height: 1.3; padding: 2vw .6vw; } }
main section#topAboutSct .infor { position: absolute; bottom: 5em; right: 5%; font-size: 110%; border-collapse: separate; border-spacing: 5px; }
@media screen and (max-width: 480px) { main section#topAboutSct .infor { position: relative; bottom: inherit; right: inherit; font-size: 150%; margin: 0 auto 8vw; } }
main section#topAboutSct .infor th { vertical-align: middle; border: 1px solid #fff; }
@media screen and (max-width: 480px) { main section#topAboutSct .infor th { display: block; padding-bottom: 1vw; border: none; } }
main section#topAboutSct .infor th p { display: block; font-weight: 400; line-height: 1; padding: .2em .4em; }
@media screen and (max-width: 480px) { main section#topAboutSct .infor th p { display: inline-block; border: 1px solid #fff; padding: .3em 1em; margin: 1.5em auto .8em; } }
main section#topAboutSct .infor td { vertical-align: middle; padding-left: .3em; }
@media screen and (max-width: 480px) { main section#topAboutSct .infor td { display: block; padding-bottom: 1vw; } }
main section#topAboutSct .infor td p { line-height: 1.2; }
main section#topAboutSct .infor td p small { font-size: 80%; }
main section#topAboutSct .infor td p.atn { text-align: center; }
@media screen and (max-width: 480px) { main section#topAboutSct .infor td p.atn::before { position: static; } }
main section#topAboutSct .infor td p.atn::before { position: relative; left: inherit; content: "*"; }
@media screen and (max-width: 480px) { main section#topAboutSct .infor td p .nnline { display: none; } }
main section#topAboutSct .btn { position: absolute; bottom: calc(15vw + 4.5en); right: 7%; }
@media screen and (max-width: 480px) { main section#topAboutSct .btn { position: relative; bottom: inherit; right: inherit; margin: 0 auto; } }
main section#topSystemSct { padding-top: 8em; padding-bottom: 5em; }
@media screen and (max-width: 480px) { main section#topSystemSct { padding-bottom: 6em; } }
main section#topSystemSct h3 { position: relative; z-index: 10; color: #000; font-size: 150%; margin: 0 7% 1em; }
@media screen and (max-width: 480px) { main section#topSystemSct h3 { font-size: 180%; margin: 0 5% 1em; text-align: center; } }
main section#topSystemSct h3 small { font-size: 80%; }
@media screen and (max-width: 480px) { main section#topSystemSct h3 small { padding-top: .5em; display: block; } }
main section#topSystemSct .premBox { position: relative; margin: 0 7% 1.5em; }
@media screen and (max-width: 480px) { main section#topSystemSct .premBox { margin: 0 5% 1.5em; } }
main section#topSystemSct .premBox .boxH { position: relative; display: flex; justify-content: space-between; align-items: center; margin-bottom: 1em; }
@media screen and (max-width: 480px) { main section#topSystemSct .premBox .boxH { flex-wrap: wrap; } }
main section#topSystemSct .premBox .boxH h4 { position: relative; padding: .4em .4em .4em .6em; }
@media screen and (max-width: 480px) { main section#topSystemSct .premBox .boxH h4 { width: 100%; margin-bottom: 1em; } }
main section#topSystemSct .premBox .boxH h4 span { position: relative; z-index: 5; color: #a58041; font-size: 260%; letter-spacing: normal; background: linear-gradient(45deg, #965B03 0%, #CA9F08 20%, #AA7F08 45%, #CEB970 62%, #9A7F08 85%, #864B03 95% 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; line-height: 1; }
@media screen and (max-width: 480px) { main section#topSystemSct .premBox .boxH h4 span { display: block; font-size: 300%; text-align: center; } }
main section#topSystemSct .premBox .boxH h4::before { content: ""; position: absolute; z-index: 1; top: 0; left: 0; background: rgba(255, 255, 255, 0.9); width: 100%; height: 100%; border-radius: .6em; }
@media screen and (max-width: 480px) { main section#topSystemSct .premBox .boxH .tcBox { width: 100%; } }
main section#topSystemSct .premBox .boxH .tcBox .box { position: relative; display: block; padding: .1em .8em; border: 2px solid #c5a061; border-radius: 2em; background: linear-gradient(45deg, #D69B23 0%, #FAEF58 20%, #DAAF08 45%, #FEF9C0 62%, #DAAF08 85%, #C68B13 95% 100%); }
@media screen and (max-width: 480px) { main section#topSystemSct .premBox .boxH .tcBox .box { width: 90%; margin: 0 auto; text-align: center; } }
main section#topSystemSct .premBox .boxH .tcBox .box:first-child { margin-bottom: .2em; }
main section#topSystemSct .premBox .boxH .tcBox .box p { color: #000; font-size: 105%; font-weight: 700; line-height: 1.2; letter-spacing: normal; white-space: nowrap; }
main section#topSystemSct .premBox .boxH .tcBox .box p small { font-size: 80%; }
main section#topSystemSct .premBox .planB { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; }
main section#topSystemSct .premBox .planB li { position: relative; width: 32%; margin-bottom: 1em; }
@media screen and (max-width: 480px) { main section#topSystemSct .premBox .planB li { width: 100%; } }
main section#topSystemSct .premBox .planB li.birth { width: 100%; }
main section#topSystemSct .premBox .planB li.birth .box .ttl { letter-spacing: normal; font-size: 240%; }
main section#topSystemSct .premBox .planB li.birth .box .ttl small { padding-left: .3em; display: inline; letter-spacing: normal; }
main section#topSystemSct .premBox .planB li.imgB { width: 100%; }
main section#topSystemSct .premBox .planB li.imgB img { display: block; margin: 0 auto; width: 96%; height: auto; }
main section#topSystemSct .premBox .planB li .box { position: relative; border: 3px solid #c5a061; border-radius: 2em; background: #fff; color: #000; text-align: center; }
main section#topSystemSct .premBox .planB li .box .copy { padding: .4em 0 .1em; font-size: 90%; font-weight: 600; letter-spacing: normal; }
@media screen and (max-width: 480px) { main section#topSystemSct .premBox .planB li .box .copy { font-size: 160%; } }
main section#topSystemSct .premBox .planB li .box .ttl { display: block; padding: .2em 0; font-size: 280%; letter-spacing: normal; line-height: 1.2; text-shadow: 1px 1px 1px white, 1px -1px 1px white, -1px 1px 1px white, -1px -1px 1px white; background: linear-gradient(45deg, #D69B23 0%, #FAEF58 20%, #DAAF08 45%, #FEF9C0 62%, #DAAF08 85%, #C68B13 95% 100%); }
main section#topSystemSct .premBox .planB li .box .ttl small { display: block; font-size: 80%; }
@media screen and (max-width: 480px) { main section#topSystemSct .premBox .planB li .box .ttl small { display: inline; padding-left: .3em; } }
main section#topSystemSct .premBox .planB li .box .ditel { position: relative; display: block; padding: .5em 0 .1em; font-size: 95%; font-weight: 600; letter-spacing: normal; line-height: 1.3; }
@media screen and (max-width: 480px) { main section#topSystemSct .premBox .planB li .box .ditel { font-size: 200%; } }
main section#topSystemSct .premBox .planB li .box .ditel small { position: relative; margin-top: .3em; display: inline-block; font-size: 80%; font-weight: 400; padding: 0 1em; }
main section#topSystemSct .premBox .planB li .box .ditel small::before { position: absolute; left: 0; top: 0; content: "("; font-size: 240%; line-height: 1; font-weight: 100; }
main section#topSystemSct .premBox .planB li .box .ditel small::after { position: absolute; right: 0; top: 0; content: ")"; font-size: 240%; line-height: 1; font-weight: 100; }
main section#topSystemSct .premBox .planB li .box .price { display: block; position: relative; padding-bottom: .3em; }
@media screen and (max-width: 480px) { main section#topSystemSct .premBox .planB li .box .price { font-size: 110%; } }
main section#topSystemSct .premBox .planB li .box .price span { display: inline-block; font-size: 280%; font-weight: 500; letter-spacing: -.03em; line-height: 1; }
main section#topSystemSct .premBox .planB li .box .price small.s1 { font-size: 200%; font-weight: 700; letter-spacing: normal; }
main section#topSystemSct .premBox .planB li .box .price small.s2 { font-size: 70%; font-weight: 700; letter-spacing: normal; }
main section#topSystemSct .stndBox { position: relative; margin: 0 7% 2em; }
@media screen and (max-width: 480px) { main section#topSystemSct .stndBox { margin: 0 5% 2em; } }
main section#topSystemSct .stndBox .planB { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; overflow: hidden; border-radius: 2em; border: 3px solid #956e55; margin-bottom: 1em; }
@media screen and (max-width: 480px) { main section#topSystemSct .stndBox .planB { flex-wrap: wrap; } }
main section#topSystemSct .stndBox .planB li { position: relative; }
main section#topSystemSct .stndBox .planB li:first-child { width: 32%; z-index: 5; }
@media screen and (max-width: 480px) { main section#topSystemSct .stndBox .planB li:first-child { width: 52%; } }
main section#topSystemSct .stndBox .planB li:first-child .box { border-right: 3px solid #956e55; }
main section#topSystemSct .stndBox .planB li:first-child .box .tcBox { width: 187%; }
@media screen and (max-width: 480px) { main section#topSystemSct .stndBox .planB li:first-child .box .tcBox { width: 196%; } }
main section#topSystemSct .stndBox .planB li:nth-child(2) { width: 28%; z-index: 2; }
@media screen and (max-width: 480px) { main section#topSystemSct .stndBox .planB li:nth-child(2) { width: 48%; } }
main section#topSystemSct .stndBox .planB li:nth-child(2) .box { border-right: 3px solid #956e55; }
@media screen and (max-width: 480px) { main section#topSystemSct .stndBox .planB li:nth-child(2) .box { border-right: none; } }
main section#topSystemSct .stndBox .planB li:nth-child(2) .box .tcBox { opacity: 0; }
main section#topSystemSct .stndBox .planB li:last-child { width: 40%; }
@media screen and (max-width: 480px) { main section#topSystemSct .stndBox .planB li:last-child { width: 100%; } }
main section#topSystemSct .stndBox .planB li .box { position: relative; background: #fff; color: #000; text-align: center; }
main section#topSystemSct .stndBox .planB li .box .ttl { display: block; padding: .3em 0; font-size: 180%; font-weight: 600; line-height: 1.2; text-shadow: 1px 1px 1px white, 1px -1px 1px white, -1px 1px 1px white, -1px -1px 1px white; background: linear-gradient(45deg, #a57e65 0%, #a57e65 45%, #f3cfb8 70%, #a57e65 85%, #a57e65 90% 100%); }
@media screen and (max-width: 480px) { main section#topSystemSct .stndBox .planB li .box .ttl { font-size: 200%; } }
main section#topSystemSct .stndBox .planB li .box .tcBox { padding: .8em 3% .5em; }
@media screen and (max-width: 480px) { main section#topSystemSct .stndBox .planB li .box .tcBox { padding: .8em 1.5em .5em; } }
main section#topSystemSct .stndBox .planB li .box .tcBox .box { position: relative; display: block; padding: .1em .8em; border: 2px solid #a57e65; border-radius: 2em; }
main section#topSystemSct .stndBox .planB li .box .tcBox .box:first-child { margin-bottom: .2em; }
main section#topSystemSct .stndBox .planB li .box .tcBox .box p { font-size: 120%; font-weight: 700; line-height: 1.2; white-space: nowrap; }
main section#topSystemSct .stndBox .planB li .box .tcBox .box p small { font-size: 80%; }
main section#topSystemSct .stndBox .planB li .box .price { display: block; position: relative; padding-bottom: .3em; }
@media screen and (max-width: 480px) { main section#topSystemSct .stndBox .planB li .box .price { font-size: 100%; white-space: nowrap; } }
main section#topSystemSct .stndBox .planB li .box .price span { display: inline-block; font-size: 280%; font-weight: 500; letter-spacing: -.03em; line-height: 1; }
main section#topSystemSct .stndBox .planB li .box .price small.s1 { font-size: 130%; font-weight: 700; letter-spacing: normal; }
@media screen and (max-width: 480px) { main section#topSystemSct .stndBox .planB li .box .price small.s1 { font-size: 120%; } }
main section#topSystemSct .stndBox .planB li .box .price small.s2 { font-size: 90%; font-weight: 700; letter-spacing: normal; }
@media screen and (max-width: 480px) { main section#topSystemSct .stndBox .planB li .box .price small.s2 { font-size: 80%; } }
main section#topSystemSct .kidsBox { position: relative; margin: 0 7% 2em; }
@media screen and (max-width: 480px) { main section#topSystemSct .kidsBox { margin: 0 5% 2em; } }
main section#topSystemSct .kidsBox .planB { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; overflow: hidden; border-radius: 2em; border: 3px solid #959595; }
main section#topSystemSct .kidsBox .planB li { position: relative; width: 50%; background: #fff; color: #000; text-align: center; }
main section#topSystemSct .kidsBox .planB li:first-child { border-right: 3px solid #959595; }
main section#topSystemSct .kidsBox .planB li .ttl { display: block; padding: .2em 0; font-size: 160%; font-weight: 600; line-height: 1.2; letter-spacing: normal; text-shadow: 1px 1px 1px white, 1px -1px 1px white, -1px 1px 1px white, -1px -1px 1px white; background: linear-gradient(45deg, #A5A5A5 0%, #CECECE 45%, #F8F8F8 70%, #CECECE 85%, #A5A5A5 90% 100%); }
main section#topSystemSct .kidsBox .planB li .price { display: inline-block; position: relative; }
@media screen and (max-width: 480px) { main section#topSystemSct .kidsBox .planB li .price { font-size: 100%; } }
main section#topSystemSct .kidsBox .planB li .price span { display: inline-block; font-size: 280%; font-weight: 500; letter-spacing: -.03em; line-height: 1; }
main section#topSystemSct .kidsBox .planB li .price small.s1 { font-size: 130%; font-weight: 700; letter-spacing: normal; }
@media screen and (max-width: 480px) { main section#topSystemSct .kidsBox .planB li .price small.s1 { font-size: 120%; } }
main section#topSystemSct .kidsBox .planB li .price small.s2 { font-size: 90%; font-weight: 700; letter-spacing: normal; }
@media screen and (max-width: 480px) { main section#topSystemSct .kidsBox .planB li .price small.s2 { font-size: 80%; } }
main section#topSystemSct .kidsBox .planB li .cupon { display: inline-block; line-height: 1; font-size: 110%; font-weight: 600; letter-spacing: normal; padding-bottom: .3em; }
main section#topSystemSct .kidsBox .atn2 { display: block; text-align: right; color: #000; font-size: 130%; font-weight: 600; letter-spacing: normal; padding-right: .8em; }
@media screen and (max-width: 480px) { main section#topSystemSct .kidsBox .atn2 { font-size: 110%; padding-top: .2em; } }
main section#topSystemSct .dsctBox { position: relative; margin: 0 7% 4em; }
@media screen and (max-width: 480px) { main section#topSystemSct .dsctBox { margin: 0 5% 4em; } }
main section#topSystemSct .dsctBox .planB { position: relative; display: flex; flex-wrap: wrap; }
main section#topSystemSct .dsctBox .planB li { width: 24%; margin-bottom: 1em; margin-right: 1%; }
@media screen and (max-width: 480px) { main section#topSystemSct .dsctBox .planB li { width: 49%; } }
main section#topSystemSct .dsctBox .planB li.oval { width: 58%; }
@media screen and (max-width: 480px) { main section#topSystemSct .dsctBox .planB li.oval { width: 98%; } }
main section#topSystemSct .dsctBox .planB li.oval .round { width: 99%; }
@media screen and (max-width: 480px) { main section#topSystemSct .dsctBox .planB li.oval .round { width: 98%; } }
main section#topSystemSct .dsctBox .planB li.oval .round .inner .ttl span { display: block; font-size: 250%; }
main section#topSystemSct .dsctBox .planB li.oval .round .inner .ttl small { display: block; font-size: 90%; }
main section#topSystemSct .dsctBox .planB li.oval .round .inner .setu { font-size: 110%; line-height: 1.2; }
@media screen and (max-width: 480px) { main section#topSystemSct .dsctBox .planB li.oval .round .inner .setu { font-size: 100%; } }
main section#topSystemSct .dsctBox .planB li .round { position: relative; text-align: center; background: linear-gradient(45deg, #005a77 0%, #08152e 100%); width: 20vw; height: 20vw; margin: 0 auto; border-radius: 10vw; border: 1px solid #fff100; box-shadow: 0 0 3px 0 #fff100; }
@media screen and (max-width: 480px) { main section#topSystemSct .dsctBox .planB li .round { width: 42vw; height: 42vw; border-radius: 21vw; } }
main section#topSystemSct .dsctBox .planB li .round .inner { position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 100%; }
main section#topSystemSct .dsctBox .planB li .round .inner .ttl { display: block; line-height: 1.1; font-weight: 600; margin-bottom: .3em; }
main section#topSystemSct .dsctBox .planB li .round .inner .ttl span { display: block; font-size: 200%; }
@media screen and (max-width: 480px) { main section#topSystemSct .dsctBox .planB li .round .inner .ttl span { font-size: 230%; } }
main section#topSystemSct .dsctBox .planB li .round .inner .ttl span.l2 { line-height: .8; }
main section#topSystemSct .dsctBox .planB li .round .inner .ttl small { display: block; font-size: 120%; }
@media screen and (max-width: 480px) { main section#topSystemSct .dsctBox .planB li .round .inner .ttl small { font-size: 130%; } }
main section#topSystemSct .dsctBox .planB li .round .inner .setu { display: block; font-size: 110%; font-weight: 600; line-height: 1.2; margin-bottom: .3em; }
@media screen and (max-width: 480px) { main section#topSystemSct .dsctBox .planB li .round .inner .setu { font-size: 120%; } }
main section#topSystemSct .dsctBox .planB li .round .inner .cupon { display: block; font-size: 80%; font-weight: 600; line-height: 1; margin-bottom: .6em; letter-spacing: normal; }
@media screen and (max-width: 480px) { main section#topSystemSct .dsctBox .planB li .round .inner .cupon { font-size: 100%; } }
main section#topSystemSct .dsctBox .planB li .round .inner .atn2 { display: block; font-size: 80%; font-weight: 600; line-height: 1; letter-spacing: normal; }
@media screen and (max-width: 480px) { main section#topSystemSct .dsctBox .planB li .round .inner .atn2 { font-size: 100%; } }
main section#topSystemSct .dsctBox .planB li .round .inner .price { display: inline-block; position: relative; }
@media screen and (max-width: 480px) { main section#topSystemSct .dsctBox .planB li .round .inner .price { font-size: 100%; } }
main section#topSystemSct .dsctBox .planB li .round .inner .price span { display: inline-block; font-size: 220%; font-weight: 500; letter-spacing: -.03em; line-height: 1; }
main section#topSystemSct .dsctBox .planB li .round .inner .price span.harf { font-size: 180%; font-weight: 700; }
main section#topSystemSct .dsctBox .planB li .round .inner .price small.s1 { font-size: 150%; font-weight: 700; letter-spacing: normal; line-height: 1; }
@media screen and (max-width: 480px) { main section#topSystemSct .dsctBox .planB li .round .inner .price small.s1 { font-size: 120%; } }
main section#topSystemSct .dsctBox .planB li .round .inner .price small.s2 { position: absolute; top: -1em; right: -1.5em; font-size: 60%; font-weight: 700; letter-spacing: normal; }
@media screen and (max-width: 480px) { main section#topSystemSct .dsctBox .planB li .round .inner .price small.s2 { top: -1.1em; } }
main section#topSystemSct .dsctBox .planB li .round .inner .price small.s3 { display: block; font-weight: 600; line-height: 1; letter-spacing: normal; }
main section#topSystemSct .optnBox { position: relative; margin: 0 7% 4em; }
@media screen and (max-width: 480px) { main section#topSystemSct .optnBox { margin: 0 5% 4em; } }
main section#topSystemSct .optnBox .planB { position: relative; display: flex; justify-content: space-between; color: #000; }
@media screen and (max-width: 480px) { main section#topSystemSct .optnBox .planB { flex-wrap: wrap; } }
main section#topSystemSct .optnBox .planB li { position: relative; width: 49%; border: 3px solid #f8b300; background: #fff; border-radius: 2em; margin-bottom: 1em; padding: 1em .5em .5em; text-align: center; }
@media screen and (max-width: 480px) { main section#topSystemSct .optnBox .planB li { width: 100%; } }
main section#topSystemSct .optnBox .planB li .price { display: inline-block; position: relative; }
@media screen and (max-width: 480px) { main section#topSystemSct .optnBox .planB li .price { font-size: 100%; } }
main section#topSystemSct .optnBox .planB li .price span { display: inline-block; font-size: 200%; font-weight: 500; letter-spacing: -.03em; line-height: 1; }
main section#topSystemSct .optnBox .planB li .price span.harf { font-weight: 700; }
main section#topSystemSct .optnBox .planB li .price small.s1 { font-size: 130%; font-weight: 700; letter-spacing: normal; }
@media screen and (max-width: 480px) { main section#topSystemSct .optnBox .planB li .price small.s1 { font-size: 120%; } }
main section#topSystemSct .optnBox .planB li .price small.s2 { position: absolute; top: -1em; right: 0; font-size: 70%; font-weight: 700; letter-spacing: normal; }
@media screen and (max-width: 480px) { main section#topSystemSct .optnBox .planB li .price small.s2 { font-size: 80%; } }
main section#topSystemSct .optnBox .planB li .ttl { display: inline-block; font-size: 170%; font-weight: 600; line-height: 1; letter-spacing: normal; }
main section#topSystemSct .optnBox .planB li .ttl2 { font-size: 135%; font-weight: 600; line-height: 1.2; margin-bottom: .3em; }
main section#topSystemSct .optnBox .planB li .ttl2 strong { font-size: 160%; }
main section#topSystemSct .optnBox .planB li .setu { font-size: 130%; font-weight: 600; line-height: 1.3; margin-bottom: .2em; }
main section#topSystemSct .optnBox .planB li .setu small { padding-left: .5em; font-size: 80%; }
main section#topSystemSct .optnBox .planB li .setu2 { font-size: 110%; font-weight: 600; line-height: 1.3; letter-spacing: normal; margin-bottom: .2em; }
main section#topSystemSct .optnBox .planB li .setu2 small { padding-left: .5em; font-size: 70%; }
main section#topSystemSct .optnBox .planB li .atn2 { display: block; font-size: 70%; font-weight: 600; line-height: 1.3; }
main section#topSystemSct .pic { position: relative; top: 1em; margin-top: -3em; z-index: 1; left: 30%; overflow: hidden; width: 70%; height: 20vw; object-fit: cover; object-position: center 33%; }
@media screen and (max-width: 480px) { main section#topSystemSct .pic { top: -1em; margin-top: 0; margin-bottom: 3em; width: 86%; height: 40vw; left: 14%; } }
main section#topSystemSct .pic2 { position: relative; z-index: 1; overflow: hidden; width: 70%; height: 20vw; object-fit: cover; object-position: center 69%; margin: 0 0 4em; }
@media screen and (max-width: 480px) { main section#topSystemSct .pic2 { width: 80%; height: 40vw; } }
main section#topSystemSct .center { position: relative; text-align: center; }
main section#topSystemSct .center a { letter-spacing: 0; }
@media screen and (max-width: 480px) { main section#topSystemSct .center a { width: 80%; } }
main section#topLocationSct { padding-top: 8em; padding-bottom: 4em; }
main section#topLocationSct .pic { position: relative; width: 56%; height: auto; margin-bottom: 8vw; }
@media screen and (max-width: 480px) { main section#topLocationSct .pic { width: 76%; margin-bottom: 34vw; } }
main section#topLocationSct .mapBox { position: absolute; display: inline-block; border: 1px solid #fff; width: 50%; right: 2%; bottom: 4em; padding: 3vw 1vw 2vw; text-align: center; }
@media screen and (max-width: 480px) { main section#topLocationSct .mapBox { width: 86%; right: 4%; bottom: 8em; padding: 8vw 1vw 6vw; } }
main section#topLocationSct .mapBox .mid { display: block; line-height: 1.3; font-size: 120%; margin: .4em 0 1.4em; }
@media screen and (max-width: 480px) { main section#topLocationSct .mapBox .mid { font-size: 140%; margin: .6em 0 1.8em; } }
main section#topLocationSct .mapBox .add { display: block; line-height: 1.4; font-size: 80%; margin-top: .5em; }
@media screen and (max-width: 480px) { main section#topLocationSct .mapBox .add { font-size: 100%; margin-top: .8em; } }
main section#topContactSct { padding: 6em 0; color: #000; background: #dbdbdb; text-align: center; }
main section#topContactSct h2 span::before { width: 30vw; }
@media screen and (max-width: 480px) { main section#topContactSct h2 span::before { width: 20vw; } }
main section#topContactSct h2 span::after { width: 30vw; }
@media screen and (max-width: 480px) { main section#topContactSct h2 span::after { width: 20vw; } }
main section#topContactSct p { font-size: 140%; }
main section#topContactSct p.ttl { position: relative; display: block; border: 1px solid #000; width: 64%; margin: 3em auto .6em; font-size: 180%; }
@media screen and (max-width: 480px) { main section#topContactSct p.ttl { width: 90%; font-size: 150%; padding: 1vw 0; } }
main section#topContactSct p.txt { font-size: 100%; padding-bottom: 1em; }
main section#topContactSct p strong { display: inline-block; font-size: 220%; font-weight: 400; }
@media screen and (max-width: 480px) { main section#topContactSct p strong { font-size: 200%; } }
main section#topContactSct p small { display: block; font-size: 80%; line-height: 1; }
main section#topContactSct .staffJob { display: flex; justify-content: space-between; margin: 3em auto 2em; background: #fff; }
@media screen and (max-width: 480px) { main section#topContactSct .staffJob { display: block; margin: 3em auto; } }
main section#topContactSct .staffJob .pic1 { background: url("../img/top_contact_pic1.jpg") no-repeat center center; background-size: cover; flex: 1 1 30%; }
@media screen and (max-width: 480px) { main section#topContactSct .staffJob .pic1 { background: url("../img/top_contact_pic1.jpg") no-repeat center 20%; background-size: cover; height: 40vw; } }
main section#topContactSct .staffJob .pic2 { background: url("../img/top_contact_pic2.jpg") no-repeat center center; background-size: cover; flex: 1 1 30%; }
@media screen and (max-width: 480px) { main section#topContactSct .staffJob .pic2 { background: url("../img/top_contact_pic2.jpg") no-repeat center 20%; background-size: cover; height: 40vw; } }
main section#topContactSct .staffJob .box { padding: 2em 1.5em; }
@media screen and (max-width: 480px) { main section#topContactSct .staffJob .box .txt { font-size: 140%; }
  main section#topContactSct .staffJob .box .btn2 { padding: 5vw 18vw; } }
main section#topContactSct .staffJob .box .ttl2 { display: block; font-size: 180%; }
@media screen and (max-width: 480px) { main section#topContactSct .staffJob .box .ttl2 { font-size: 220%; } }
main section#topContactSct .staffJob .box .ttl2 strong { display: block; font-size: 120%; line-height: 1; }
@media screen and (max-width: 480px) { main section#topContactSct .staffJob .box .ttl2 strong { font-size: 130%; } }

#footer { overflow: hidden; position: relative; }
#footer .group { position: relative; background: #fff; color: #000; text-align: center; padding: 2.5em 0 1em; }
#footer .group .ttl { font-size: 120%; font-weight: 700; margin-bottom: 1em; }
@media screen and (max-width: 480px) { #footer .group .ttl { margin-bottom: 1.6em; } }
#footer .group .l3 { display: flex; flex-wrap: wrap; width: 92%; margin: 0 auto; }
@media screen and (max-width: 480px) { #footer .group .l3 { width: 90%; } }
#footer .group .l3 li { width: 31.5%; margin-bottom: 1.6em; margin-right: 2.75%; }
@media screen and (max-width: 480px) { #footer .group .l3 li { width: 48%; margin-right: 4%; }
  #footer .group .l3 li:nth-child(2n) { margin-right: 0 !important; } }
#footer .group .l3 li:nth-child(3n) { margin-right: 0; }
@media screen and (max-width: 480px) { #footer .group .l3 li:nth-child(3n) { margin-right: 4%; } }
#footer .group .l3 li a { display: block; }
#footer .group .l3 li a img { width: 100%; height: auto; }
#footer .partner { position: relative; background: #dbdbdb; text-align: center; padding: 2em 0 1em; }
#footer .partner .l4 { display: flex; flex-wrap: wrap; width: 92%; margin: 0 auto; }
@media screen and (max-width: 480px) { #footer .partner .l4 { width: 90%; } }
#footer .partner .l4 li { width: 24%; margin-bottom: 1em; margin-right: 1%; }
@media screen and (max-width: 480px) { #footer .partner .l4 li { width: 31.5%; margin-right: 2.75%; }
  #footer .partner .l4 li:nth-child(3n) { margin-right: 0; } }
#footer .partner .l4 li:nth-child(4n) { margin-right: 0; }
@media screen and (max-width: 480px) { #footer .partner .l4 li:nth-child(4n) { margin-right: 2.75%; } }
#footer .partner .l4 li a { display: block; }
#footer .partner .l4 li a img { width: 100%; height: auto; }
#footer .cpr { text-align: center; font-size: 60%; padding: 3em 0; }
@media screen and (max-width: 600px) { #footer .cpr { padding-bottom: 12em; } }
