/*

********************

_mixin.scss

********************

*/
/*********************

common

*********************/
/*color*/
/*mainvisual*/
.mainvisual { width: 100%; max-width: 1360px; margin: 0 auto; }
.mainvisual .mainvisual_inner { position: relative; width: 100%; }
.mainvisual .mainvisual_ttl { position: absolute; top: 50%; left: 50%; width: 30.8823529412%; transform: translate(-50%, -50%); }
.mainvisual .mainvisual_icon { position: absolute; bottom: 0; left: 50%; width: 8.0882352941%; transform: translate(-50%, 50%); }
@media screen and (max-width: 680px) { .mainvisual .mainvisual_ttl { width: 50%; } }

/*subCatch*/
.subCatch { font-size: 30px; font-weight: bold; font-feature-settings: "palt"; letter-spacing: 0.15em; width: 90%; margin: 0 auto; line-height: 1.5; text-align: center; }
@media screen and (max-width: 680px) { .subCatch { font-size: 22px; } }
@media screen and (max-width: 480px) { .subCatch { font-size: 18px; } }

/*localNavTop*/
#localNavTop { width: 90%; margin: 60px auto; }
#localNavTop ul { display: flex; justify-content: space-between; flex-flow: row wrap; }
#localNavTop li { width: 24.12%; }
#localNavTop li img { width: 100%; height: auto; transition: 200ms linear; }
#localNavTop li a:hover img { filter: brightness(110%); }
#localNavTop .note { text-align: right; margin-top: 10px; }
@media screen and (max-width: 680px) { #localNavTop li { width: 49.6%; } }
@media screen and (max-width: 480px) { #localNavTop { margin: 40px auto; } }

/*localNav*/
.localNav { width: 90%; max-width: 960px; margin: 30px auto; }
.localNav ul { font-size: 0; }
.localNav li { display: inline-block; width: 49.2%; margin-right: 0.8%; margin-bottom: 5px; }
.localNav li:nth-child(2), .localNav li:nth-child(4) { margin-right: 0%; }
@media screen and (max-width: 480px) { .localNav li { margin-bottom: 3px; } }
.localNav li a { display: block; position: relative; width: 100%; padding: 20px 0; background-color: #a1a1a1; text-align: center; -webkit-transition: 0.3s ease 0s background; transition: 0.3s ease 0s background; }
.localNav li a img { width: auto; height: 30px; }
@media screen and (max-width: 960px) { .localNav li a img { width: auto; height: 26px; } }
@media screen and (max-width: 480px) { .localNav li a img { width: auto; height: 20px; } }
.localNav li a:after { position: absolute; top: 50%; right: 10px; content: ""; width: 20px; height: 20px; display: block; background-image: url("../images/location/arrow_localnav.png"); background-position: center center; background-size: cover; transform: translate(-50%, -50%); }
@media screen and (max-width: 960px) { .localNav li a:after { top: 50%; right: 2.5px; width: 15px; height: 15px; } }
@media screen and (max-width: 480px) { .localNav li a:after { right: 0x; width: 10px; height: 10px; } }
@media screen and (max-width: 330px) { .localNav li a:after { display: none; } }
.localNav li a:hover { background-color: #00ceff; }
.localNav li .soon { background-color: rgba(0, 0, 0, 0.1); }
.localNav li .soon img { opacity: 0.8; }

.floatNav .localNav { width: 100%; max-width: none; margin: 10px auto 0; padding-bottom: 0px; }
.floatNav .localNav ul { padding: 0 50px; text-align: center; }
@media screen and (max-width: 680px) { .floatNav .localNav ul { padding: 0 10px; } }
.floatNav .localNav li { width: 24.375%; margin-right: 0.5%; margin-bottom: 0px; }
.floatNav .localNav li a { padding: 10px 0; }
.floatNav .localNav li a:after { right: 0px; width: 12px; height: 12px; }
.floatNav .localNav li img { width: auto; height: 25px; }
@media screen and (max-width: 1200px) { .floatNav .localNav li { width: 48.75%; margin-bottom: 5px; }
  .floatNav .localNav li:nth-child(even) { margin-right: 0%; } }
@media screen and (max-width: 680px) { .floatNav .localNav li { margin-bottom: 3.5px; }
  .floatNav .localNav li a { text-align: left; }
  .floatNav .localNav li a:after { right: -2px; width: 10px; height: 10px; }
  .floatNav .localNav li img { padding-left: 10px; width: auto; height: 22px; }
  .floatNav .localNav li:nth-child(-n+2) { margin-bottom: 2px; } }
@media screen and (max-width: 480px) { .floatNav .localNav li { margin-bottom: 2px; }
  .floatNav .localNav li a { padding: 5px 0; } }

#localNav_container { background-color: #FFFFFF; position: relative; top: 0; left: 0; z-index: 100; width: 100%; border-bottom: 4px solid #00ceff; }
#localNav_container.fixed_cls { position: fixed; top: 80px; }
#localNav_container.fixed_cls .localNav { padding-bottom: 0; }
@media screen and (max-width: 800px) { #localNav_container.fixed_cls { top: 60px; } }
@media screen and (max-width: 680px) { #localNav_container.fixed_cls { top: 54px; } }
@media screen and (max-width: 480px) { #localNav_container.fixed_cls { top: 54px; } }

#location #location01 li.location01 a, #location #location02 li.location02 a, #location #location03 li.location03 a, #location #location04 li.location04 a { background-color: #00ceff; }

/*categoryMain*/
#categoryMain { max-width: 1360px; margin: 0 auto; position: relative; }
#categoryMain .img { position: relative; line-height: 0; }
#categoryMain .catchCopy { position: absolute; right: 0; top: 50%; transform: translateY(-50%); text-align: left; background-color: rgba(255, 255, 255, 0.9); padding: 0 60px 50px; }
#categoryMain .catchCopy img { max-height: 230px; height: 230px; width: auto; margin-top: -6%; }
@media screen and (max-width: 1200px) { #categoryMain .catchCopy { padding: 0 40px 30px; }
  #categoryMain .catchCopy img { height: 180px; } }
@media screen and (max-width: 800px) { #categoryMain .catchCopy { padding: 0 30px 20px; }
  #categoryMain .catchCopy img { height: 120px; } }
@media screen and (max-width: 480px) { #categoryMain .img .note { right: auto; left: 10px; }
  #categoryMain .catchCopy { position: static; transform: translateY(0); text-align: left; background-color: none; padding: 0 5% 30px; }
  #categoryMain .catchCopy img { width: 100%; height: auto; } }

/*lifeinformation*/
#lifeinformation { max-width: 1360px; width: 90%; margin: 80px auto 0; }
#lifeinformation .title { text-align: center; }
#lifeinformation .tab { margin-top: 30px; display: flex; justify-content: space-between; flex-flow: row wrap; }
#lifeinformation .tab li { width: 16.17%; background-color: #e5e5e5; font-size: 20px; padding: 15px 0; text-align: center; cursor: pointer; }
#lifeinformation .tab .current { color: #fff; }
#lifeinformation .tab .education.current { background-color: #FF7B80; }
#lifeinformation .tab .park.current { background-color: #00AE68; }
#lifeinformation .tab .suports.current { background-color: #E71551; }
#lifeinformation .tab .commercial.current { background-color: #F1BB47; }
#lifeinformation .tab .medical.current { background-color: #7529F1; }
#lifeinformation .tab .culture.current { background-color: #816C5E; }
#lifeinformation .content { margin-top: 8px; border-bottom: 1px solid #e5e5e5; display: none; }
#lifeinformation .content.show { display: block; }
#lifeinformation .content .contentInner { display: flex; justify-content: space-between; flex-flow: row wrap; }
#lifeinformation .content .map { width: 57.5%; line-height: 0; }
#lifeinformation .content .datalist { width: 42.5%; box-sizing: border-box; height: auto; overflow-y: scroll; position: relative; }
#lifeinformation .content .datalist:before { content: ""; display: block; padding-top: 133.21%; }
#lifeinformation .content .datalist .dataInner { position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 30px 13.84% 0; box-sizing: border-box; }
#lifeinformation .content .datalist table { width: 100%; counter-reset: number; }
#lifeinformation .content .datalist table tr { counter-increment: num; }
#lifeinformation .content .datalist table th, #lifeinformation .content .datalist table td { display: block; text-align: left; font-weight: normal; }
#lifeinformation .content .datalist table th { font-size: 16px; }
#lifeinformation .content .datalist table th:before { content: counter(num,decimal-leading-zero); font-size: 18px; font-family: Arial, Helvetica, "sans-serif"; color: #fff; border-radius: 50% 50%; padding: 3px; box-sizing: border-box; margin-right: 5px; }
#lifeinformation .content .datalist table th sup { font-size: 75.5%; vertical-align: top; position: relative; top: -0.1em; }
#lifeinformation .content .datalist table th span { display: block; font-size: 10px; padding-left: 2.3em; }
#lifeinformation .content .datalist table td { font-size: 14px; padding: 5px 0 25px; padding-left: 2.3em; }
#lifeinformation .content .datalist .education th:before { background-color: #FF7B80; }
#lifeinformation .content .datalist .park th:before { background-color: #fff; border: 2px solid #00AE68; color: #00AE68; padding: 1px; }
#lifeinformation .content .datalist .suports th:before { background-color: #E71551; }
#lifeinformation .content .datalist .commercial th:before { background-color: #F1BB47; }
#lifeinformation .content .datalist .medical th:before { background-color: #7529F1; }
#lifeinformation .content .datalist .culture th:before { background-color: #816C5E; }
#lifeinformation .note { margin-top: 20px; }

@media screen and (max-width: 960px) { #lifeinformation .tab li { font-size: 16px; padding: 12px 0; }
  #lifeinformation .content .datalist table th { font-size: 14px; }
  #lifeinformation .content .datalist table th:before { font-size: 14px; }
  #lifeinformation .content .datalist table td { font-size: 12px; padding: 5px 0 20px; padding-left: 2em; } }
@media screen and (max-width: 680px) { #lifeinformation .title img { height: 20px; width: auto; }
  #lifeinformation .tab { margin-top: 20px; }
  #lifeinformation .tab li { font-size: 12px; padding: 10px 0; }
  #lifeinformation .content { margin-top: 4px; }
  #lifeinformation .content .contentInner { display: block; }
  #lifeinformation .content .map { width: 100%; }
  #lifeinformation .content .datalist { border: 1px solid #e5e5e5; border-width: 1px 1px 0 1px; width: 100%; height: auto; overflow-y: none; position: relative; }
  #lifeinformation .content .datalist:before { display: none; }
  #lifeinformation .content .datalist .dataInner { position: static; height: auto; padding: 30px 20px 0; } }
@media screen and (max-width: 480px) { #lifeinformation { margin-top: 60px; }
  #lifeinformation .title img { height: 18px; }
  #lifeinformation .tab li { width: 32.94%; }
  #lifeinformation .tab li:nth-child(n+4) { margin-top: 2px; }
  #lifeinformation .content { margin-top: 2px; } }
/*********************

01

*********************/
#location01 #mainCopy { background-color: #ff7b80; padding: 15px 5% 45px; box-sizing: border-box; text-align: center; }
#location01 #mainCopy img { margin: 0.5vw; width: auto; }
#location01 .point { max-width: 1024px; width: 90%; margin: 200px auto 0; }
#location01 .point .pointMainCopy { border: 3px solid #ff7b80; border-width: 3px 0; padding: 45px 0 35px; position: relative; text-align: center; }
#location01 .point .pointMainCopy img { margin: 0.5vw; width: auto; }
#location01 .point .pointMainCopy .pointNo { position: absolute; z-index: 2; left: 50%; top: 0; margin-top: -115px; transform: translateX(-50%); width: 114px; }
#location01 .point .pointMainCopy .pointNo img { width: 100%; height: auto; margin: 0; }
#location01 .point .lead { font-size: 16px; margin-top: 50px; line-height: 2; text-align: center; }

#location01 #point01 .map { margin-top: 30px; }
#location01 #point01 .note { margin-top: 30px; text-align: center; }

#location01 #point02 .dataList { max-width: 860px; margin: 0 auto; }
#location01 #point02 .dataList ul { display: flex; justify-content: space-between; flex-flow: row wrap; }
#location01 #point02 .dataList ul li { width: 42.09%; margin-top: 50px; }
#location01 #point02 .dataList .note { text-align: right; margin-top: 40px; }

#location01 #point03 .pointMainCopy .illust { position: absolute; bottom: 0; right: 2.92%; transform: translateY(50%); width: 182px; }
#location01 #point03 .pointMainCopy .illust img { width: 100%; height: auto; }
#location01 #point03 .title { font-size: 24px; background: linear-gradient(transparent 50%, #ffbdc5 50%); display: inline-block; padding: 0 3px 10px; }
#location01 #point03 .subTitle { color: #ff7b80; font-weight: bold; font-size: 20px; }
#location01 #point03 sup { font-size: 75.5%; vertical-align: top; position: relative; top: -0.1em; }
#location01 #point03 .lead { text-align: left; margin-top: 10px; }
#location01 #point03 #freeforchild { max-width: 860px; margin: 60px auto 0; }
#location01 #point03 #freeforchild .subTitle span { background-color: #ff7b80; color: #fff; text-align: center; padding: 2px; display: inline-block; line-height: 1; width: 18px; height: 18px; border-radius: 50% 50%; margin-right: 5px; vertical-align: middle; font-weight: normal; }
#location01 #point03 #freeforchild .support01 { margin-top: 50px; border-bottom: 1px solid #ff7b80; padding-bottom: 50px; }
#location01 #point03 #freeforchild .support01 .meritList { display: flex; justify-content: space-between; flex-flow: row wrap; }
#location01 #point03 #freeforchild .support01 .meritList li { width: 31.61%; margin-top: 25px; }
#location01 #point03 #freeforchild .support01 .note { margin-top: 20px; }
#location01 #point03 #freeforchild .support02 { margin-top: 50px; width: 33.6%; float: left; border-right: 1px solid #ff7b80; padding-right: 3.72%; box-sizing: border-box; }
#location01 #point03 #freeforchild .support02 .merit { margin-top: 25px; }
#location01 #point03 #freeforchild .support03 { width: 62.44%; float: right; margin-top: 50px; }
#location01 #point03 #freeforchild .support03 .meritList { display: flex; justify-content: space-between; flex-flow: row wrap; }
#location01 #point03 #freeforchild .support03 .meritList li { width: 47.85%; margin-top: 25px; }
#location01 #point03 #freeforchild .support03 + .note { padding-top: 30px; clear: both; }
#location01 #point03 #medicalBills { max-width: 860px; margin: 50px auto 0; }
#location01 #point03 #medicalBills:before { background: radial-gradient(circle farthest-side, #ff7b80, #ff7b80 40%, transparent 40%, transparent); background-size: 10px 10px; content: ''; display: inline-block; height: 10px; width: 100%; margin-bottom: 50px; }
#location01 #point03 #medicalBills .expect { margin-top: 50px; }
#location01 #point03 #medicalBills .meritList { display: flex; justify-content: space-between; flex-flow: row wrap; width: 70.09%; float: left; }
#location01 #point03 #medicalBills .meritList li { width: 47.03%; margin-top: 25px; }
#location01 #point03 #medicalBills .illust { float: right; width: 25.11%; }
#location01 #point03 #medicalBills .illust + .note { padding-top: 30px; clear: both; }
#location01 #point03 #childAllowance { max-width: 860px; margin: 50px auto 0; }
#location01 #point03 #childAllowance:before { background: radial-gradient(circle farthest-side, #ff7b80, #ff7b80 40%, transparent 40%, transparent); background-size: 10px 10px; content: ''; display: inline-block; height: 10px; width: 100%; margin-bottom: 50px; }
#location01 #point03 .meritList { display: flex; justify-content: space-between; flex-flow: row wrap; }
#location01 #point03 .meritList .merit01 { width: 33.25%; margin-top: 40px; }
#location01 #point03 .meritList .merit01 .img { margin-top: 25px; }
#location01 #point03 .meritList .merit02 { width: 58.13%; margin-top: 40px; }
#location01 #point03 .meritList .merit02 table { width: 100%; color: #ff7b80; font-size: 18px; }
#location01 #point03 .meritList .merit02 table th { text-align: left; padding-top: 15px; font-weight: normal; display: flex; align-items: center; }
#location01 #point03 .meritList .merit02 table th:after { margin-left: 5px; border-top: 1px solid #ff7b80; content: ""; flex-grow: 1; }
#location01 #point03 .meritList .merit02 table td { padding-top: 15px; text-align: right; }
#location01 #point03 .meritList + .note { margin-top: 50px; }
#location01 #point03 .source { text-align: right; margin-top: 10px; }

@media screen and (max-width: 960px) { #location01 #point03 .pointMainCopy .illust { width: 100px; } }
@media screen and (max-width: 680px) { #location01 #mainCopy { padding: 30px 5%; }
  #location01 #mainCopy img { height: 28px; }
  #location01 #mainCopy img:last-child { height: 59px; }
  #location01 .point { margin: 120px auto 0; }
  #location01 .point .pointMainCopy { padding: 35px 0 25px; }
  #location01 .point .pointMainCopy img { height: 23px; }
  #location01 .point .pointMainCopy .pointNo { margin-top: -81px; width: 80px; }
  #location01 .point .lead { font-size: 14px; margin-top: 30px; line-height: 1.8; }
  #location01 #point03 .title { font-size: 22px; }
  #location01 #point03 .subTitle { font-size: 18px; }
  #location01 #point03 .subTitle br { display: none; }
  #location01 #point03 #freeforchild .support01 { padding-bottom: 0; border: 0; }
  #location01 #point03 #freeforchild .support02 { width: 100%; float: none; border-right: 0; padding-right: 0; }
  #location01 #point03 #freeforchild .support02 .merit { max-width: 257px; margin-left: auto; margin-right: auto; }
  #location01 #point03 #freeforchild .support03 { width: 100%; float: none; }
  #location01 #point03 #freeforchild .support03 + .note { padding-top: 30px; }
  #location01 #point03 #childAllowance .merit01 { width: 100%; }
  #location01 #point03 #childAllowance .merit01 .img { max-width: 286px; margin-left: auto; margin-right: auto; }
  #location01 #point03 #childAllowance .merit02 { width: 100%; } }
@media screen and (max-width: 480px) { #location01 #mainCopy { padding: 25px 5%; }
  #location01 #mainCopy img { height: 24px; }
  #location01 #mainCopy img:last-child { height: 50px; }
  #location01 .point { margin: 100px auto 0; }
  #location01 .point .pointMainCopy { padding: 25px 0 20px; }
  #location01 .point .pointMainCopy img { height: 20px; }
  #location01 .point .pointMainCopy .pointNo { margin-top: -61px; width: 60px; }
  #location01 #point02 .dataList ul li { margin-top: 30px; }
  #location01 #point02 .dataList .note { margin-top: 20px; }
  #location01 #point03 .pointMainCopy .illust { width: 80px; }
  #location01 #point03 .title { font-size: 20px; }
  #location01 #point03 .subTitle { font-size: 16px; }
  #location01 #point03 .subTitle span { width: 16px; height: 16px; }
  #location01 #point03 #medicalBills .expect { margin-top: 30px; }
  #location01 #point03 #medicalBills .meritList { float: none; width: 100%; }
  #location01 #point03 #medicalBills .illust { display: none; }
  #location01 #point03 #childAllowance .meritList .merit02 table { font-size: 16px; }
  #location01 #point03 #childAllowance .meritList .merit02 table th, #location01 #point03 #childAllowance .meritList .merit02 table td { width: 100%; display: block; padding-top: 20px; }
  #location01 #point03 #childAllowance .meritList .merit02 table td { padding-top: 5px; text-align: left; } }
/*********************

02

*********************/
#location02 #categoryMain .img .note { left: auto; right: 10px; }
#location02 #categoryMain .catchCopy { right: auto; left: 0; }
#location02 .overview { max-width: 1024px; width: 90%; margin: 80px auto 0; display: flex; justify-content: center; flex-flow: row wrap; }
#location02 .overview .illust { width: 37.5%; max-width: 384px; }
#location02 .overview .lead { font-size: 16px; line-height: 2; margin-left: -5.95%; margin-top: 9%; width: 52.73%; }
#location02 .section { max-width: 1024px; width: 90%; margin: 60px auto 0; }
#location02 .section .main { display: flex; justify-content: space-between; align-items: flex-start; flex-flow: row wrap; }
#location02 .section .main .copy { width: 47.84%; }
#location02 .section .main .copy .name { font-size: 26px; font-weight: bold; background-color: #e71551; padding: 10px 15px; color: #fff; }
#location02 .section .main .copy .distance { font-size: 18px; color: #e71551; padding: 0 15px; margin-top: 15px; }
#location02 .section .main .copy .subTitle { font-size: 22px; padding: 0 15px; margin-top: 25px; }
#location02 .section .main .copy .bodyCopy { font-size: 16px; line-height: 2; padding: 0 15px; margin-top: 25px; }
#location02 .section .main .img { width: 47.84%; position: relative; }
#location02 #section01 .main { flex-flow: row-reverse wrap; }
#location02 #section01 .detailList { display: flex; justify-content: space-between; flex-flow: row wrap; margin-top: -4%; }
#location02 #section01 .detailList .detail { width: 47.85%; }
#location02 #section01 .detailList .detail01 { margin-top: 10%; }
#location02 #section01 .detailList .detail02 { position: relative; }
#location02 #section02:before { background: radial-gradient(circle farthest-side, #00CEFF, #00CEFF 40%, transparent 40%, transparent); background-size: 10px 10px; content: ''; display: inline-block; height: 10px; width: 100%; margin-bottom: 100px; }
#location02 #section02 .main .img { margin-top: -6%; }
#location02 #section02 .facilityList { display: flex; justify-content: space-between; flex-flow: row wrap; }
#location02 #section02 .facilityList .facility { width: 30.46%; margin-top: 50px; }
#location02 #section02 .facilityList .facility .img { position: relative; }
#location02 #section02 .facilityList .facility .name { font-size: 22px; font-weight: normal; margin-top: 10px; }
#location02 #section02 .facilityList .facility .distance { font-size: 16px; margin-top: 8px; }
#location02 #section02 .facilityList .gym .note { color: #fff; }

@media screen and (max-width: 960px) { #location02 .overview .lead { margin-left: 3%; font-size: 14px; line-height: 1.8; }
  #location02 .section .main .copy { width: 100%; }
  #location02 .section .main .copy .bodyCopy { font-size: 14px; line-height: 1.8; }
  #location02 .section .main .img { width: 100%; margin-top: 30px; }
  #location02 #section02:before { margin-bottom: 60px; }
  #location02 #section02 .main .img { margin-top: 30px; } }
@media screen and (max-width: 680px) { #location02 .overview { margin-top: 40px; }
  #location02 .overview .illust { width: 100%; text-align: center; margin: 0 auto; }
  #location02 .overview .lead { width: 100%; margin-left: 0; margin-top: 30px; }
  #location02 .section .main .copy .name { font-size: 24px; }
  #location02 #section01 .detailList .detail { width: 100%; }
  #location02 #section02 .facilityList .facility .name { font-size: 22px; }
  #location02 #section02 .facilityList .facility .distance { font-size: 14px; } }
@media screen and (max-width: 480px) { #location02 .overview { margin-top: 10px; }
  #location02 .section .main .copy .name { font-size: 22px; }
  #location02 #section02 .facilityList .facility { width: 100%; margin-top: 30px; }
  #location02 #section02 .facilityList .facility .name { font-size: 20px; }
  #location02 #section02 .facilityList .facility .distance { font-size: 12px; } }
/*********************

03

*********************/
#location03 .overview { max-width: 1024px; width: 90%; margin: 80px auto 0; display: flex; justify-content: center; flex-flow: row wrap; }
#location03 .overview .illust { width: 30.37%; max-width: 311px; }
#location03 .overview .lead { font-size: 16px; line-height: 2; margin-left: -7.12%; margin-top: 9%; width: 52.44%; }
#location03 .section { max-width: 1024px; width: 90%; margin: 60px auto 0; }
#location03 .section .sectionCopy { font-size: 28px; display: flex; justify-content: center; align-items: center; text-align: center; line-height: 1.4; margin-bottom: 40px; }
#location03 .section .sectionCopy .ico01 { max-width: 86px; margin-right: 15px; }
#location03 .section .sectionCopy .ico02 { max-width: 86px; margin-left: 15px; }
#location03 .section .main { display: flex; justify-content: space-between; align-items: flex-start; flex-flow: row-reverse wrap; }
#location03 .section .main .copy { width: 47.84%; }
#location03 .section .main .copy .name { font-size: 26px; font-weight: bold; background-color: #00ae68; padding: 10px 15px; color: #fff; }
#location03 .section .main .copy .distance { font-size: 18px; color: #00ae68; padding: 0 15px; margin-top: 15px; }
#location03 .section .main .copy .subTitle { font-size: 22px; padding: 0 15px; margin-top: 25px; }
#location03 .section .main .copy .bodyCopy { font-size: 16px; line-height: 2; padding: 0 15px; margin-top: 25px; }
#location03 .section .main .img { width: 47.84%; }
#location03 .section .parkList { display: flex; justify-content: space-between; flex-flow: row wrap; }
#location03 .section .parkList .park { width: 30.46%; margin-top: 50px; }
#location03 .section .parkList .park .name { font-size: 22px; font-weight: normal; background-color: #00ae68; padding: 10px; text-align: center; color: #fff; }
#location03 .section .parkList .park .distance { font-size: 16px; margin-top: 12px; text-align: center; color: #00ae68; }
#location03 .section .parkList .park .img { margin-top: 12px; }
#location03 #section01 .main .copy .illust { max-width: 251px; width: 100%; margin-left: auto; }
#location03 #section01 .adventure { background-color: #edffe9; border-radius: 10px; position: relative; padding: 40px 0; margin-top: 40px; }
#location03 #section01 .adventure .illust { max-width: 102px; position: absolute; top: 5px; left: -2px; }
#location03 #section01 .adventure .title { font-size: 22px; padding: 0 60px 0 125px; }
#location03 #section01 .adventure .bodyCopy { font-size: 16px; line-height: 2; margin-top: 5px; padding: 0 60px 0 125px; }
#location03 #section01 .adventure .animals { display: flex; justify-content: center; flex-flow: row wrap; align-items: flex-end; margin-left: 8%; margin-top: 10px; width: 1000px; }
#location03 #section01 .adventure .animals .animal { margin: 0 10px; }
#location03 #section01 .adventure .note { padding: 0 60px; text-align: right; }
#location03 #section02 .main .copy .illust { max-width: 343px; width: 100%; margin-left: auto; margin-top: -3%; }
#location03 #section02 .main .img img { width: 119.5%; height: auto; }
#location03 #section03 .main .copy { position: relative; }
#location03 #section03 .main .copy .pin { max-width: 167px; width: 100%; position: absolute; right: -20px; top: -90px; }
#location03 #section03 .main .copy .imgMini { max-width: 239px; width: 100%; float: left; margin-right: 15px; position: relative; margin-top: 20px; }
#location03 #section03 .main .copy .bodyCopy { margin-top: 50px; }
#location03 #section03 .main .img .note { margin-top: 5px; }

@media screen and (max-width: 960px) { #location03 .overview .lead { margin-left: 3%; font-size: 14px; line-height: 1.8; }
  #location03 .section .main .copy { width: 100%; }
  #location03 .section .main .copy .bodyCopy { font-size: 14px; line-height: 1.8; }
  #location03 .section .main .img { width: 100%; margin-top: 30px; }
  #location03 #section01 .main .copy .illust { margin: 0 auto; }
  #location03 #section01 .adventure { padding: 30px 0; }
  #location03 #section01 .adventure .animals { display: flex; justify-content: center; flex-flow: row wrap; align-items: flex-end; margin: 0 auto; margin-top: 30px; width: 90%; }
  #location03 #section01 .adventure .animals .animal { margin-top: 10px; }
  #location03 #section01 .adventure .note { padding: 0 60px; text-align: right; }
  #location03 #section02 .main .copy .illust { margin-left: auto; margin-right: auto; margin-top: 20px; }
  #location03 #section02 .main .img img { width: 100%; }
  #location03 #section03 .main .copy .pin { max-width: 90px; top: -45px; } }
@media screen and (max-width: 680px) { #location03 .overview { margin-top: 40px; }
  #location03 .overview .illust { width: 100%; text-align: center; margin: 0 auto; }
  #location03 .overview .lead { width: 100%; margin-left: 0; margin-top: 30px; }
  #location03 .section .main .copy .name { font-size: 24px; }
  #location03 .section .sectionCopy { font-size: 24px; }
  #location03 .section .sectionCopy .ico01 { max-width: 86px; margin-right: 15px; }
  #location03 .section .sectionCopy .ico02 { max-width: 86px; margin-left: 15px; }
  #location03 .section .parkList .park { width: 100%; }
  #location03 .section .parkList .park .name { font-size: 22px; }
  #location03 .section .parkList .park .distance { font-size: 14px; }
  #location03 #section01 .adventure .title { font-size: 20px; }
  #location03 #section01 .adventure .bodyCopy { font-size: 14px; line-height: 1.8; } }
@media screen and (max-width: 480px) { #location03 .overview { margin-top: 10px; }
  #location03 .section .sectionCopy { font-size: 22px; }
  #location03 .section .main .copy .name { font-size: 22px; }
  #location03 .section .parkList .park { width: 100%; margin-top: 30px; }
  #location03 .section .parkList .park .name { font-size: 20px; }
  #location03 .section .parkList .park .distance { font-size: 12px; }
  #location03 #section01 .adventure .illust { max-width: 60px; }
  #location03 #section01 .adventure .title, #location03 #section01 .adventure .bodyCopy { padding: 0 30px 0 70px; }
  #location03 #section01 .adventure .note { padding: 0 30px; }
  #location03 #section01 .adventure .animals .animal img { width: 90px; height: auto; }
  #location03 #section01 .adventure .animals .animal:last-child img { width: 223px; }
  #location03 #section03 .main .copy .imgMini { max-width: 120px; }
  #location03 #section03 .main .copy .imgMini .pic_note { position: static; }
  #location03 #section03 .main .copy .bodyCopy { margin-top: 20px; }
  #location03 #section03 .main .copy .pin { max-width: 70px; top: -25px; } }
/*********************

04

*********************/
#location04 #categoryMain .catchCopy { right: auto; left: 0; }
#location04 .section { max-width: 1024px; width: 90%; margin: 80px auto 0; }
#location04 .sectionCopy { font-size: 32px; text-align: center; }
#location04 #section01 { margin-top: 120px; }
#location04 #section01 .sectionCopy { margin-bottom: 40px; line-height: 1.4; }
#location04 #section01 .sectionCopy .sub { font-size: 87.5%; display: block; }
#location04 #section01 .main { display: flex; justify-content: space-between; flex-flow: row wrap; }
#location04 #section01 .main .img { border-radius: 10px 0 0 0; overflow: hidden; width: 50%; position: relative; line-height: 1; }
#location04 #section01 .main .img .pic_note { right: auto; left: 10px; }
#location04 #section01 .main .copy { background-color: #fceed6; border-radius: 0 10px 0 0; width: 50%; padding-top: 70px; position: relative; }
#location04 #section01 .main .copy .title { background-color: #ffc244; padding: 10px 40px; }
#location04 #section01 .shop01 { position: relative; }
#location04 #section01 .shop01 .main .copy .name { font-size: 28px; padding: 0 40px; margin-top: 40px; }
#location04 #section01 .shop01 .main .copy .memo { font-size: 16px; padding: 0 30px; margin-top: 10px; }
#location04 #section01 .shop01 .main .copy .illust { max-width: 231px; position: absolute; right: -30px; top: -46px; }
#location04 #section01 .shop01 .main .copy .distance { max-width: 244px; position: absolute; right: 25px; bottom: 20px; }
#location04 #section01 .shop01 .detail { display: flex; justify-content: space-between; flex-flow: row wrap; align-items: flex-end; margin-top: -5.5%; }
#location04 #section01 .shop01 .detail .photo { width: 57.22%; position: relative; }
#location04 #section01 .shop01 .detail .shoplist { width: 33.2%; margin-right: 2.73%; margin-bottom: 3%; }
#location04 #section01 .shop01 .pin { position: absolute; max-width: 192px; left: 10px; top: -198px; }
#location04 #section01 .shop02 { margin-top: 100px; }
#location04 #section01 .shop02 .main { flex-flow: row-reverse wrap; }
#location04 #section01 .shop02 .img { border-radius: 0 10px 0 0; }
#location04 #section01 .shop02 .copy { border-radius: 10px 0 0 0; text-align: right; }
#location04 #section01 .shop02 .copy .name { font-size: 28px; padding: 0 40px; margin-top: 40px; }
#location04 #section01 .shop02 .copy .distance { font-size: 16px; padding: 0 30px; margin-top: 10px; }
#location04 #section01 .shop02 .copy .illust { max-width: 166px; position: absolute; top: 22px; left: 28px; }
#location04 #section01 .shop02 .shoplist { border: 5px solid #fceed6; border-width: 0px 5px 5px 5px; border-radius: 0 0 10px 10px; padding: 50px; box-sizing: border-box; }
#location04 #section01 .shop02 .shoplist .title { text-align: center; font-size: 28px; color: #ffc244; }
#location04 #section01 .shop02 .shoplist .englishTitle { text-align: center; font-size: 18px; padding: 8px; background-color: #fceed6; font-weight: bold; margin-top: 15px; }
#location04 #section01 .shop02 .shoplist .shops { display: flex; justify-content: space-between; flex-flow: row wrap; max-width: 860px; margin: 0 auto; }
#location04 #section01 .shop02 .shoplist .shops .category { width: 30.93%; margin-top: 30px; }
#location04 #section01 .shop02 .shoplist .shops .category .categoryName { font-size: 22px; color: #ffc244; }
#location04 #section01 .shop02 .shoplist .shops .category .jp { font-size: 16px; color: #ffc244; padding-top: 5px; margin-top: 5px; border-top: 1px solid #ffc244; }
#location04 #section01 .shop02 .shoplist .shops .category ul { padding-left: 1.2em; margin-top: 20px; }
#location04 #section01 .shop02 .shoplist .shops .category ul li { font-size: 16px; list-style-type: disc; margin-top: 10px; }
#location04 #section01 .shop02 .shoplist .shops .category ul li:first-child { margin-top: 0; }
#location04 #section01 .shop02 .note { margin-top: 10px; text-align: right; }
#location04 #section02 .sectionCopy, #location04 #section03 .sectionCopy { background-color: #ffc244; padding: 14px; font-weight: bold; color: #fff; }
#location04 #section02 .shopList, #location04 #section03 .shopList { display: flex; justify-content: space-between; flex-flow: row wrap; }
#location04 #section02 .shopList .shop, #location04 #section03 .shopList .shop { width: 32.42%; margin-top: 12px; }
#location04 #section02 .shopList .shop .name, #location04 #section03 .shopList .shop .name { font-size: 22px; margin-top: 8px; font-weight: bold; }
#location04 #section02 .shopList .shop .distance, #location04 #section03 .shopList .shop .distance { font-size: 16px; margin-top: 8px; }
#location04 #section02 .seiyu { margin-top: 60px; background-color: #2f679e; border-radius: 10px; padding: 15px; display: flex; justify-content: space-between; flex-flow: row wrap; }
#location04 #section02 .seiyu .img { width: 44.87%; }
#location04 #section02 .seiyu .copy { width: 50%; color: #fff; position: relative; }
#location04 #section02 .seiyu .copy .title { color: #f3f900; font-size: 32px; margin-top: 20px; }
#location04 #section02 .seiyu .copy .title .star { margin-left: 10px; }
#location04 #section02 .seiyu .copy .bodyCopy { font-size: 16px; line-height: 2; margin-top: 20px; }
#location04 #section02 .seiyu .copy .name { margin-top: 40px; font-size: 28px; }
#location04 #section02 .seiyu .copy .name .opening { font-size: 50%; margin-left: 10px; }
#location04 #section02 .seiyu .copy .distance { font-size: 16px; margin-top: 10px; }
#location04 #section02 .seiyu .copy .pin { max-width: 147px; position: absolute; right: -54px; top: -41px; }
#location04 #section02 .seiyu .copy .illust { position: absolute; right: 0; bottom: -43px; max-width: 108px; }
#location04 #section02 .sevenEleven { margin-top: 40px; margin-left: auto; width: 50%; }
#location04 #section02 .sevenEleven .name { font-size: 22px; }
#location04 #section02 .sevenEleven .distance { font-size: 16px; margin-top: 10px; }
#location04 #section03 .premie { max-width: 936px; margin: 40px auto 0; }
#location04 #section03 .note { text-align: right; max-width: 740px; margin: 10px auto 0; }

@media screen and (max-width: 960px) { #location04 #section01 .main { display: block; }
  #location04 #section01 .main .img { border-radius: 10px 10px 0 0; width: 100%; }
  #location04 #section01 .main .copy { border-radius: 0 0 0 0; width: 100%; padding-bottom: 60px; }
  #location04 #section01 .shop01 .pin { max-width: 120px; left: -30px; top: -108px; }
  #location04 #section01 .shop02 .shoplist .shops .category { width: 100%; }
  #location04 #section02 .seiyu .img { width: 100%; }
  #location04 #section02 .seiyu .copy { width: 100%; padding-bottom: 20px; }
  #location04 #section02 .seiyu .copy .name { margin-top: 20px; }
  #location04 #section02 .sevenEleven { width: 100%; } }
@media screen and (max-width: 680px) { #location04 .section .sectionCopy { font-size: 26px; }
  #location04 #section01 { margin-top: 60px; }
  #location04 #section01 .sectionCopy { margin-bottom: 20px; }
  #location04 #section01 .shop .title img { height: 34px; width: auto; }
  #location04 #section01 .shop01 .main .copy .name, #location04 #section01 .shop02 .main .copy .name { font-size: 24px; margin-top: 25px; }
  #location04 #section01 .shop01 .pin { max-width: 90px; top: -90px; }
  #location04 #section01 .shop01 .main .copy .memo { font-size: 14px; }
  #location04 #section01 .shop01 .main .copy .illust { max-width: 160px; top: -10px; }
  #location04 #section01 .shop01 .main .copy .distance { max-width: 200px; }
  #location04 #section01 .shop02 .main .copy .distance { font-size: 14px; }
  #location04 #section01 .shop02 .main .copy .illust { max-width: 120px; top: 20px; }
  #location04 #section01 .shop02 .shoplist { padding: 30px; }
  #location04 #section02 .sectionCopy, #location04 #section03 .sectionCopy { padding: 12px; }
  #location04 #section02 .shopList, #location04 #section03 .shopList { display: block; }
  #location04 #section02 .shopList .shop, #location04 #section03 .shopList .shop { width: 100%; margin-top: 20px; }
  #location04 #section02 .shopList .shop .distance, #location04 #section03 .shopList .shop .distance { font-size: 14px; }
  #location04 #section02 .seiyu .copy .title { font-size: 26px; }
  #location04 #section02 .seiyu .copy .bodyCopy { font-size: 14px; }
  #location04 #section02 .seiyu .copy .name { font-size: 26px; }
  #location04 #section02 .seiyu .copy .distance { font-size: 14px; }
  #location04 #section02 .seiyu .copy .pin { max-width: 100px; right: 50px; top: -10px; }
  #location04 #section02 .seiyu .copy .illust { max-width: 70px; right: 0px; bottom: 0; }
  #location04 #section02 .sevenEleven .distance { font-size: 14px; } }
@media screen and (max-width: 480px) { #location04 .section { margin: 60px auto 0; }
  #location04 .section .sectionCopy { font-size: 22px; }
  #location04 #section01 { margin-top: 20px; }
  #location04 #section01 .main .copy { padding-top: 40px; }
  #location04 #section01 .main .copy .title { padding: 10px 25px; }
  #location04 #section01 .shop01 .pin { max-width: 70px; top: 10px; left: 10px; }
  #location04 #section01 .shop01 .main .copy .illust { max-width: 120px; right: -10px; }
  #location04 #section01 .shop01 .main .copy .distance { max-width: 140px; }
  #location04 #section01 .shop01 .main .copy .name { padding: 0 25px; }
  #location04 #section01 .shop01 .main .copy .memo { padding: 0 15px; }
  #location04 #section01 .shop01 .detail { display: block; margin-top: 0; }
  #location04 #section01 .shop01 .detail .photo { width: 100%; margin-top: 20px; }
  #location04 #section01 .shop01 .detail .shoplist { max-width: 340px; width: 100%; margin-right: auto; margin-top: 20px; }
  #location04 #section01 .shop02 { margin-top: 50px; }
  #location04 #section01 .shop02 .main .copy { padding-bottom: 30px; }
  #location04 #section01 .shop02 .main .copy .illust { max-width: 90px; top: 20px; left: 5px; }
  #location04 #section01 .shop02 .shoplist .title { font-size: 24px; }
  #location04 #section02 .shopList .shop .name, #location04 #section03 .shopList .shop .name { font-size: 18px; }
  #location04 #section02 .seiyu .copy .title, #location04 #section02 .seiyu .copy .name { font-size: 22px; }
  #location04 #section02 .seiyu .copy .bodyCopy br { display: none; }
  #location04 #section02 .seiyu .copy .pin { max-width: 80px; right: 10px; top: -90px; }
  #location04 #section02 .seiyu .copy .illust { max-width: 50px; right: -10px; bottom: -50px; }
  #location04 #section02 .sevenEleven .name { font-size: 18px; } }
