@charset "UTF-8";
/*---------------------------------------- 
	importFont
------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@400;600&display=swap");
/*---------------------------------------- 
	setting Layout
------------------------------------------*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body, div, span, applet, object,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
}

article, aside, details, figcaption, figure, picture, footer, header, hgroup, main, menu, nav, section, details, summary {
  display: block;
}

html {
  -webkit-text-size-adjust: none;
  height: 100%;
  max-width: 2560px;
}

body {
  font-size: 16px;
  line-height: 1.75;
  height: 100%;
  font-weight: 400;
  font-family: "Shippori Mincho B1", serif;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 3.125vw;
  }
}
/*-------------------------------------
base 16px
********************

12px | 0.750em	13px | 0.813em
14px | 0.875em	15px | 0.938em
16px | 1.000em	17px | 1.063em
18px | 1.125em	19px | 1.188em
20px | 1.250em	21px | 1.313em
22px | 1.375em	23px | 1.438em
24px | 1.500em	25px | 1.563em
26px | 1.625em	27px | 1.688em
28px | 1.750em	29px | 1.813em
30px | 1.875em

34px | 2.125em	36px | 2.250em
40px | 2.500em
--------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: bold;
}

ol, ul, ul li, ol li {
  list-style: none;
}

img {
  border: none;
  vertical-align: text-bottom;
  -ms-interpolation-mode: bicubic;
  max-width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  font-weight: normal;
  text-align: left;
  vertical-align: top;
}

a {
  color: #005B98;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.8);
  outline: none;
  text-decoration: none;
  transition: all 0.4s;
}

a.disabled {
  pointer-events: none;
  cursor: default;
}

a:hover {
  opacity: 0.4;
}

a:active {
  color: #666;
}

a:focus {
  overflow: hidden;
  outline: none;
}

.bold {
  font-weight: bold;
}

.center {
  text-align: center;
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

.red {
  color: #E60012;
}

.relative {
  position: relative;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
}

blockquote, q {
  quotes: "" "";
}

option {
  padding-right: 10px;
}

.cf:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.ft14 {
  font-size: 0.875em;
}

.ft16 {
  font-size: 1em;
}

.ft20 {
  font-size: 1.25em;
}

.ft24 {
  font-size: 1.5em;
}

.mt16 {
  margin-top: 16px;
}

.mt24 {
  margin-top: 24px;
}

.mt40 {
  margin-top: 40px;
}

.mt80 {
  margin-top: 80px;
}

.mt120 {
  margin-top: 120px;
}

@media screen and (max-width: 767px) {
  body {
    min-width: inherit;
  }
  br.sp {
    display: none;
  }
}
/*------------------------------------------
    共通
------------------------------------------*/
.site__header {
  position: relative;
  z-index: 11;
}
.site__header .logo {
  max-width: 360px;
  min-width: 20%;
  position: absolute;
  top: 24px;
  left: 32px;
}
.site__header .logo img {
  width: 100%;
  height: auto;
}
.site__header .toggle--btn {
  display: block;
  position: fixed;
  top: 40px;
  right: 40px;
  width: 48px;
  height: 48px;
  transition: all 0.4s;
  cursor: pointer;
  z-index: 9999;
  border: 1px solid #D9C582;
  background: #D9C582;
}
.site__header .toggle--btn .menu {
  font-style: normal;
  font-size: 0.75em;
  position: absolute;
  bottom: -24px;
  left: 50%;
  transform: translateX(-50%);
}
.site__header .toggle--btn span {
  display: block;
  position: absolute;
  left: 50%;
  width: calc(100% - 12px - 12px / 2);
  height: 1px;
  background: #fff;
  border-radius: 4px;
  transform: translateX(-50%);
  transition: all 0.4s;
}
.site__header .toggle--btn span:nth-child(1) {
  top: 12px;
}
.site__header .toggle--btn span:nth-child(2) {
  top: 50%;
}
.site__header .toggle--btn span:nth-child(3) {
  top: calc(100% - 12px);
}
.site__header .sitenav {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  background: #D9C582;
  overflow-y: auto;
  min-width: 600px;
  min-height: 100vh;
  display: none;
  opacity: 0;
}
.site__header .sitenav::-webkit-scrollbar {
  width: 2px;
}
.site__header .sitenav::-webkit-scrollbar-track {
  background: #eee;
}
.site__header .sitenav::-webkit-scrollbar-thumb {
  background: #D9C582;
  border: none;
}
.site__header .sitenav::-webkit-scrollbar-thumb:hover {
  background: #999;
}
.site__header .sitenav__body {
  width: 50%;
  margin: auto;
  padding: 80px 0;
}
.site__header .sitenav__body ul li {
  margin-top: 16px;
}
.site__header .sitenav__body ul li:first-child {
  margin-top: 0;
}
.site__header .sitenav__body ul li a {
  color: #222;
  display: block;
  border: 1px solid #222;
  padding: 4px 0;
  text-align: center;
  font-size: 0.875em;
}

.mask {
  opacity: 0;
}

.open .site__header .toggle--btn {
  border: 1px solid #222;
}
.open .site__header .toggle--btn span {
  display: block;
  position: absolute;
  left: 50%;
  height: 1px;
  background: #222;
  border-radius: 4px;
  transform: translateX(-50%);
  transition: all 0.4s;
}
.open .site__header .toggle--btn span:nth-child(1) {
  -webkit-animation: topBar 1.2s forwards;
          animation: topBar 1.2s forwards;
}
.open .site__header .toggle--btn span:nth-child(2) {
  opacity: 0;
}
.open .site__header .toggle--btn span:nth-child(3) {
  -webkit-animation: bottomBar 1.2s forwards;
          animation: bottomBar 1.2s forwards;
}
.open .site__header .sitenav {
  display: block;
  z-index: 9998;
  -webkit-animation: fadeMenu 1.2s forwards;
          animation: fadeMenu 1.2s forwards;
}
.open .mask {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  -webkit-animation: fadeMenu 1.2s forwards;
          animation: fadeMenu 1.2s forwards;
}

@-webkit-keyframes fadeMenu {
  0% {
    opacity: 0;
  }
  15% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeMenu {
  0% {
    opacity: 0;
  }
  15% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes topBar {
  0% {
    left: 50%;
  }
  50% {
    top: 50%;
    left: 50%;
    transform: rotate(0deg) translateX(-50%) translateY(-50%);
    width: calc(100% - 12px - 12px / 2);
  }
  100% {
    transform: rotate(-45deg) translateX(0) translateY(0);
    top: 50%;
    left: 20%;
  }
}
@keyframes topBar {
  0% {
    left: 50%;
  }
  50% {
    top: 50%;
    left: 50%;
    transform: rotate(0deg) translateX(-50%) translateY(-50%);
    width: calc(100% - 12px - 12px / 2);
  }
  100% {
    transform: rotate(-45deg) translateX(0) translateY(0);
    top: 50%;
    left: 20%;
  }
}
@-webkit-keyframes bottomBar {
  0% {
    left: 50%;
  }
  50% {
    top: 50%;
    left: 50%;
    transform: rotate(0deg) translateX(-50%) translateY(-50%);
    width: calc(100% - 12px - 12px / 2);
  }
  100% {
    transform: rotate(45deg) translateX(0) translateY(0);
    top: 50%;
    left: 20%;
  }
}
@keyframes bottomBar {
  0% {
    left: 50%;
  }
  50% {
    top: 50%;
    left: 50%;
    transform: rotate(0deg) translateX(-50%) translateY(-50%);
    width: calc(100% - 12px - 12px / 2);
  }
  100% {
    transform: rotate(45deg) translateX(0) translateY(0);
    top: 50%;
    left: 20%;
  }
}
.site__footer--logo {
  text-align: center;
  width: 240px;
  margin: 0 auto 80px;
}
.site__footer--body {
  background: #ddd;
  padding: 80px 5% 24px;
  position: relative;
}
.site__footer--body .sitemap {
  display: flex;
  flex-wrap: wrap;
}
.site__footer--body .sitemap--item {
  width: calc(16.6666% - 0px);
  margin: 0 0 40px;
  padding: 0 16px;
}
.site__footer--body .sitemap--pagelink {
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #666;
}
.site__footer--body .sitemap--pagelink a {
  color: #222;
}
.site__footer--body .sitemap--child li a {
  font-size: 0.75em;
  color: #222;
}
.site__footer--body .sitemap .recruit--btn a {
  background: #fff;
  border: 1px solid #666;
  text-align: center;
  padding: 8px 0;
  display: block;
  color: #222;
}
.site__footer--body .sitemap .recruit--btn a * {
  display: block;
}
.site__footer--body .sitemap .recruit--btn a span {
  font-size: 0.75em;
}
.site__footer--body .contact {
  display: flex;
  align-items: center;
}
.site__footer--body .contact .tel {
  width: 400px;
  margin-right: 40px;
}
.site__footer--body .contact .tel a {
  cursor: default;
  display: block;
}
.site__footer--body .contact .tel a:hover {
  opacity: 1;
}
.site__footer--body .contact .tel a img {
  width: 100%;
  height: auto;
}
.site__footer--body .contact .outline__txt {
  font-size: 0.875em;
}
.site__footer--body .contact .outline__txt h6 {
  font-weight: bold;
}
.site__footer--body .bnr--list {
  width: 40%;
  position: absolute;
  bottom: 70px;
  right: 12.5%;
  display: flex;
  justify-content: space-between;
}
.site__footer--body .bnr--list .official-site {
  margin-right: 30px;
}
.site__footer--body .text--link {
  margin: 24px 0 0;
  font-size: 0.875em;
  display: flex;
}
.site__footer--body .text--link a {
  display: block;
  color: #222;
}
.site__footer--body .text--link a::before {
  content: "|";
  margin: 0 16px;
}
.site__footer--body .text--link a:first-child::before {
  content: none;
  margin: 0;
}
.site__footer--body .copyr {
  font-size: 0.875em;
  margin: 16px 0 0;
  padding: 0 0 40px;
}

.cv {
  position: fixed;
  bottom: 40px;
  right: 40px;
  z-index: 10;
  width: 120px;
}
.cv a {
  display: block;
}
.cv a.-first {
  margin-bottom: 16px;
}

.gototop {
  background: #444;
  color: #fff;
  text-align: center;
  transition: all 0.4s;
  cursor: pointer;
  padding: 16px 0;
  font-size: 1.25em;
}
.gototop:hover {
  opacity: 0.4;
}

@media screen and (max-width: 767px) {
  .site__header .logo {
    max-width: inherit;
    width: 42%;
    position: absolute;
    top: 16px;
    left: 16px;
  }
  .site__header .logo img {
    width: 100%;
    height: auto;
  }
  .site__header .toggle--btn {
    top: 16px;
    right: 16px;
  }
  .site__header .sitenav {
    min-width: inherit;
    width: 100%;
    min-height: 100vh;
    padding-bottom: 20%;
  }
  .site__header .sitenav__body {
    width: 65%;
  }
  .site__header .sitenav__body ul li a {
    padding: 8px 0;
    font-size: 1em;
    background: url(../../images/common/arrow.png) no-repeat 95% 50%;
    background-size: 12px auto;
  }
  .open .mask {
    opacity: 0;
  }
  .site__footer--logo {
    text-align: center;
    width: 40%;
    margin: 0 auto 80px;
  }
  .site__footer--body {
    background: #ddd;
    padding: 7.5% 5% 2.5%;
    position: relative;
  }
  .site__footer--body .sitemap {
    display: flex;
    flex-wrap: wrap;
  }
  .site__footer--body .sitemap--item {
    width: 47.5%;
    margin: 0 0 5%;
    padding: 0;
  }
  .site__footer--body .sitemap--item:nth-child(2n) {
    margin: 0 0 5% 5%;
  }
  .site__footer--body .sitemap--item.type--btn {
    width: 100%;
    margin: 7.5% 0 5%;
  }
  .site__footer--body .sitemap--pagelink {
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #666;
  }
  .site__footer--body .sitemap--pagelink a {
    color: #222;
    font-size: 0.875em;
  }
  .site__footer--body .sitemap--child li a {
    font-size: 0.75em;
    color: #222;
  }
  .site__footer--body .contact {
    display: block;
    align-items: center;
  }
  .site__footer--body .contact .tel {
    width: 65%;
    margin: 5% auto;
  }
  .site__footer--body .contact .outline__txt {
    font-size: 0.875em;
    text-align: center;
  }
  .site__footer--body .contact .outline__txt h6 {
    font-weight: bold;
    margin-bottom: 16px;
  }
  .site__footer--body .bnr--list {
    position: static;
    margin: 5% auto;
    width: 75%;
  }
  .site__footer--body .text--link {
    margin: 24px 0 0;
    font-size: 0.75em;
    display: flex;
    justify-content: center;
  }
  .site__footer--body .text--link a {
    display: block;
    color: #222;
  }
  .site__footer--body .text--link a::before {
    content: "|";
    margin: 0 16px;
  }
  .site__footer--body .text--link a:first-child::before {
    content: none;
    margin: 0;
  }
  .site__footer--body .copyr {
    text-align: center;
    font-size: 0.75em;
    margin: 16px 0 0;
    padding: 0 0 24px;
  }
  .cv {
    position: fixed;
    bottom: 16px;
    right: 16px;
    z-index: 10;
    width: 96px;
  }
  .cv a {
    display: block;
  }
  .cv a.-first {
    margin-bottom: 8px;
  }
}
.ft14 {
  font-size: 0.875em;
}

.ft16 {
  font-size: 1em;
}

.ft18 {
  font-size: 1.125em;
}

.ft20 {
  font-size: 1.25em;
}

.ft24 {
  font-size: 1.5em;
}

.ft28 {
  font-size: 1.75em;
}

.indent {
  padding-left: 1em;
}

.pc_center {
  text-align: center;
}

.lh2 {
  line-height: 2;
}

.indent1em {
  text-indent: -1em;
  padding-left: 1em;
}

sup {
  font-size: 0.5em;
  vertical-align: top;
  position: relative;
  top: -0.05em;
}

.pt0 {
  padding-top: 0;
}

.mw40 {
  max-width: 40%;
}

.mr-auto {
  margin-right: auto;
}

.ml-auto {
  margin-left: auto;
}

.pt8 {
  padding-top: 8px;
}

.pt16 {
  padding-top: 16px;
}

.pt24 {
  padding-top: 24px;
}

.pt32 {
  padding-top: 32px;
}

.pt40 {
  padding-top: 40px;
}

.pt48 {
  padding-top: 48px;
}

.pt56 {
  padding-top: 56px;
}

.pt64 {
  padding-top: 64px;
}

.pt72 {
  padding-top: 72px;
}

.pt80 {
  padding-top: 80px;
}

.pt88 {
  padding-top: 88px;
}

.pt96 {
  padding-top: 96px;
}

.pt104 {
  padding-top: 104px;
}

.pt112 {
  padding-top: 112px;
}

.pt120 {
  padding-top: 120px;
}

.pt128 {
  padding-top: 128px;
}

.pt136 {
  padding-top: 136px;
}

.pt144 {
  padding-top: 144px;
}

.pt152 {
  padding-top: 152px;
}

.pt160 {
  padding-top: 160px;
}

.pt168 {
  padding-top: 168px;
}

.pt176 {
  padding-top: 176px;
}

.pt184 {
  padding-top: 184px;
}

.pt192 {
  padding-top: 192px;
}

.pt200 {
  padding-top: 200px;
}

.pt208 {
  padding-top: 208px;
}

.pt216 {
  padding-top: 216px;
}

.pt224 {
  padding-top: 224px;
}

.pt232 {
  padding-top: 232px;
}

.pt240 {
  padding-top: 240px;
}

.pt248 {
  padding-top: 248px;
}

.pt256 {
  padding-top: 256px;
}

.pt264 {
  padding-top: 264px;
}

.pt272 {
  padding-top: 272px;
}

.pt280 {
  padding-top: 280px;
}

.pt288 {
  padding-top: 288px;
}

.pt296 {
  padding-top: 296px;
}

.pt304 {
  padding-top: 304px;
}

.pt312 {
  padding-top: 312px;
}

.pt320 {
  padding-top: 320px;
}

.mt8 {
  margin-top: 8px;
}

.mt16 {
  margin-top: 16px;
}

.mt24 {
  margin-top: 24px;
}

.mt32 {
  margin-top: 32px;
}

.mt40 {
  margin-top: 40px;
}

.mt48 {
  margin-top: 48px;
}

.mt56 {
  margin-top: 56px;
}

.mt64 {
  margin-top: 64px;
}

.mt72 {
  margin-top: 72px;
}

.mt80 {
  margin-top: 80px;
}

.mt88 {
  margin-top: 88px;
}

.mt96 {
  margin-top: 96px;
}

.mt104 {
  margin-top: 104px;
}

.mt112 {
  margin-top: 112px;
}

.mt120 {
  margin-top: 120px;
}

.mt128 {
  margin-top: 128px;
}

.mt136 {
  margin-top: 136px;
}

.mt144 {
  margin-top: 144px;
}

.mt152 {
  margin-top: 152px;
}

.mt160 {
  margin-top: 160px;
}

.mt168 {
  margin-top: 168px;
}

.mt176 {
  margin-top: 176px;
}

.mt184 {
  margin-top: 184px;
}

.mt192 {
  margin-top: 192px;
}

.mt200 {
  margin-top: 200px;
}

.mt208 {
  margin-top: 208px;
}

.mt216 {
  margin-top: 216px;
}

.mt224 {
  margin-top: 224px;
}

.mt232 {
  margin-top: 232px;
}

.mt240 {
  margin-top: 240px;
}

.mt248 {
  margin-top: 248px;
}

.mt256 {
  margin-top: 256px;
}

.mt264 {
  margin-top: 264px;
}

.mt272 {
  margin-top: 272px;
}

.mt280 {
  margin-top: 280px;
}

.mt288 {
  margin-top: 288px;
}

.mt296 {
  margin-top: 296px;
}

.mt304 {
  margin-top: 304px;
}

.mt312 {
  margin-top: 312px;
}

.mt320 {
  margin-top: 320px;
}

@media screen and (max-width: 767px) {
  .pt8 {
    padding-top: 1.125%;
  }
  .pt16 {
    padding-top: 2.25%;
  }
  .pt24 {
    padding-top: 3.375%;
  }
  .pt32 {
    padding-top: 4.5%;
  }
  .pt40 {
    padding-top: 5.625%;
  }
  .pt48 {
    padding-top: 6.75%;
  }
  .pt56 {
    padding-top: 7.875%;
  }
  .pt64 {
    padding-top: 9%;
  }
  .pt72 {
    padding-top: 10.125%;
  }
  .pt80 {
    padding-top: 11.25%;
  }
  .pt88 {
    padding-top: 12.375%;
  }
  .pt96 {
    padding-top: 13.5%;
  }
  .pt104 {
    padding-top: 14.625%;
  }
  .pt112 {
    padding-top: 15.75%;
  }
  .pt120 {
    padding-top: 16.875%;
  }
  .pt128 {
    padding-top: 18%;
  }
  .pt136 {
    padding-top: 19.125%;
  }
  .pt144 {
    padding-top: 20.25%;
  }
  .pt152 {
    padding-top: 21.375%;
  }
  .pt160 {
    padding-top: 22.5%;
  }
  .pt168 {
    padding-top: 23.625%;
  }
  .pt176 {
    padding-top: 24.75%;
  }
  .pt184 {
    padding-top: 25.875%;
  }
  .pt192 {
    padding-top: 27%;
  }
  .pt200 {
    padding-top: 28.125%;
  }
  .pt208 {
    padding-top: 29.25%;
  }
  .pt216 {
    padding-top: 30.375%;
  }
  .pt224 {
    padding-top: 31.5%;
  }
  .pt232 {
    padding-top: 32.625%;
  }
  .pt240 {
    padding-top: 33.75%;
  }
  .pt248 {
    padding-top: 34.875%;
  }
  .pt256 {
    padding-top: 36%;
  }
  .pt264 {
    padding-top: 37.125%;
  }
  .pt272 {
    padding-top: 38.25%;
  }
  .pt280 {
    padding-top: 39.375%;
  }
  .pt288 {
    padding-top: 40.5%;
  }
  .pt296 {
    padding-top: 41.625%;
  }
  .pt304 {
    padding-top: 42.75%;
  }
  .pt312 {
    padding-top: 43.875%;
  }
  .pt320 {
    padding-top: 45%;
  }
  .mt8 {
    margin-top: 1.125%;
  }
  .mt16 {
    margin-top: 2.25%;
  }
  .mt24 {
    margin-top: 3.375%;
  }
  .mt32 {
    margin-top: 4.5%;
  }
  .mt40 {
    margin-top: 5.625%;
  }
  .mt48 {
    margin-top: 6.75%;
  }
  .mt56 {
    margin-top: 7.875%;
  }
  .mt64 {
    margin-top: 9%;
  }
  .mt72 {
    margin-top: 10.125%;
  }
  .mt80 {
    margin-top: 11.25%;
  }
  .mt88 {
    margin-top: 12.375%;
  }
  .mt96 {
    margin-top: 13.5%;
  }
  .mt104 {
    margin-top: 14.625%;
  }
  .mt112 {
    margin-top: 15.75%;
  }
  .mt120 {
    margin-top: 16.875%;
  }
  .mt128 {
    margin-top: 18%;
  }
  .mt136 {
    margin-top: 19.125%;
  }
  .mt144 {
    margin-top: 20.25%;
  }
  .mt152 {
    margin-top: 21.375%;
  }
  .mt160 {
    margin-top: 22.5%;
  }
  .mt168 {
    margin-top: 23.625%;
  }
  .mt176 {
    margin-top: 24.75%;
  }
  .mt184 {
    margin-top: 25.875%;
  }
  .mt192 {
    margin-top: 27%;
  }
  .mt200 {
    margin-top: 28.125%;
  }
  .mt208 {
    margin-top: 29.25%;
  }
  .mt216 {
    margin-top: 30.375%;
  }
  .mt224 {
    margin-top: 31.5%;
  }
  .mt232 {
    margin-top: 32.625%;
  }
  .mt240 {
    margin-top: 33.75%;
  }
  .mt248 {
    margin-top: 34.875%;
  }
  .mt256 {
    margin-top: 36%;
  }
  .mt264 {
    margin-top: 37.125%;
  }
  .mt272 {
    margin-top: 38.25%;
  }
  .mt280 {
    margin-top: 39.375%;
  }
  .mt288 {
    margin-top: 40.5%;
  }
  .mt296 {
    margin-top: 41.625%;
  }
  .mt304 {
    margin-top: 42.75%;
  }
  .mt312 {
    margin-top: 43.875%;
  }
  .mt320 {
    margin-top: 45%;
  }
  .pc_center {
    text-align: left;
    margin-left: 5%;
    margin-right: 5%;
  }
}
.loading_animation {
  padding: 48px 0;
}
.loading_animation .loading,
.loading_animation .loading:before,
.loading_animation .loading:after {
  border-radius: 50%;
  width: 12px;
  height: 12px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation: loading 1.2s infinite ease-in-out;
          animation: loading 1.2s infinite ease-in-out;
}
.loading_animation .loading {
  display: block;
  color: #999;
  font-size: 10px;
  margin: 80px auto;
  position: relative;
  text-indent: -9999em;
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
          animation-delay: -0.16s;
}
.loading_animation .loading:before,
.loading_animation .loading:after {
  content: "";
  position: absolute;
  top: 0;
}
.loading_animation .loading:before {
  left: -24px;
  -webkit-animation-delay: -0.32s;
          animation-delay: -0.32s;
}
.loading_animation .loading:after {
  left: 24px;
}

@-webkit-keyframes loading {
  0%, 80%, 100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}

@keyframes loading {
  0%, 80%, 100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}
.white_animation {
  position: relative;
}
.white_animation::after {
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  right: 0;
}
.white_animation.active::after {
  -webkit-animation-name: rightSlide;
          animation-name: rightSlide;
  -webkit-animation-duration: 1.2s;
          animation-duration: 1.2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes rightSlide {
  0% {
    width: 100%;
  }
  100% {
    width: 0;
  }
}

@keyframes rightSlide {
  0% {
    width: 100%;
  }
  100% {
    width: 0;
  }
}
.effect_fade {
  opacity: 0;
}
.effect_fade.active {
  -webkit-animation-name: animation1;
          animation-name: animation1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
}

@-webkit-keyframes animation1 {
  0% {
    opacity: 0;
    transform: translate(0, 40px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}

@keyframes animation1 {
  0% {
    opacity: 0;
    transform: translate(0, 40px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
.effect_opacity {
  opacity: 0;
}
.effect_opacity.active {
  -webkit-animation-name: animationFade;
          animation-name: animationFade;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
}

@-webkit-keyframes animationFade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes animationFade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.delay_20 {
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
}

.delay_19 {
  -webkit-animation-delay: 3.8s;
          animation-delay: 3.8s;
}

.delay_18 {
  -webkit-animation-delay: 3.6s;
          animation-delay: 3.6s;
}

.delay_17 {
  -webkit-animation-delay: 3.4s;
          animation-delay: 3.4s;
}

.delay_16 {
  -webkit-animation-delay: 3.2s;
          animation-delay: 3.2s;
}

.delay_15 {
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
}

.delay_14 {
  -webkit-animation-delay: 2.8s;
          animation-delay: 2.8s;
}

.delay_13 {
  -webkit-animation-delay: 2.6s;
          animation-delay: 2.6s;
}

.delay_12 {
  -webkit-animation-delay: 2.4s;
          animation-delay: 2.4s;
}

.delay_11 {
  -webkit-animation-delay: 2.2s;
          animation-delay: 2.2s;
}

.delay_10 {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}

.delay_9 {
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}

.delay_8 {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}

.delay_7 {
  -webkit-animation-delay: 1.4s;
          animation-delay: 1.4s;
}

.delay_6 {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}

.delay_5 {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

.delay_4 {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

.delay_3 {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}

.delay_2 {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

.delay_1 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.section_copy {
  padding: 80px 0;
  text-align: center;
}
.section_copy.main {
  padding: 80px 0 0 0;
}

.nav_lst {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.nav_lst li.w2 {
  flex-basis: 47.5%;
  margin: 0 0 48px 0;
}
.nav_lst li.w3 {
  flex-basis: 30%;
  margin: 0 0 24px 0;
}
.nav_lst li a {
  color: #222;
  display: block;
}
.nav_lst li.download-nav a {
  background: #D9C582;
  color: #fff;
  position: relative;
  height: 0;
  font-size: 1.25em;
  font-weight: bold;
  padding: 0 0 63.51% 0;
  text-align: center;
}
.nav_lst li.download-nav a span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.nav_lst li.download-nav a i {
  font-style: normal;
  display: inline-block;
}
.nav_lst__img {
  position: relative;
  margin: 0 0 4px 0;
}
.nav_lst__img.mov_icon::after {
  content: "";
  width: 130px;
  height: 130px;
  background: url(../../images/common/mov.png) no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.nav_lst__img img {
  width: 100%;
}
.nav_lst__txt::before {
  content: "◆";
  padding-right: 4px;
  color: #D9C582;
  opacity: 0.5;
}

.txt__nav {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.txt__nav li {
  flex-basis: 47.5%;
  border-bottom: 1px solid #ccc;
  display: flex;
  flex-direction: column;
}
.txt__nav li a {
  color: #222;
  display: block;
  padding: 16px 32px 16px 1.25em;
  text-indent: -1.25em;
  position: relative;
}
.txt__nav li a::before {
  content: "◆";
  padding-right: 4px;
  color: #D9C582;
  opacity: 0.5;
}
.txt__nav li a::after {
  content: "";
  width: 4px;
  height: 4px;
  border-right: 1px solid #707070;
  border-top: 1px solid #707070;
  position: absolute;
  right: 16px;
  top: 50%;
  margin-top: -2px;
  transform: rotate(45deg);
}
.txt__nav.column_3 li {
  flex-basis: 30%;
}
.txt__nav.column_1 li {
  flex-basis: 100%;
}

.txt_bnr__layout {
  display: block;
  background: #D9C582;
  color: #fff;
  padding: 64px 0;
  text-align: center;
}
.txt_bnr__layout-ttl {
  font-size: 1.875em;
}
.txt_bnr__layout-sub {
  font-size: 1.5em;
  font-family: "Ropa Sans", sans-serif;
}
.txt_bnr__layout-more {
  margin: 24px 0 0 0;
  display: block;
  background: #fff url(../../images/common/arrow.png) no-repeat 95% 50%;
  background-size: 24px auto;
  padding: 4px 40px 4px 8px;
  border: 1px solid #000;
  white-space: nowrap;
  color: #000;
  font-size: 0.875em;
}

.statement {
  margin: 80px 0 120px 0;
}
.statement a {
  display: flex;
  align-items: center;
  background: #D9C582;
  color: #fff;
}
.statement__img {
  order: 2;
  width: 50%;
  line-height: 1;
  min-height: 230px;
}
.statement__img img {
  height: 100%;
  max-width: inherit;
  width: auto;
}
.statement__txt {
  order: 1;
  width: 50%;
  text-align: center;
}
.statement__txt-ja {
  margin: 0 0 0 0;
  font-size: 1.875em;
  letter-spacing: 0.05em;
}
.statement__txt-en {
  margin: 0 0 8px 0;
  font-size: 1.5em;
  letter-spacing: 0.1em;
  font-family: "Ropa Sans", sans-serif;
}
.statement__txt-more {
  display: block;
  background: #fff url(../../images/common/arrow.png) no-repeat 95% 50%;
  background-size: 24px auto;
  padding: 4px 40px 4px 8px;
  border: 1px solid #000;
  white-space: nowrap;
  color: #000;
  font-size: 0.875em;
}

.photo-lst {
  margin: 64px 0 48px;
}
.photo-lst ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.photo-lst ul li {
  width: 47.5%;
}
.photo-lst ul li a {
  color: #222;
}
.photo-lst ul li a h4 {
  font-size: 0.875em;
  margin-top: 4px;
}

@media screen and (max-width: 767px) {
  .section_copy {
    padding: 40px 0;
  }
  .section_copy img {
    width: 85%;
    margin: auto;
  }
  .nav_lst {
    display: block;
    margin: 0;
  }
  .nav_lst li {
    flex-basis: auto;
  }
  .nav_lst li.w2, .nav_lst li.w3 {
    flex-basis: auto;
    margin: 0 0 24px 0;
  }
  .nav_lst li a img {
    width: 100%;
  }
  .nav_lst li.download-nav {
    margin: 48px 0 0 0;
  }
  .nav_lst li.download-nav a {
    height: auto;
    font-size: 1em;
    padding: 16px 0;
    text-align: center;
  }
  .nav_lst li.download-nav a span {
    position: static;
  }
  .nav_lst__img {
    margin: 0 0 8px 0;
  }
  .txt__nav {
    display: block;
  }
  .txt__nav li {
    width: auto;
  }
  .txt__nav li a {
    font-size: 0.875em;
  }
  .txt__nav.column_3 li {
    flex-basis: 47.5%;
  }
  .statement {
    margin: 24px 0 48px 0;
  }
  .statement a {
    display: block;
  }
  .statement__img {
    order: 1;
    width: auto;
    line-height: 1;
    min-height: inherit;
  }
  .statement__img img {
    max-width: inherit;
    width: 100%;
    height: auto;
  }
  .statement__txt {
    order: 2;
    width: auto;
    text-align: center;
    padding: 40px 0;
  }
  .statement__txt-ja {
    font-size: 1.5em;
  }
  .statement__txt-en {
    font-size: 1.25em;
  }
  .statement__txt-more {
    margin-top: 16px;
  }
  .txt_btn {
    margin: 24px 0;
  }
  .txt_btn a {
    max-width: 480px;
    display: block;
    border: 1px solid #222;
    margin: auto;
    color: #222;
    position: relative;
    padding: 16px 0;
    text-align: center;
    font-size: 0.875em;
    max-width: 480px;
    border-radius: 16px;
  }
  .txt_btn a::after {
    content: "";
    width: 4px;
    height: 4px;
    border-right: 1px solid #222;
    border-top: 1px solid #222;
    position: absolute;
    right: 16px;
    top: 50%;
    margin-top: -2px;
    transform: rotate(45deg);
  }
  .txt_btn-ttl {
    font-size: 1.25em;
    letter-spacing: 0.05em;
  }
  .txt_btn-sub {
    display: block;
  }
  .photo-lst {
    margin: 24px 0;
  }
}
@media print {
  body {
    zoom: 1;
    width: 1400px;
    transform: scale(0.5);
    transform-origin: 0 0;
  }
  .header,
.footer {
    display: none;
  }
  .container {
    margin: 0;
  }
}
.wrapper {
  overflow: hidden;
}

.inner {
  margin: auto;
  max-width: 860px;
}

.__inner {
  margin: auto;
  max-width: 1024px;
  width: 100%;
}

.close {
  opacity: 0.2;
  cursor: default;
}
.close:hover {
  opacity: 0.2;
}

.pc-only {
  display: block;
}

.sp-only {
  display: none;
}

.headline {
  background: #D8CFAE;
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  max-width: 1200px;
  margin: auto;
}
.headline--thumbs {
  flex-basis: 50%;
  line-height: 1;
  vertical-align: bottom;
}
.headline--txt {
  flex-basis: 50%;
  text-align: center;
}
.headline--txt .en {
  display: block;
  font-size: 1.75em;
}
.headline--txt .ja {
  font-size: 1.25em;
  letter-spacing: 2px;
}

.more {
  vertical-align: top;
  display: inline-block;
}
.more a {
  display: block;
  background: #fff url(../../images/common/arrow.png) no-repeat 95% 50%;
  background-size: 24px auto;
  padding: 4px 40px 4px 8px;
  border: 1px solid #000;
  white-space: nowrap;
  color: #000;
  font-size: 0.875em;
}

.section--ttl {
  font-size: 2.25em;
  line-height: 1.75;
  margin: 0 0 40px;
  text-align: center;
}
.section--ttl.sl {
  font-size: 1.75em;
}
.section--txt {
  line-height: 2.25;
}
.section--txt.ph-txt {
  text-align: center;
  line-height: 2.75;
}
.section--txt .cl_gra {
  display: inline-block;
  background: rgb(132, 196, 157);
  background: linear-gradient(128deg, rgb(132, 196, 157) 0%, rgb(87, 114, 152) 100%);
  line-height: 1;
  color: #fff;
  padding: 2px 8px 4px 8px;
  font-size: 1.5em;
}
.section--line {
  border: none;
  width: 1px;
  height: 200px;
  margin: 80px auto;
  position: relative;
}
.section--line::after {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  background: #666;
}
.section--line.active::after {
  -webkit-animation: lineAnimation 1.2s forwards;
          animation: lineAnimation 1.2s forwards;
}

.section__nav.first_ {
  padding: 0;
}
.section__nav a {
  display: block;
}

.textbnr {
  display: flex;
  align-items: center;
  background: rgb(132, 196, 157);
  background: linear-gradient(180deg, rgb(132, 196, 157) 0%, rgb(87, 114, 152) 100%);
  position: relative;
}
.textbnr .textbnr--img {
  width: 50%;
  line-height: 1;
  vertical-align: bottom;
}
.textbnr .textbnr--txt {
  width: 50%;
  text-align: center;
  color: #fff;
  position: relative;
  font-size: 1.5em;
  line-height: 1.75;
}
.textbnr .textbnr--txt .en {
  font-size: 1.5em;
}
.textbnr .textbnr--txt .ttl {
  font-size: 0.75em;
}
.textbnr:after {
  content: "";
  position: absolute;
  bottom: 24px;
  right: 24px;
  width: 82px;
  height: 30px;
  background: url(../../images/common/arrow_wh.png) no-repeat 50% 50%;
  background-size: 100% auto;
}
.textbnr.rev:after {
  right: calc(50% + 24px);
}
.textbnr.sl:after {
  width: 41px;
  height: 14px;
}
.textbnr .order_1 {
  order: 1;
}
.textbnr .order_2 {
  order: 2;
}

.flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.flex_2_column {
  display: flex;
  flex-wrap: wrap;
  margin-right: -2.5%;
  margin-left: -2.5%;
}
.flex_2_column .item {
  width: 45%;
  margin: 0 2.5% 5%;
}

.pc_flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.pc_flex_3_column {
  display: flex;
  flex-wrap: wrap;
  margin-right: -2.5%;
  margin-left: -2.5%;
}
.pc_flex_3_column .item {
  width: 28.3333333333%;
  margin: 0 2.5% 5%;
  text-align: center;
  transition: all 0.4s;
}

.card__layout--ttl {
  font-size: 1.25em;
  margin-top: 16px;
  padding-left: 16px;
  border-left: 1px solid #666;
}
.card__layout--txt {
  margin-top: 16px;
}

.flex__ttl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  background: #EAE7D8;
}
.flex__ttl.rev {
  flex-direction: row-reverse;
}
.flex__ttl--headline, .flex__ttl--photos {
  width: 50%;
}
.flex__ttl--photos img {
  vertical-align: middle;
}
.flex__ttl--headline {
  text-align: center;
  font-size: 1.375em;
  position: relative;
}
.flex__ttl--headline::before, .flex__ttl--headline::after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #909090;
  position: absolute;
  margin-left: -4px;
  left: 50%;
}
.flex__ttl--headline::before {
  top: -32px;
}
.flex__ttl--headline::after {
  bottom: -32px;
}

@media screen and (max-width: 767px) {
  .inner {
    margin: auto;
    max-width: inherit;
    padding: 0 5%;
  }
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
  .headline {
    display: block;
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
  }
  .headline--thumbs {
    flex-basis: auto;
    line-height: 1;
    vertical-align: bottom;
  }
  .headline--txt {
    flex-basis: auto;
    text-align: center;
    padding: 16px 0;
  }
  .headline--txt .en {
    display: block;
    font-size: 1.25em;
  }
  .headline--txt .ja {
    font-size: 1em;
    letter-spacing: 2px;
  }
  .more {
    display: inline-block;
  }
  .more a {
    display: block;
    background: #fff url(../../images/common/arrow.png) no-repeat 95% 50%;
    background-size: 12px auto;
    padding: 4px 24px 4px 8px;
    border: 1px solid #000;
    white-space: nowrap;
    color: #000;
    font-size: 0.75em;
  }
  .section--ttl {
    font-size: 1.375em;
    margin: 0 0 32px;
  }
  .section--ttl br {
    display: none;
  }
  .section--ttl.sl {
    font-size: 1.5em;
    text-align: left;
  }
  .section--ttl.sl br {
    display: none;
  }
  .section--txt {
    line-height: 2.25;
  }
  .section--txt.ph-txt {
    text-align: left;
    line-height: 2.25;
  }
  .section--txt.ph-txt .cl_gra {
    line-height: 1.5;
    padding: 4px 8px;
    margin: 16px 0;
  }
  .section--txt br {
    display: none;
  }
  .section--line {
    height: 80px;
    margin: 7.5% auto;
  }
  .section__nav.first_ {
    padding: 0;
  }
  .section__nav a {
    display: block;
  }
  .textbnr {
    display: block;
    background: none;
  }
  .textbnr .textbnr--img {
    width: auto;
  }
  .textbnr .textbnr--img img {
    width: 100%;
  }
  .textbnr .textbnr--txt {
    background: rgb(132, 196, 157);
    background: linear-gradient(180deg, rgb(132, 196, 157) 0%, rgb(87, 114, 152) 100%);
    width: auto;
    text-align: center;
    color: #fff;
    position: relative;
    font-size: 1em;
    line-height: 1.75;
    padding: 24px 0;
  }
  .textbnr .textbnr--txt .en {
    font-size: 1.5em;
  }
  .textbnr .textbnr--txt .ttl {
    font-size: 0.75em;
  }
  .textbnr:after {
    content: "";
    position: absolute;
    bottom: 16px;
    right: 16px;
    width: 41px;
    height: 14px;
    background: url(../../images/common/arrow_wh.png) no-repeat 50% 50%;
    background-size: 100% auto;
  }
  .textbnr.rev:after {
    right: 16px;
  }
  .textbnr.sl:after {
    width: 41px;
    height: 14px;
  }
  .textbnr .order_1 {
    order: 1;
  }
  .textbnr .order_2 {
    order: 2;
  }
  .pc_flex {
    display: block;
  }
  .pc_flex_3_column .item {
    width: 45%;
  }
  .card__layout--ttl {
    font-size: 1em;
    padding-left: 8px;
  }
  .card__layout--txt {
    font-size: 0.875em;
  }
  .flex__ttl {
    display: block;
  }
  .flex__ttl--headline, .flex__ttl--photos {
    width: auto;
  }
  .flex__ttl--photos img {
    width: 100%;
  }
  .flex__ttl--headline {
    font-size: 1.25em;
    padding: 16px 0;
  }
  .flex__ttl--headline::before, .flex__ttl--headline::after {
    content: none;
  }
}
@-webkit-keyframes lineAnimation {
  0% {
    height: 0;
  }
  100% {
    height: 100%;
  }
}
@keyframes lineAnimation {
  0% {
    height: 0;
  }
  100% {
    height: 100%;
  }
}
.modal_container {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 9997;
  background: rgba(0, 0, 0, 0.75);
}
.modal_container figure {
  max-width: 1000px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.modal_container .close_btn {
  cursor: pointer;
  width: 80px;
  height: 80px;
  position: fixed;
  top: 40px;
  right: 40px;
  z-index: 9999;
}
.modal_container .close_btn .close_ {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.modal_container .close_btn .close_::before, .modal_container .close_btn .close_::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #fff;
  transform: rotate(45deg);
  transform-origin: 0% 50%;
  position: absolute;
  top: calc(14% - 5px);
  left: 14%;
}
.modal_container .close_btn .close_::after {
  transform: rotate(-45deg);
  transform-origin: 100% 50%;
  left: auto;
  right: 14%;
}

@media screen and (max-width: 767px) {
  .modal_container figure {
    max-width: inherit;
    width: 90%;
  }
  .modal_container .close_btn {
    width: 80px;
    height: 80px;
  }
}/*# sourceMappingURL=style.css.map */