@charset "UTF-8";
@import url(https://use.typekit.net/ops0pxp.css);
* {
  min-width: 0;
  min-height: 0
}


/*!
 * Bootstrap Reboot v4.1.2 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */

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

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  font-family: sans-serif;
  line-height: 1.15
}

@-ms-viewport {
  width: device-width
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block
}

body {
  margin: 0;
  background-color: #fff;
  color: #212529;
  font-size: 1rem;
  text-align: left
}

[tabindex="-1"]:focus {
  outline: 0!important
}

hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
  overflow: visible
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: .5rem
}

p {
  margin-top: 0;
  margin-bottom: 1rem
}

abbr[data-original-title], abbr[title] {
  -webkit-text-decoration: underline dotted;
  border-bottom: 0;
  text-decoration: underline;
  text-decoration: underline dotted;
  cursor: help
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit
}

dl, ol, ul {
  margin-top: 0;
  margin-bottom: 1rem
}

ol ol, ol ul, ul ol, ul ul {
  margin-bottom: 0
}

dt {
  font-weight: 700
}

dd {
  margin-bottom: .5rem;
  margin-left: 0
}

blockquote {
  margin: 0 0 1rem
}

dfn {
  font-style: italic
}

b, strong {
  font-weight: bolder
}

small {
  font-size: 80%
}

sub, sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline
}

sub {
  bottom: -.25em
}

sup {
  top: -.5em
}

a {
  -webkit-text-decoration-skip: objects;
  background-color: transparent;
  color: #007bff;
  text-decoration: none
}

a:hover {
  color: #0056b3;
  text-decoration: underline
}

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none
}

a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
  color: inherit;
  text-decoration: none
}

a:not([href]):not([tabindex]):focus {
  outline: 0
}

code, kbd, pre, samp {
  font-size: 1em
}

pre {
  -ms-overflow-style: scrollbar;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto
}

figure {
  margin: 0 0 1rem
}

img {
  border-style: none;
  vertical-align: middle
}

svg:not(:root) {
  overflow: hidden;
  vertical-align: middle
}

table {
  border-collapse: collapse
}

caption {
  padding-top: .75rem;
  padding-bottom: .75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom
}

th {
  text-align: inherit
}

label {
  display: inline-block;
  margin-bottom: .5rem
}

button {
  border-radius: 0
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color
}

button, input, optgroup, select, textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit
}

button, input {
  overflow: visible
}

button, select {
  text-transform: none
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  padding: 0;
  border-style: none
}

input[type=checkbox], input[type=radio] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0
}

input[type=date], input[type=datetime-local], input[type=month], input[type=time] {
  -webkit-appearance: listbox
}

textarea {
  overflow: auto;
  resize: vertical
}

fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-bottom: .5rem;
  padding: 0;
  color: inherit;
  font-size: 1.5rem;
  line-height: inherit;
  white-space: normal
}

progress {
  vertical-align: baseline
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto
}

[type=search] {
  -webkit-appearance: none;
  outline-offset: -2px
}

[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

output {
  display: inline-block
}

summary {
  display: list-item;
  cursor: pointer
}

template {
  display: none
}

[hidden] {
  display: none!important
}

iframe, img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom
}

img[src$=".svg"] {
  width: 100%
}

.font-myriad-italic {
  font-family: myriad-pro, sans-serif;
  font-style: italic;
  font-weight: 400
}

.font-myriad-normal {
  font-family: myriad-pro, sans-serif;
  font-style: normal;
  font-weight: 400
}

@font-face {
  src: url(/assets/fonts/honokamin-subset.woff2) format("woff2"), url(/assets/fonts/honokamin-subset.woff) format("woff"), url(/assets/fonts/honokamin-subset.ttf) format("truetype");
  font-family: honokamin-subset;
  font-style: normal;
  font-weight: 400
}

html {
  -webkit-text-size-adjust: none;
  height: 100%;
  font: 16px/1.8 honokamin-subset, sans-serif;
  font-weight: 400
}

body {
  height: 100%;
  color: #000;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1
}

.state-hidden {
  display: none
}

a {
  color: #000;
  -webkit-transition: all .6s cubic-bezier(.215, .61, .355, 1);
  transition: all .6s cubic-bezier(.215, .61, .355, 1)
}

a:hover {
  color: #73c30b;
  text-decoration: none
}

a img {
  border: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  opacity: 1;
  -webkit-transition: all .6s cubic-bezier(.215, .61, .355, 1);
  transition: all .6s cubic-bezier(.215, .61, .355, 1)
}

a:hover img {
  opacity: .7
}

.u-pc {
  display: block!important
}

.u-sp {
  display: none!important
}

@media screen and (max-width:50em) {
  .u-pc {
    display: none!important
  }
  .u-sp {
    display: block!important
  }
}

article:after, aside:after, canvas:after, dd:after, div:after, dl:after, dt:after, footer:after, header:after, hgroup:after, menu:after, nav:after, section:after, td:after, ul:after {
  display: block;
  clear: both;
  content: ''
}

.u-align-left {
  text-align: left
}

.u-align-right {
  text-align: right
}

.u-align-center {
  text-align: center
}

.txt-color-white {
  color: #fff
}

.txt-color-black {
  color: #000
}

.txt-color-gray {
  color: #a3a3a3
}

.txt-color-light-gray1 {
  color: #ddd
}

.txt-color-light-gray2 {
  color: #f8f8f8
}

.txt-color-blue {
  color: #3686ff
}

.txt-color-light-blue {
  color: #e3eefe
}

.txt-color-green {
  color: #73c30b
}

.txt-color-light-green {
  color: #ecfbf7
}

.txt-color-red {
  color: #ff3636
}

.txt-color-yellow {
  color: #f9f112
}

.txt-color-cream {
  color: #e4d9bb
}

.bg-color-white {
  background-color: #fff
}

.bg-color-black {
  background-color: #000
}

.bg-color-gray {
  background-color: #a3a3a3
}

.bg-color-light-gray1 {
  background-color: #ddd
}

.bg-color-light-gray2 {
  background-color: #f8f8f8
}

.bg-color-blue {
  background-color: #3686ff
}

.bg-color-light-blue {
  background-color: #e3eefe
}

.bg-color-green {
  background-color: #73c30b
}

.bg-color-light-green {
  background-color: #ecfbf7
}

.bg-color-red {
  background-color: #ff3636
}

.bg-color-yellow {
  background-color: #f9f112
}

.bg-color-light-yellow {
  background-color: #fffee9
}

.bg-color-cream {
  background-color: #e4d9bb
}

.border-round--circle {
  border-radius: 50%
}

.border-round--25px {
  border-radius: 25px
}

.border-round--5px {
  border-radius: 5px
}

.u-btn {
  text-align: center
}

.u-btn a {
  padding: 6px 15px;
  border: 1px solid #73c30b;
  border-radius: 25px;
  background: #73c30b;
  color: #fff
}

.u-btn a:hover {
  border: 1px solid #000;
  background: #fff;
  color: #000
}

.u-btn a:hover .icon-blank {
  fill: #000
}

@media screen and (max-width:50em) {
  .u-btn a:hover {
    border: 1px solid #73c30b;
    background: #73c30b;
    color: #fff
  }
  .u-btn a:hover .icon-blank {
    fill: #fff
  }
}

.u-link {
  text-align: center
}

.u-link a {
  padding: 0 10px;
  border-bottom: 1px solid #73c30b;
  color: #73c30b
}

.u-link a .icon-blank {
  fill: #73c30b
}

@media screen and (max-width:50em) {
  .u-link a {
    padding-left: 2px
  }
}

.u-link a:hover {
  border-bottom: 1px solid #000;
  color: #000
}

.u-link a:hover .icon-blank {
  fill: #000
}

@media screen and (max-width:50em) {
  .u-link a:hover {
    border-bottom: 1px solid #73c30b;
    color: #73c30b
  }
  .u-link a:hover .icon-blank {
    fill: #73c30b
  }
}

.u-btn-pagetop {
  z-index: 2;
  position: fixed;
  right: 20px;
  bottom: 10px;
  width: 118px;
  opacity: 0;
  -webkit-transition: all .4s cubic-bezier(.68, -.55, .265, 1.55);
  transition: all .4s cubic-bezier(.68, -.55, .265, 1.55)
}

.u-btn-pagetop.state-fixed {
  opacity: 1
}

@media screen and (max-width:50em) {
  .u-btn-pagetop {
    display: none
  }
}

.icon-svg {
  stroke-width: 0;
  stroke: currentColor;
  fill: currentColor;
  display: inline-block;
  width: 1em;
  height: 1em
}

.svg-blank {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-left: 5px;
  vertical-align: middle
}

@media screen and (max-width:50em) {
  .svg-blank {
    width: 10px;
    height: 10px
  }
}

.icon-blank {
  fill: #fff;
  -webkit-transition: all .6s cubic-bezier(.215, .61, .355, 1);
  transition: all .6s cubic-bezier(.215, .61, .355, 1)
}

.bg-main-img {
  width: 100%;
  padding-top: 46px
}

.bg-sec-main {
  height: 260px
}

@media screen and (max-width:50em) {
  .bg-main-img {
    height: auto;
    padding-top: 0
  }
}

.c-page-ttl-head {
  max-width: 1040px;
  margin: 0 auto 80px;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000
}

.c-page-ttl {
  margin: 0;
  padding: 25px 0;
  font-size: 1.75rem;
  font-weight: 400;
  letter-spacing: .1em;
  text-align: center
}

@media screen and (max-width:50em) {
  .c-page-ttl-head {
    margin: 0 auto 12%;
    border-top: none
  }
  .c-page-ttl {
    padding: 4% 0;
    font-size: calc((100 / 640) * 34 * 1vw)
  }
}

.c-conts-ttl, .c-conts-ttl-line {
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: .1em
}

.c-conts-ttl-line {
  margin-bottom: .5em;
  padding-bottom: .5em;
  border-bottom: 1px solid #ddd
}

@media screen and (max-width:50em) {
  .c-conts-ttl, .c-conts-ttl-line {
    margin-bottom: 2rem;
    font-size: calc((100 / 640) * 30 * 1vw)
  }
}

.c-eng-txt {
  display: inline-block;
  margin-bottom: .5rem;
  padding: 0 2px;
  -webkit-transform: rotate(-8deg);
  transform: rotate(-8deg);
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  font-size: 1.5rem;
  letter-spacing: .05em;
  line-height: 1.3;
  text-align: center
}

@media screen and (max-width:50em) {
  .c-eng-txt {
    font-size: calc((100 / 640) * 18 * 1vw)
  }
}

.c-circle-lists {
  padding-left: 20px;
  list-style: none
}

.c-circle-lists li {
  position: relative
}

.c-circle-lists li::before {
  position: absolute;
  top: .6rem;
  left: -15px;
  width: 6px;
  height: 6px;
  border-radius: 100%;
  background: #73c30b;
  content: ''
}

.c-num-lists {
  padding-left: 20px
}

.c-indent-lists {
  padding-left: 0
}

.c-indent-lists li {
  padding-left: 1rem;
  list-style: none;
  text-indent: -1rem
}

.c-btn-tab {
  padding: 0;
  list-style: none
}

.c-table-base {
  width: 100%;
  margin-bottom: 1rem;
  border-collapse: collapse;
  table-layout: fixed
}

.c-table-base td, .c-table-base th {
  padding: 10px 8px;
  line-height: 1.4;
  text-align: center;
  vertical-align: middle
}

.c-table-base span {
  font-size: .75rem
}

.c-table-type-01 tr:not(:first-child) {
  border-top: 1px solid #ddd
}

.c-table-type-01 td:not(:first-child) {
  border-left: 1px solid #ddd
}

.c-table-type-01 th {
  width: 24%;
  text-align: left
}

.c-table-type-02 td, .c-table-type-02 th {
  border: 1px solid #ddd
}

.c-table-type-02 th {
  background: #ddd
}

@media screen and (max-width:50em) {
  .tbl-scroll {
    position: relative;
    width: 100%;
    overflow-x: auto
  }
  .tbl-scroll::before {
    font-size: .75rem;
    text-align: right;
    content: '横にスクロールできます→'
  }
  .tbl-scroll table {
    width: 550px
  }
}

.c-video-wrap {
  max-width: 709px;
  margin: 40px auto 0
}

.c-video-wrap .c-video-inner {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%
}

.c-video-wrap .c-video-embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.c-grid, .c-grid-mgn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0;
  list-style: none
}

.c-grid-mgn {
  margin-right: -5px;
  margin-left: -5px;
  overflow: hidden
}

.c-grid-items, .c-grid-items-mgn {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0
}

.c-grid-items-mgn {
  padding-right: 5px;
  padding-left: 5px
}

.c-grid-middle {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.c-grid-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.c-grid-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.c-grid-col1-pc {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  max-width: 100%
}

.c-grid-col2-pc {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  max-width: 50%
}

.c-grid-col3-pc {
  -ms-flex-preferred-size: 33.3333%;
  flex-basis: 33.3333%;
  max-width: 33.3333%
}

.c-grid-col3-2-pc {
  -ms-flex-preferred-size: 66.666%;
  flex-basis: 66.666%;
  max-width: 66.666%
}

.c-grid-col4-pc {
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
  max-width: 25%
}

.c-grid-col4-2-pc {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  max-width: 50%
}

.c-grid-col4-3-pc {
  -ms-flex-preferred-size: 75%;
  flex-basis: 75%;
  max-width: 75%
}

.c-grid-col5-pc {
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  max-width: 20%
}

.c-grid-col6-pc {
  -ms-flex-preferred-size: 16.666%;
  flex-basis: 16.666%;
  max-width: 16.666%
}

@media screen and (max-width:50em) {
  .c-grid-mgn {
    margin-right: -1.5%;
    margin-left: -1.5%
  }
  .c-grid-items-mgn {
    padding-right: 1.5%;
    padding-left: 1.5%
  }
  .c-grid-col1-sp {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%
  }
  .c-grid-col2-sp {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%
  }
  .c-grid-col3-sp {
    -ms-flex-preferred-size: 33.3333%;
    flex-basis: 33.3333%;
    max-width: 33.3333%
  }
  .c-grid-col3-2-sp {
    -ms-flex-preferred-size: 66.666%;
    flex-basis: 66.666%;
    max-width: 66.666%
  }
  .c-grid-col4-sp {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%
  }
  .c-grid-col4-2-sp {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%
  }
  .c-grid-col4-3-sp {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%
  }
  .c-grid-col5-sp {
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
    max-width: 20%
  }
  .c-grid-col6-sp {
    -ms-flex-preferred-size: 16.666%;
    flex-basis: 16.666%;
    max-width: 16.666%
  }
}

.breadcrumbs-lists {
  max-width: 880px;
  margin: 16px auto
}

.breadcrumbs-lists ul {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none
}

.breadcrumbs-lists li {
  display: inline-block;
  position: relative;
  padding: 4px 0 0;
  font-size: .875rem;
  font-weight: 400;
  vertical-align: middle
}

.breadcrumbs-lists li:not(:last-child)::after {
  display: inline-block;
  margin: 0 8px 0 14px;
  font-size: 1rem;
  vertical-align: 0;
  content: '/'
}

.c-page-nation {
  padding-top: 2%;
  border-top: 1px solid #000
}

.p-conts-wrap.c-page-nation {
  margin: 6% auto 12%
}

.c-pager-lists {
  padding-left: 0;
  list-style: none;
  text-align: center
}

.c-pager-lists li {
  display: inline-block;
  vertical-align: middle
}

.c-pager-lists li a {
  display: block;
  position: relative;
  margin: 0 .8rem;
  font-size: 1.5rem;
  font-weight: 500;
  -webkit-transition: all .3s;
  transition: all .3s
}

.c-pager-lists li a:hover {
  color: #000
}

.c-pager-lists li .c-pager-lists-ac::after, .c-pager-lists li a:hover::after {
  display: inline-block;
  position: absolute;
  bottom: 1%;
  left: 0;
  width: 100%;
  height: 1px;
  border-bottom: 1px solid #000;
  content: ""
}

.c-pager-lists li a.c-pager-lists-arr {
  font-size: 1.125rem
}

.c-pager-lists li a.c-pager-lists-arr span {
  font-size: 1.5rem;
  vertical-align: middle
}

.c-page-nation .c-btn a {
  font-size: 1.125rem
}

@media screen and (max-width:50em) {
  .c-pager-lists li a {
    font-size: 1rem
  }
  .c-pager-lists li a.c-pager-lists-arr {
    font-size: .875rem
  }
  .c-pager-lists li a.c-pager-lists-arr span {
    font-size: 1rem
  }
  .c-page-nation .c-btn a {
    margin: 0;
    font-size: .875rem
  }
}

.single-posts h1 {
  position: relative;
  margin-top: 50px;
  margin-bottom: 40px;
  padding-bottom: 12px;
  padding-left: 50px;
  border-bottom: 1px solid #ddd;
  font-size: 1.25rem;
  font-weight: 500
}

.single-posts h1::before {
  position: absolute;
  top: calc(50% - 8px);
  left: 0;
  width: 30px;
  height: 6px;
  background-color: #a3a3a3;
  content: ''
}

.single-posts h2 {
  position: relative;
  margin-top: 50px;
  margin-bottom: 40px;
  padding-bottom: 12px;
  padding-left: 50px;
  font-size: 1.25rem;
  font-weight: 500
}

.single-posts h2::before {
  position: absolute;
  top: calc(50% - 8px);
  left: 0;
  width: 30px;
  height: 3px;
  background-color: #a3a3a3;
  content: ''
}

.single-posts h3 {
  color: #3686ff;
  font-size: 1.125rem;
  font-weight: 500
}

.single-posts h4 {
  font-size: 1rem;
  font-weight: 500
}

.single-posts h5 {
  font-size: .83em;
  font-weight: 500
}

.single-posts h6 {
  font-size: .67em;
  font-weight: 500
}

.single-posts pre {
  display: block
}

.single-posts strong {
  font-weight: 700
}

.single-posts em {
  font-style: italic
}

.single-posts ul {
  list-style: outside disc
}

.single-posts ol {
  list-style: outside decimal
}

.single-posts li {
  margin-bottom: .6rem
}

.single-posts blockquote {
  display: block;
  margin: 1em 40px
}

.single-posts a {
  color: #3686ff;
  text-decoration: underline
}

.single-posts a:hover {
  color: #73c30b
}

.single-posts del {
  text-decoration: line-through
}

.single-posts hr {
  display: block;
  border: none;
  border-top: #9a9a9a 1px solid;
  border-bottom: #eee 1px solid
}

.single-posts .alignright {
  margin-bottom: 1em;
  margin-left: 1em;
  float: right
}

.single-posts .alignleft {
  margin-right: 1em;
  margin-bottom: 1em;
  float: left
}

.single-posts .aligncenter {
  display: block;
  margin-right: auto;
  margin-bottom: 1em;
  margin-left: auto
}

.single-posts table {
  width: 100%;
  table-layout: fixed
}

.single-posts table td, .single-posts table th {
  padding: 8px 5px;
  font-size: 1rem;
  font-weight: 350
}

.single-posts table th {
  width: 50%
}

.single-posts table tr:not(:first-child) {
  border-top: 1px solid #ddd
}

.single-posts dl {
  margin: 1.5rem 0
}

.mdal-wrap {
  display: none
}

.common-slide {
  position: relative
}

.common-slide .js-common-slide {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none
}

.common-slide .slide {
  margin: 0;
  vertical-align: bottom
}

.common-slide .slide img {
  border-radius: 5px
}

.common-slide .slide-wrap {
  position: relative
}

.common-slide .slick-next, .common-slide .slick-prev {
  display: block;
  position: absolute;
  top: 50%;
  width: 50px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  border: none;
  outline: 0;
  background: 0 0;
  color: transparent;
  font-size: 0;
  line-height: 0;
  cursor: pointer
}

.common-slide .slick-next:focus, .common-slide .slick-next:hover, .common-slide .slick-prev:focus, .common-slide .slick-prev:hover {
  outline: 0;
  background: 0 0;
  color: transparent
}

.common-slide .slick-next:focus:before, .common-slide .slick-next:hover:before, .common-slide .slick-prev:focus:before, .common-slide .slick-prev:hover:before {
  opacity: 1
}

.common-slide .slick-next.slick-disabled:before, .common-slide .slick-prev.slick-disabled:before {
  opacity: .25
}

.common-slide .slick-prev {
  z-index: 1;
  left: -6%
}

.common-slide .slick-prev:before {
  display: block;
  width: 50px;
  height: 76px;
  background: url(/assets/images/common/arrow-type02-01.svg) center no-repeat;
  background-size: contain;
  content: ''
}

.common-slide .slick-next {
  right: -6%
}

.common-slide .slick-next:before {
  display: block;
  width: 50px;
  height: 76px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  background: url(/assets/images/common/arrow-type02-01.svg) center no-repeat;
  background-size: contain;
  content: ''
}

@media screen and (max-width:50em) {
  .common-slide .slick-prev {
    left: -18%
  }
  .common-slide .slick-next {
    right: -19%
  }
  .common-slide .slick-next:before, .common-slide .slick-prev:before {
    width: 44px;
    height: 44px
  }
}

.slick-dots {
  display: block;
  position: absolute;
  bottom: -10px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center
}

.slick-dots li {
  display: inline-block;
  position: relative;
  width: 18px;
  height: 18px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer
}

.slick-dots li button {
  display: block;
  height: 0;
  border: 0;
  outline: 0;
  background: 0 0;
  color: transparent;
  font-size: 0;
  line-height: 0;
  cursor: pointer
}

.slick-dots li button:focus, .slick-dots li button:hover {
  outline: 0
}

.slick-dots li button:focus:before, .slick-dots li button:hover:before {
  opacity: 1
}

.slick-dots li button:before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  color: #c1a07b;
  font-size: 70px;
  line-height: 0;
  text-align: center;
  content: '•'
}

.slick-dots li.slick-active button:before {
  color: #e4d5c4
}

.p-logo-wrap {
  position: relative;
  width: 448px;
  height: 448px;
  border-radius: 50%;
  background: linear-gradient(38deg, rgba(13, 162, 192, .9) 1%, rgba(29, 119, 255, .9) 100%);
  font-weight: 400;
  line-height: 1
}

.p-logo-wrap a {
  display: block;
  width: 77%;
  color: #fff;
  font-size: 3.125rem
}

.p-logo-wrap span {
  display: block;
  margin-bottom: 2px;
  padding-left: 8px;
  color: #fff;
  font-size: 1.25rem
}

@media print, screen and (max-width:65em) {
  .p-logo-wrap {
    width: 360px;
    height: 360px
  }
  .p-logo-wrap a {
    font-size: 2.5rem
  }
  .p-logo-wrap span {
    font-size: 1rem
  }
}

@media screen and (max-width:50em) {
  .p-logo-wrap {
    width: 240px;
    height: 240px
  }
  .p-logo-wrap a {
    font-size: 1.25rem!important
  }
  .p-logo-wrap span {
    margin: 0 0 .3rem!important;
    padding-left: 0!important;
    font-size: .687rem!important
  }
}

.p-header-index-wrap {
  position: absolute;
  top: -165px;
  left: 4%
}

.p-header-index-wrap .p-logo-wrap a {
  position: absolute;
  top: 50%;
  left: 50%;
  padding-bottom: 1rem;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  border-bottom: 1px solid #fff
}

@media print, screen and (max-width:65em) {
  .p-header-index-wrap {
    position: absolute;
    top: -130px;
    left: 4%
  }
  .p-header-index-wrap .p-logo-wrap a {
    top: 49%;
    padding-bottom: .5rem
  }
}

@media screen and (max-width:50em) {
  .p-header-index-wrap {
    top: -180px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
  }
  .p-header-index-wrap .p-logo-wrap a {
    top: auto;
    bottom: 8%;
    left: 50%;
    padding-bottom: 0;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    border-bottom: none;
    text-align: center
  }
}

.p-header-second-wrap {
  z-index: 1;
  position: absolute;
  top: 0;
  width: 100%;
  height: 46px;
  background: #fff;
  -webkit-transition: all .6s cubic-bezier(.215, .61, .355, 1);
  transition: all .6s cubic-bezier(.215, .61, .355, 1)
}

.p-header-second-wrap.js-hdscroll {
  position: fixed;
  top: -120px
}

.p-header-second-wrap.state-scroll-fixed {
  top: 0!important
}

.p-header-second-wrap .p-header-second-inner {
  position: relative;
  max-width: 1200px;
  margin: 0 auto
}

.p-header-second-wrap .p-logo-wrap {
  z-index: 1;
  margin-top: -345px;
  margin-bottom: 0;
  background: linear-gradient(38deg, rgba(10, 173, 178, .9) 1%, rgba(29, 119, 255, .9) 100%)
}

.p-header-second-wrap .p-logo-wrap a {
  position: absolute;
  top: auto;
  bottom: 8px;
  left: 50%;
  width: 58%;
  padding-bottom: 0;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  border-bottom: none;
  font-size: 2.25rem
}

.p-header-second-wrap .p-logo-wrap span {
  margin-bottom: 2px;
  padding-left: 5px;
  font-size: 1.125rem
}

@media print, screen and (max-width:65em) {
  .p-header-second-wrap .p-logo-wrap {
    margin-top: -260px
  }
  .p-header-second-wrap .p-logo-wrap a {
    width: 62%;
    font-size: 2rem
  }
  .p-header-second-wrap .p-logo-wrap span {
    margin-bottom: 2px;
    padding-left: 5px;
    font-size: 1rem
  }
}

@media screen and (max-width:50em) {
  .p-header-second-wrap {
    z-index: 5;
    width: 100%
  }
  .p-header-second-wrap.js-hdscroll {
    top: -60px
  }
  .p-header-second-wrap .p-header-second-inner {
    height: 100%
  }
  .p-header-second-wrap .p-logo-wrap {
    margin-top: -180px
  }
  .p-header-second-wrap .p-logo-wrap a {
    bottom: 0;
    width: 100%;
    text-align: center
  }
}

.p-nav-primary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0;
  list-style: none
}

@media screen and (max-width:50em) {
  .p-nav-primary {
    height: 100%
  }
  .p-nav-primary li {
    width: 100%
  }
}

.p-header-index-wrap .p-nav-primary-wrap {
  position: absolute;
  top: 58%;
  left: 11%
}

.p-header-index-wrap .p-nav-primary {
  width: 87%
}

.p-header-index-wrap .p-nav-primary .p-nav-list01, .p-header-index-wrap .p-nav-primary .p-nav-list02, .p-header-index-wrap .p-nav-primary .p-nav-list03 {
  width: 33.333%;
  padding: 10px 0 0 4%;
  text-align: center
}

.p-header-index-wrap .p-nav-primary .p-nav-list04, .p-header-index-wrap .p-nav-primary .p-nav-list05, .p-header-index-wrap .p-nav-primary .p-nav-list06, .p-header-index-wrap .p-nav-primary .p-nav-list07 {
  width: 50%;
  padding-left: 8%
}

.p-header-index-wrap .p-nav-primary .p-nav-list04 {
  padding-left: 10%
}

.p-header-index-wrap .p-nav-primary .p-nav-list06 {
  width: 60%;
  padding-left: 10%
}

.p-header-index-wrap .p-nav-primary .p-nav-list07 {
  width: 40%;
  padding-left: 4%
}

.p-header-index-wrap .p-nav-primary .p-nav-list08 {
  width: 18%;
  margin: auto
}

.p-header-index-wrap .p-nav-primary a {
  display: block;
  padding: 4px 0 0;
  color: #fff;
  font-size: 1.062rem
}

.p-header-index-wrap .p-nav-primary .p-nav-list01 a, .p-header-index-wrap .p-nav-primary .p-nav-list02 a, .p-header-index-wrap .p-nav-primary .p-nav-list03 a {
  font-size: 1.625rem
}

.p-header-index-wrap .p-nav-primary a:hover {
  text-decoration: underline
}

.ie11 .p-header-index-wrap .p-nav-primary {
  width: 60%
}

@media print, screen and (max-width:65em) {
  .p-header-index-wrap .p-nav-primary-wrap {
    position: absolute;
    top: 56%;
    left: 10%
  }
  .p-header-index-wrap .p-nav-primary a {
    padding: 2px 0 0;
    font-size: 1rem
  }
  .p-header-index-wrap .p-nav-primary .p-nav-list01 a, .p-header-index-wrap .p-nav-primary .p-nav-list02 a, .p-header-index-wrap .p-nav-primary .p-nav-list03 a {
    font-size: 1.375rem
  }
  .p-header-index-wrap .p-nav-primary .p-nav-list01, .p-header-index-wrap .p-nav-primary .p-nav-list02, .p-header-index-wrap .p-nav-primary .p-nav-list03 {
    padding: 6px 0 0 6%;
    text-align: center
  }
  .p-header-index-wrap .p-nav-primary .p-nav-list04, .p-header-index-wrap .p-nav-primary .p-nav-list05, .p-header-index-wrap .p-nav-primary .p-nav-list06, .p-header-index-wrap .p-nav-primary .p-nav-list07 {
    width: 50%;
    padding-left: 8%
  }
  .p-header-index-wrap .p-nav-primary .p-nav-list06 {
    width: 55%
  }
  .p-header-index-wrap .p-nav-primary .p-nav-list07 {
    width: 45%;
    padding-left: 5%
  }
  .p-header-index-wrap .p-nav-primary .p-nav-list08 {
    width: 20%
  }
}

.p-header-second-wrap .p-nav-primary-wrap {
  position: absolute;
  bottom: 43px;
  width: 100%
}

.p-header-second-wrap .p-nav-primary {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-bottom: 1.3em
}

.p-header-second-wrap .p-nav-primary a {
  display: inline-block;
  padding: 0 10px;
  color: #3686ff;
  font-size: 1.375rem;
  text-align: center
}

.p-header-second-wrap .p-nav-primary .p-nav-list04 a, .p-header-second-wrap .p-nav-primary .p-nav-list05 a, .p-header-second-wrap .p-nav-primary .p-nav-list06 a, .p-header-second-wrap .p-nav-primary .p-nav-list07 a, .p-header-second-wrap .p-nav-primary .p-nav-list08 a {
  padding-top: 5px;
  font-size: 1rem
}

@media print, screen and (max-width:65em) {
  .p-header-second-wrap .p-nav-primary a {
    padding: 0 8px;
    font-size: 1.125rem
  }
  .p-header-second-wrap .p-nav-primary .p-nav-list04 a, .p-header-second-wrap .p-nav-primary .p-nav-list05 a, .p-header-second-wrap .p-nav-primary .p-nav-list06 a, .p-header-second-wrap .p-nav-primary .p-nav-list07 a, .p-header-second-wrap .p-nav-primary .p-nav-list08 a {
    font-size: .75rem
  }
}

@media screen and (max-width:50em) {
  .p-header-second-wrap {
    background: 0 0
  }
  .p-header-second-wrap .p-nav-primary-wrap {
    width: 100%
  }
  .p-header-second-wrap.state-scroll-fixed .p-nav-primary-wrap {
    width: 100%
  }
  .p-header-second-wrap .p-nav-primary {
    position: fixed;
    top: 0;
    bottom: auto;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    width: 100%;
    margin-bottom: 0;
    padding-top: 50px;
    overflow-y: scroll;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    background: #3686ff;
    -webkit-transition: all .6s cubic-bezier(.165, .84, .44, 1);
    transition: all .6s cubic-bezier(.165, .84, .44, 1)
  }
  .p-header-second-wrap .p-nav-primary.open {
    height: 100%;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  .p-header-second-wrap .p-nav-primary .p-nav-list04 a, .p-header-second-wrap .p-nav-primary .p-nav-list05 a, .p-header-second-wrap .p-nav-primary .p-nav-list06 a, .p-header-second-wrap .p-nav-primary .p-nav-list07 a, .p-header-second-wrap .p-nav-primary .p-nav-list08 a, .p-header-second-wrap .p-nav-primary a {
    display: block;
    position: relative;
    padding: 4% 4%;
    color: #fff;
    font-size: 1rem;
    text-align: left
  }
  .p-header-second-wrap .p-nav-primary :not(:first-child) a {
    border-top: 1px solid #fff
  }
  .p-header-second-wrap .p-nav-primary a .icon-arrow-type03 {
    position: absolute;
    top: 50%;
    right: 2%;
    width: 20px;
    height: 18px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all .3s cubic-bezier(.165, .84, .44, 1);
    transition: all .3s cubic-bezier(.165, .84, .44, 1)
  }
  .p-header-second-wrap .p-nav-primary a.js-child-trigger .icon-arrow-type03 {
    right: 2%;
    -webkit-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg)
  }
  .p-header-second-wrap .p-nav-primary a.js-child-trigger.open .icon-arrow-type03 {
    -webkit-transform: translateY(-50%) rotate(-90deg);
    transform: translateY(-50%) rotate(-90deg)
  }
  .p-header-second-wrap .p-nav-secondary {
    padding: 0;
    background: #e3eefe;
    list-style: none
  }
  .p-header-second-wrap .p-nav-secondary a {
    color: #000
  }
}

@media screen and (max-width:50em) {
  .p-hd-hamburger {
    display: block;
    z-index: 6;
    position: fixed;
    top: .5%;
    right: 2%;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .9);
    -webkit-transition: all .3s cubic-bezier(.68, -.55, .265, 1.55);
    transition: all .3s cubic-bezier(.68, -.55, .265, 1.55)
  }
  .p-hd-hamburger::before {
    display: block;
    position: absolute;
    bottom: 2px;
    left: 50%;
    width: 100%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    color: #3686ff;
    font-size: .687rem;
    font-weight: 700;
    letter-spacing: -.1em;
    text-align: center;
    content: 'メニュー'
  }
  .p-hd-hamburger span {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    -webkit-transition: all .3s cubic-bezier(.68, -.55, .265, 1.55);
    transition: all .3s cubic-bezier(.68, -.55, .265, 1.55)
  }
  .p-hd-hamburger span {
    position: absolute;
    left: 50%;
    width: 22px;
    height: 2px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #3686ff
  }
  .p-hd-hamburger span:nth-of-type(1) {
    top: 14px
  }
  .p-hd-hamburger span:nth-of-type(2) {
    top: 20px
  }
  .p-hd-hamburger span:nth-of-type(3) {
    top: 26px
  }
  .p-hd-hamburger.active {
    position: fixed;
    background-color: #fff
  }
  .p-hd-hamburger.active::before {
    content: unset
  }
  .p-hd-hamburger.active span {
    background-color: #3686ff
  }
  .p-hd-hamburger.active span:nth-of-type(1) {
    left: 5px;
    width: 35px;
    -webkit-transform: translate3d(3px, 10px, 0) rotate(45deg);
    transform: translate3d(3px, 10px, 0) rotate(45deg)
  }
  .p-hd-hamburger.active span:nth-of-type(2) {
    left: 150%
  }
  .p-hd-hamburger.active span:nth-of-type(3) {
    left: 5px;
    width: 35px;
    -webkit-transform: translate3d(3px, -2px, 0) rotate(-45deg);
    transform: translate3d(3px, -2px, 0) rotate(-45deg)
  }
}

.topslide-contact-text-pc {
  position: absolute;
  right: 20px;
  display: flex;
  flex-direction: column;
  margin-top: 50px;
  background: #FFF;
  border-radius: 20px;
  padding: 20px 20px 10px 20px;

  h4 {
    font-size: 24px;
  }

  p {
    margin: 10px 0 0 0;
  }

  @media screen and (max-width:50em) {
    display: none;
  }
}

.topslide-contact-text-sp {
  display: flex;
  flex-direction: column;
  margin-top: 10px;
  background: #FFF;
  border-radius: 20px;
  padding: 20px 20px 10px 20px;
  margin-bottom: 60px;

  h4 {
    text-align: center;
    font-size: 20px;
  }

  p {
    text-align: center;
    margin: 10px 0 0 0;
  }

  @media screen and (min-width:50em) {
    display: none;
  }

  @media screen and (max-width:40em) {
    margin-bottom: 0;
  }
}

.topslide-contact-text-number {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 28px;

  @media screen and (max-width:50em) {
    margin: 0 auto;
  }
}
.topslide-contact-text-number::after {
  content: "";
  display: flex;
  position: absolute;
  left: -2px;
  mask-image: url(/assets/images/common/phone-icon.svg);
  mask-size: cover;
  mask-position: center;
  mask-repeat: no-repeat;
  background: #333;
  width: 24px;
  height: 24px;
}
.topslide-contact-text-number:hover::after {
  background: #73c30b;
  transition: background 0.3s ease;
}

.topslide-contact-text-mail {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 28px;

  @media screen and (max-width:50em) {
    margin: 0 auto;
  }
}
.topslide-contact-text-mail::after {
  content: "";
  display: flex;
  position: absolute;
  left: 0;
  mask-image: url(/assets/images/common/mail-icon.svg);
  mask-size: cover;
  mask-position: center;
  mask-repeat: no-repeat;
  background: #333;
  width: 20px;
  height: 20px;
}
.topslide-contact-text-mail:hover::after {
  background: #73c30b;
  transition: background 0.3s ease;
}

.p-footer-wrap {
  padding-bottom: 510px;
  background: url(/assets/images/common/ft-bg.jpg) center bottom/cover no-repeat #648fe9
}

.p-footer-wrap .p-footer-head {
  max-width: 1040px;
  margin: 0 auto;
  padding-top: 140px
}

.p-footer-wrap .p-footer-ttl {
  color: #fff;
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: center
}

.p-footer-wrap .p-footer-ttl span {
  display: block;
  font-size: 1rem
}

.p-footer-wrap .p-footer-nav {
  max-width: 1040px;
  margin: 0 auto;
  padding-top: 50px
}

.p-footer-wrap .p-footer-nav ul {
  margin: 0;
  padding: 0;
  list-style: none
}

.p-footer-wrap .p-footer-nav a {
  display: block;
  color: #fff;
  font-size: 1rem;
  font-weight: 400
}

.p-footer-wrap .p-footer-nav a:hover {
  text-decoration: underline
}

.p-footer-wrap .p-footer-nav .p-ft-primary-nav dt a {
  padding-bottom: 10px;
  border-bottom: 1px solid #fff;
  font-size: 1.25rem
}

.p-footer-wrap .p-footer-nav .p-ft-primary-nav li {
  margin-bottom: 0;
  padding-top: 10px
}

.p-footer-wrap .p-footer-nav .p-ft-secondary-nav li a {
  padding: 10px 0
}

.p-footer-wrap .p-footer-nav .p-ft-secondary-nav li:not(:first-child) {
  border-top: 1px solid #fff
}

.p-footer-wrap .p-footer-copyright {
  margin-top: 40px;
  color: #fff
}

.p-footer-wrap .p-footer-copyright img {
  max-width: 180px
}

@media screen and (max-width:50em) {
  .p-footer-wrap {
    padding-bottom: 50%;
    background: url(/assets/images/common/ft-bg-sp.jpg) center bottom/cover no-repeat #648fe9
  }
  .p-footer-wrap .p-footer-head {
    padding-top: 8%
  }
  .p-footer-wrap .p-footer-ttl {
    font-size: calc((100 / 640) * 68 * 1vw)
  }
  .p-footer-wrap .p-footer-ttl span {
    font-size: calc((100 / 640) * 32 * 1vw)
  }
  .p-footer-wrap .p-footer-nav {
    margin: 8% -1.5% 0;
    padding-top: 0;
    border-top: 1px solid #fff;
    text-align: center
  }
  .p-footer-wrap .p-footer-nav .p-ft-primary-nav {
    margin-bottom: 0
  }
  .p-footer-wrap .p-footer-nav .p-ft-primary-nav dt a {
    position: relative;
    padding: 2%;
    font-size: calc((100 / 640) * 32 * 1vw)
  }
  .p-footer-wrap .p-footer-nav .p-ft-primary-nav dd {
    display: none
  }
  .p-footer-wrap .p-footer-nav .p-ft-primary-nav dt a::before {
    display: block;
    position: absolute;
    top: 50%;
    right: 2%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: calc((100 / 640) * 32 * 1vw);
    content: '+'
  }
  .p-footer-wrap .p-footer-nav .p-ft-primary-nav dt.open a::before {
    content: '-'
  }
  .p-footer-wrap .p-footer-nav .p-ft-primary-nav li {
    margin-bottom: 0;
    padding-top: 10px
  }
  .p-footer-wrap .p-footer-nav .p-ft-secondary-nav li a {
    padding: 10px 0
  }
  .p-footer-wrap .p-footer-nav .p-ft-secondary-nav li:not(:first-child) {
    border-top: 1px solid #fff
  }
  .p-footer-wrap .p-footer-copyright {
    margin-top: 6%
  }
  .p-footer-wrap .p-footer-copyright img {
    max-width: 50%
  }
}

.p-body-wrap {
  overflow-x: hidden
}

.p-conts-wrap {
  max-width: 1040px;
  margin: 0 auto 80px
}

.toppage .p-conts-wrap {
  max-width: 1200px
}

.p-conts-wrap-medium {
  max-width: 960px;
  margin: 0 auto 80px
}

.p-conts-wrap-small {
  max-width: 880px;
  margin: 0 auto 80px
}

@media screen and (max-width:50em) {
  .p-conts-wrap {
    margin: 0 auto 12%;
    font-size: calc((100 / 640) * 20 * 1vw)
  }
  .p-conts-wrap-medium {
    max-width: 86%;
    margin: 0 auto 12%;
    font-size: calc((100 / 640) * 20 * 1vw)
  }
  .p-conts-wrap-small {
    max-width: 86%;
    margin: 0 auto 12%;
    font-size: calc((100 / 640) * 20 * 1vw)
  }
}

.index-main-slide {
  z-index: -1;
  position: relative;
  height: calc(100vw * .642)
}

.bg-slide {
  height: calc(100vw * .642)
}

.index-main-01 {
  background: url(/assets/images/index/main-img01.jpg) center top/cover no-repeat
}

.index-main-02 {
  background: url(/assets/images/index/main-img02.jpg) center top/cover no-repeat
}

.index-main-03 {
  background: url(/assets/images/index/main-img03.jpg) center top/cover no-repeat
}

.index-main-04 {
  background: url(/assets/images/index/main-img04.jpg) center top/cover no-repeat
}

.index-main-05 {
  background: url(/assets/images/index/main-img05.jpg) center top/cover no-repeat
}

@media screen and (max-width:50em) {
  .index-main-slide {
    height: calc(100vw * .9)
  }
  .bg-slide {
    height: calc(100vw * .9)
  }
  .index-main-01 {
    background: url(/assets/images/index/main-img01-sp.jpg) center top/cover no-repeat
  }
  .index-main-02 {
    background: url(/assets/images/index/main-img02-sp.jpg) center top/cover no-repeat
  }
  .index-main-03 {
    background: url(/assets/images/index/main-img03-sp.jpg) center top/cover no-repeat
  }
  .index-main-04 {
    background: url(/assets/images/index/main-img04-sp.jpg) center top/cover no-repeat
  }
  .index-main-05 {
    background: url(/assets/images/index/main-img05-sp.jpg) center top/cover no-repeat
  }
}

.index-what-wrap {
  position: relative;
  margin-top: -25vh;
  padding: 20px 20px 0;
  border-radius: 30px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(1%, #b3ecf4), to(#aad4fd));
  background: linear-gradient(180deg, #b3ecf4 1%, #aad4fd 100%)
}

.index-what-header {
  position: relative;
  padding: 30px 0 20px;
  text-align: center
}

.index-what-header h2 {
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.3
}

.index-what-header h2 span {
  display: block;
  font-size: 1.25rem
}

@media print, screen and (max-width:65em) {
  .index-what-wrap {
    width: 96%;
    margin-top: 0;
    padding: 2% 2% 0
  }
  .index-what-header h2 {
    font-size: 1.875rem
  }
  .index-what-header h2 span {
    font-size: 1rem
  }
}

@media screen and (max-width:50em) {
  .index-what-wrap {
    width: 100%;
    padding: 4% 4% 0;
    border-radius: 0
  }
  .index-what-header {
    padding: 2% 0 4%
  }
  .index-what-header h2 {
    font-size: calc((100 / 640) * 32 * 1vw)
  }
  .index-what-header h2 span {
    font-size: calc((100 / 640) * 20 * 1vw)
  }
}

.index-what-header-img {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%
}

.index-what-header-img img {
  position: absolute;
  width: calc(100vw * .09)
}

.index-what-header-img img:nth-child(1) {
  left: 2%;
  max-width: 128px
}

.index-what-header-img img:nth-child(2) {
  top: 2vh;
  left: 14.5%;
  width: calc(100vw * .14);
  max-width: 174px
}

.index-what-header-img img:nth-child(3) {
  top: 0;
  right: 18%;
  max-width: 123px
}

.index-what-header-img img:nth-child(4) {
  top: 3vh;
  right: 0;
  width: calc(100vw * .15);
  max-width: 192px
}

@media screen and (max-width:50em) {
  .index-what-header-img img:nth-child(1) {
    left: 0;
    min-width: 48px
  }
  .index-what-header-img img:nth-child(2) {
    top: 70%;
    left: 10px;
    min-width: 90px
  }
  .index-what-header-img img:nth-child(3) {
    top: -8px;
    right: 0;
    min-width: 50px
  }
  .index-what-header-img img:nth-child(4) {
    top: auto;
    top: 75%;
    right: 0;
    min-width: 120px
  }
}

@media screen and (max-width:24em) {
  .index-what-header-img img:nth-child(2) {
    top: 90%
  }
  .index-what-header-img img:nth-child(4) {
    top: 95%;
    min-width: 100px
  }
}

.index-what-conts {
  padding-top: 60px
}

.index-what-conts ul {
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  padding: 0;
  list-style: none
}

.index-what-conts li {
  margin-bottom: 1.4rem
}

.index-what-conts li .hover {
  display: block;
  position: relative;
  text-align: center
}

.index-what-conts li .hover:hover img {
  opacity: 1
}

.index-what-conts figcaption {
  padding: 10px 0;
  font-size: 1.25rem;
  line-height: 1.5
}

@media screen and (max-width:50em) {
  .index-what-conts li {
    margin-bottom: 0
  }
  .index-what-conts figcaption {
    font-size: calc((100 / 640) * 28 * 1vw)
  }
}

.index-what-conts li:nth-child(1) .hover::before {
  display: block;
  z-index: 2;
  position: absolute;
  top: 40%;
  left: 40%;
  width: 112px;
  height: 70px;
  -webkit-transform: scale(0);
  transform: scale(0);
  background: url(/assets/images/index/index-img05-hover.png) center/cover no-repeat;
  content: '';
  -webkit-transition: all .6s cubic-bezier(.68, -.55, .265, 1.55);
  transition: all .6s cubic-bezier(.68, -.55, .265, 1.55)
}

.index-what-conts li:nth-child(1) .hover:hover::before {
  top: 0;
  left: 0;
  -webkit-transform: scale(1);
  transform: scale(1)
}

@media screen and (max-width:50em) {
  .index-what-conts li:nth-child(1) .hover::before {
    top: 0;
    left: 0;
    width: calc(100% * .5);
    height: calc(100% * .22);
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

.index-what-conts li:nth-child(2) .hover::before {
  display: block;
  z-index: 2;
  position: absolute;
  top: 50%;
  right: 10%;
  width: 96px;
  height: 80px;
  -webkit-transform: scale(0);
  transform: scale(0);
  background: url(/assets/images/index/index-img06-hover.png) center/cover no-repeat;
  content: '';
  -webkit-transition: all .6s cubic-bezier(.68, -.55, .265, 1.55);
  transition: all .6s cubic-bezier(.68, -.55, .265, 1.55)
}

.index-what-conts li:nth-child(2) .hover:hover::before {
  top: 50%;
  right: 0;
  -webkit-transform: scale(1);
  transform: scale(1)
}

@media screen and (max-width:50em) {
  .index-what-conts li:nth-child(2) .hover::before {
    top: 50%;
    right: 0;
    width: calc(100% * .3);
    height: calc(100% * .2);
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

.index-what-conts li:nth-child(3) .hover::before {
  display: block;
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 40%;
  width: 64px;
  height: 15px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-transform: scale(0);
  transform: scale(0);
  background: url(/assets/images/index/index-img07-hover.png) center/cover no-repeat;
  content: '';
  -webkit-transition: all .4s cubic-bezier(.68, -.55, .265, 1.55);
  transition: all .4s cubic-bezier(.68, -.55, .265, 1.55)
}

.index-what-conts li:nth-child(3) .hover:hover::before {
  top: 10%;
  -webkit-transform: scale(1);
  transform: scale(1)
}

@media screen and (max-width:50em) {
  .index-what-conts li:nth-child(3) .hover::before {
    top: 10%;
    width: calc(100% * .3);
    height: calc(100% * .05);
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

.index-what-conts li:nth-child(4) .hover::before {
  display: block;
  z-index: 2;
  position: absolute;
  top: 8%;
  right: 28%;
  width: 68px;
  height: 74px;
  -webkit-transform: scale(0);
  transform: scale(0);
  background: url(/assets/images/index/index-img08-hover.png) center/cover no-repeat;
  content: '';
  -webkit-transition: all .3s cubic-bezier(.68, -.55, .265, 1.55);
  transition: all .3s cubic-bezier(.68, -.55, .265, 1.55)
}

.index-what-conts li:nth-child(4) .hover:hover::before {
  top: 6%;
  -webkit-transform: scale(1);
  transform: scale(1)
}

@media screen and (max-width:50em) {
  .index-what-conts li:nth-child(4) .hover::before {
    top: 6%;
    width: calc(100% * .24);
    height: calc(100% * .19);
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

.index-what-conts li:nth-child(5) .hover::before {
  display: block;
  z-index: 2;
  position: absolute;
  top: 10%;
  left: 12%;
  width: 110px;
  height: 96px;
  -webkit-transform: scale(.5);
  transform: scale(.5);
  background: url(/assets/images/index/index-img09-hover.png) center/cover no-repeat;
  content: '';
  opacity: 0;
  -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1);
  transition: all .3s cubic-bezier(.645, .045, .355, 1)
}

.index-what-conts li:nth-child(5) .hover:hover::before {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1
}

@media screen and (max-width:50em) {
  .index-what-conts li:nth-child(5) .hover::before {
    width: calc(100% * .45);
    height: calc(100% * .3);
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
  }
}

.index-what-conts li:nth-child(6) .hover:hover::before {
  display: block;
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 95%;
  background: url(/assets/images/index/index-img10-hover.gif) center/100% auto no-repeat;
  content: ''
}

@media screen and (max-width:50em) {
  .index-what-conts li:nth-child(6) .hover:hover::before {
    content: unset
  }
}

.index-what-conts li:nth-child(7) .hover::before {
  display: block;
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 58%;
  width: 57px;
  height: 15px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-transform: scale(0);
  transform: scale(0);
  background: url(/assets/images/index/index-img11-hover.png) center/cover no-repeat;
  content: '';
  -webkit-transition: all .4s cubic-bezier(.68, -.55, .265, 1.55);
  transition: all .4s cubic-bezier(.68, -.55, .265, 1.55)
}

.index-what-conts li:nth-child(7) .hover:hover::before {
  top: 5%;
  left: 6%;
  -webkit-transform: scale(1);
  transform: scale(1);
  transform: rotate(-25deg);
}

@media screen and (max-width:50em) {
  .index-what-conts li:nth-child(7) .hover::before {
    top: 10%;
    left: 54%;
    width: calc(100% * .3);
    height: calc(100% * .06);
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

.index-what-conts li:nth-child(8) .hover:hover::before {
  display: block;
  z-index: 2;
  position: absolute;
  top: 17%;
  left: 20%;
  width: 48px;
  height: 82px;
  background: url(/assets/images/index/index-img12-hover.gif) center/cover no-repeat;
  content: ''
}

@media screen and (max-width:50em) {
  .index-what-conts li:nth-child(8) .hover:hover::before {
    content: unset
  }
}

.index-news-wrap-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: static;
  top: 0;
  right: 2%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 90%;
  max-width: 1000px;
  margin: 10px auto;
  margin: -8vh auto 280px;
  padding: 4% 1.5%;
  border-radius: 15px;
  background: #fffcdb;
  -webkit-box-shadow: 2px 2px 4px #bbb;
  box-shadow: 2px 2px 4px #bbb
}

.index-news-wrap-container-left {
  width: 14%;
  margin: 0 auto 0 0
}

.index-news-header h2 {
  margin-bottom: 0;
  font-size: 1.25rem;
  line-height: 1;
  text-align: center
}

.index-news-header span {
  position: relative;
  top: -4px;
  font-size: .812rem
}

.index-news-conts {
  width: 64%;
  margin-right: auto
}

.index-news-list:first-child {
  margin-bottom: 4px
}

.index-news-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0
}

.index-news-list dt {
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  max-width: 20%;
  margin-right: auto;
  font-size: .75rem
}

.index-news-list dd {
  -ms-flex-preferred-size: 80%;
  flex-basis: 80%;
  max-width: 80%;
  margin-bottom: 0;
  font-size: .875rem;
  line-height: 1.25rem
}

.index-news-list a {
  font-size: .875rem;
  text-decoration: underline
}

.index-news-link {
  width: 18%;
  margin-bottom: 0;
  font-size: .875rem
}

.index-news-link a {
  text-decoration: underline
}

@media print, screen and (max-width:65em) {
  .index-news-wrap {
    margin-bottom: 40px
  }
  .index-news-wrap-container {
    position: static;
    width: 96%;
    max-width: 1200px;
    margin: -6vh auto 0;
    padding: 4% 3% 4% 0;
    border-radius: 15px
  }
  .index-news-wrap-container-left {
    width: 10%;
    margin: 15px auto 0
  }
  .index-news-header h2 {
    font-size: 1.5rem
  }
  .index-news-conts {
    width: 50%
  }
  .index-news-list {
    display: block
  }
  .index-news-list dd, .index-news-list dt {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%
  }
  .index-news-link {
    width: 18%
  }
}

@media screen and (max-width:50em) {
  .index-news-wrap-container {
    padding: 4% 3%
  }
  .index-news-header h2 {
    margin-bottom: 3px;
    font-size: 1.625rem
  }
  .index-news-header span {
    position: relative;
    top: -3px;
    font-size: .875rem
  }
  .index-news-wrap-container-left {
    width: 35%;
    margin: auto
  }
  .index-news-conts {
    width: 50%;
    margin: auto
  }
  .index-news-list:first-child {
    margin-bottom: 0
  }
  .index-news-list dt {
    margin-bottom: .25rem
  }
  .index-news-link {
    width: 100%;
    text-align: center
  }
}

@media screen and (max-width:40em) {
  .index-news-wrap-container {
    margin: 25px auto -18px
  }
  .index-news-header h2 {
    font-size: 1.125rem
  }
  .index-news-header span {
    font-size: .625rem
  }
}

.index-interview-wrap {
  position: relative
}

.index-interview-wrap::before {
  z-index: -1;
  position: absolute;
  top: 20%;
  left: 50%;
  width: 140vw;
  height: 100%;
  margin-right: calc(((100vw - 100%)/ 2) * -1);
  margin-left: calc(((100vw - 100%)/ 2) * -1);
  -webkit-transform: rotate(5deg) translate(-50%, 0);
  transform: rotate(5deg) translate(-50%, 0);
  background: -webkit-gradient(linear, left top, right top, color-stop(1%, rgba(225, 242, 222, 0)), color-stop(58%, #e1f2de), color-stop(62%, #fbf780), to(#fbf780));
  background: linear-gradient(90deg, rgba(225, 242, 222, 0) 1%, #e1f2de 58%, #fbf780 62%, #fbf780 100%);
  background-color: #e1f2de;
  content: ''
}

.index-interview-header {
  margin-bottom: 20px
}

.index-interview-header h2 {
  font-size: 2.125rem;
  font-weight: 400
}

.index-interview-slide .interview-slide {
  display: -webkit-box!important;
  display: -ms-flexbox!important;
  display: flex!important;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 25px;
  background: #fff
}

.index-interview-slide .interview-slide figure {
  width: 55%;
  margin-bottom: 0
}

.index-interview-slide .interview-slide img {
  border-radius: 25px 0 0 25px
}

.index-interview-slide .index-interview-conts {
  width: 45%;
  padding: 40px
}

.index-interview-slide .index-interview-name {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.5
}

.index-interview-slide .index-interview-name span {
  font-size: 1rem
}

.index-interview-slide .index-interview-outline {
  padding: 30px 0;
  font-size: 1.25rem;
  line-height: 2
}

@media print, screen and (max-width:65em) {
  .index-interview-header {
    padding: 0 2%
  }
  .index-interview-slide {
    width: 88%;
    margin: 0 auto
  }
  .index-interview-slide .index-interview-conts {
    padding: 20px
  }
  .index-interview-slide .index-interview-name {
    font-size: 1.125rem
  }
  .index-interview-slide .index-interview-name span {
    font-size: .875rem
  }
  .index-interview-slide .index-interview-outline {
    font-size: 1rem
  }
}

@media screen and (max-width:50em) {
  .index-interview-wrap::before {
    top: 10%;
    width: 120vw;
    height: 100%;
    content: ''
  }
  .index-interview-header {
    margin-bottom: 1em
  }
  .index-interview-header h2 {
    font-size: calc((100 / 640) * 36 * 1vw)
  }
  .index-interview-slide {
    width: 70%
  }
  .index-interview-slide .interview-slide {
    display: -webkit-box!important;
    display: -ms-flexbox!important;
    display: flex!important;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
  .index-interview-slide .interview-slide img {
    border-radius: 25px 25px 0 0
  }
  .index-interview-slide .interview-slide figure {
    width: 100%;
    margin-bottom: 0
  }
  .index-interview-slide .index-interview-conts {
    width: 100%;
    padding: 4% 0 0
  }
  .index-interview-slide .index-interview-name {
    padding: 0 4%;
    font-size: calc((100 / 640) * 18 * 1vw)
  }
  .index-interview-slide .index-interview-name span {
    font-size: calc((100 / 640) * 16 * 1vw)
  }
  .index-interview-slide .index-interview-outline {
    padding: 4%;
    font-size: calc((100 / 640) * 18 * 1vw)
  }
  .index-interview-slide .index-interview-footer {
    width: 100%
  }
  .index-interview-slide .index-interview-footer .u-btn {
    margin-bottom: 0
  }
  .index-interview-slide .index-interview-footer a {
    display: block;
    margin-bottom: 0;
    border-radius: 0 0 25px 25px
  }
}

.index-menu-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 0
}

.index-menu-wrap li a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 30px;
  overflow: hidden;
  border-radius: 6px;
  color: #000
}

.index-menu-wrap li .index-menu-inner {
  padding: 40px 30px;
  border-radius: 6px;
  background: rgba(255, 255, 255, .6)
}

.index-menu-wrap h3 {
  position: relative;
  font-size: 2rem;
  font-weight: 400
}

.index-menu-wrap .c-eng-txt {
  padding: 0 20px
}

.index-menu-01 a::before {
  display: block;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(/assets/images/index/index-bg01.jpg) center/cover no-repeat;
  content: '';
  -webkit-transition: all .6s cubic-bezier(.215, .61, .355, 1);
  transition: all .6s cubic-bezier(.215, .61, .355, 1)
}

.index-menu-01 a:hover::before {
  -webkit-transform: scale(1.2);
  transform: scale(1.2)
}

.index-menu-02 a::before {
  display: block;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(/assets/images/index/index-bg02.jpg) center/cover no-repeat;
  content: '';
  -webkit-transition: all .6s cubic-bezier(.215, .61, .355, 1);
  transition: all .6s cubic-bezier(.215, .61, .355, 1)
}

.index-menu-02 a:hover::before {
  -webkit-transform: scale(1.2);
  transform: scale(1.2)
}

@media print, screen and (max-width:65em) {
  .index-menu-wrap {
    padding: 60px 2%
  }
}

@media screen and (max-width:50em) {
  .index-menu-wrap {
    padding: 6% 4%
  }
  .index-menu-wrap li {
    margin-bottom: 4%
  }
  .index-menu-wrap li a {
    padding: 4%
  }
  .index-menu-wrap li .index-menu-inner {
    padding: 4%
  }
  .index-menu-wrap h3 {
    font-size: calc((100 / 640) * 36 * 1vw)
  }
}

.about .c-page-ttl-head {
  margin-bottom: 20px
}

.bg-about-img {
  background: url(/assets/images/about/cat-img.jpg) center top/cover no-repeat
}

.about-wrap {
  margin: 0 auto 20px;
  padding: 40px 20px 20px
}

.about-wrap:not(:nth-of-type(1)) {
  border-top: 1px solid #ddd
}

.about-place-wrap {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.about-thumbnail {
  -ms-flex-wrap: 40%;
  flex-wrap: 40%;
  max-width: 40%;
  margin-top: 4%
}

.about-place-wrap .u-btn {
  -ms-flex-wrap: 60%;
  flex-wrap: 60%;
  max-width: 60%
}

@media screen and (max-width:40em) {
  .about-thumbnail {
    -ms-flex-wrap: 100%;
    flex-wrap: 100%;
    max-width: 100%
  }
  .about-place-wrap .u-btn {
    -ms-flex-wrap: 100%;
    flex-wrap: 100%;
    max-width: 100%
  }
}

.about-event-wrap {
  padding: 70px 0;
  background: #f7f4ef
}

.about-event-ttl-wrap {
  padding-bottom: 40px;
  text-align: center
}

.about-event-ttl-wrap .about-event-ttl {
  display: inline-block;
  padding: .5em .3em;
  border-right: 1px solid #000;
  border-left: 1px solid #000;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl
}

.about-gallery-ttl {
  display: inline-block;
  margin: 0 auto 40px;
  padding: 0 10px;
  border-bottom: 1px solid #000;
  font-size: 1.625rem;
  letter-spacing: .2em;
  text-align: center
}

.about-gallery-lists {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear
}

.about-gallery-lists.common-slide .swiper-slide {
  margin: 0;
  vertical-align: bottom
}

.about-gallery-lists.common-slide .swiper-slide img {
  border-radius: 0
}

.about-gallery-lists.common-slide .slick-prev {
  left: 0;
  width: 50px;
  height: 100%;
  background: rgba(0, 0, 0, .6)
}

.about-gallery-lists.common-slide .slick-prev:before {
  display: block;
  width: 23px;
  height: 43px;
  margin: 0 auto;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  background: url(/assets/images/common/arrow-type03-01.svg) center no-repeat;
  background-size: contain;
  content: ''
}

.about-gallery-lists.common-slide .slick-next {
  right: 0;
  width: 50px;
  height: 100%;
  background: rgba(0, 0, 0, .6)
}

.about-gallery-lists.common-slide .slick-next:before {
  display: block;
  width: 23px;
  height: 43px;
  margin: 0 auto;
  -webkit-transform: rotate(0);
  transform: rotate(0);
  background: url(/assets/images/common/arrow-type03-01.svg) center no-repeat;
  background-size: contain;
  content: ''
}

.bg-life-img {
  background: url(/assets/images/life/cat-img.jpg) center top/cover no-repeat
}

.life-slide-ttl-wrap {
  padding: 60px 0 0;
  text-align: center
}

.life-slide-ttl-wrap .life-slide-ttl {
  position: relative;
  font-size: 1.625rem
}

.life-slide-ttl-wrap .life-slide-ttl::after, .life-slide-ttl-wrap .life-slide-ttl::before {
  display: inline-block;
  width: 30px;
  height: 1px;
  margin: 0 10px;
  border-bottom: 1px solid #000;
  vertical-align: middle;
  content: ''
}

.life-slide-ttl-wrap .life-slide-ttl::before {
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg)
}

.life-slide-ttl-wrap .life-slide-ttl::after {
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg)
}

.life-slide {
  padding: 130px 60px 20px
}

.life-slide .life-slide-lists {
  margin: 0;
  padding: 0
}

.life-slide .common-slide .slick-prev {
  left: -3%
}

.life-slide .common-slide .slick-next {
  right: -3%
}

.life-slide .common-slide .slide img {
  margin: 0 auto;
  border-radius: 0
}

.life-slide .slick-dots {
  top: -12%;
  bottom: auto
}

.life-slide .slick-dots li {
  width: 40px;
  height: 40px;
  margin: 0 10px
}

.life-slide .slick-dots button {
  display: block;
  width: 40px;
  height: 40px;
  height: auto;
  padding: .5em;
  border: 1px solid #000;
  outline: 0;
  background: #fff;
  color: #000;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer
}

.life-slide .slick-dots button::before {
  display: none
}

.life-slide .slick-dots .slick-active button {
  background: #f9f112;
  color: #000
}

@media screen and (max-width:40em) {
  .life-slide-ttl-wrap {
    padding: 10% 0 0
  }
  .life-slide-ttl-wrap .life-slide-ttl {
    font-size: calc((100 / 640) * 36 * 1vw)
  }
  .life-slide-ttl-wrap .life-slide-ttl::after, .life-slide-ttl-wrap .life-slide-ttl::before {
    width: 30px
  }
  .life-slide {
    padding: 20% 10% 4%
  }
  .life-slide .common-slide .slick-prev {
    left: -10%
  }
  .life-slide .common-slide .slick-next {
    right: -10%
  }
  .life-slide .slick-dots {
    top: -15%
  }
}

.bg-work-img {
  background: url(/assets/images/work/cat-img.jpg) center top/cover no-repeat
}

.work-link-items-list, .work-link-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none
}

.work-link-list {
  margin: 1rem 0 .5rem
}

.work-link-items {
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding: 10px 5px
}

.work-link-items-category {
  position: relative;
  -ms-flex-preferred-size: 14%;
  flex-basis: 14%;
  max-width: 14%;
  margin: 0;
  padding: 10px 5px;
  font-weight: 500
}

.work-link-items-category::after {
  display: block;
  position: absolute;
  top: 14px;
  right: 26%;
  width: 1px;
  height: 1.25rem;
  background: #000;
  content: ""
}

.work-link-items-url {
  -ms-flex-preferred-size: 86%;
  flex-basis: 86%;
  max-width: 86%;
  margin: 0
}

.work-link-items-full {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  max-width: 100%
}

.work-schedule-wrap {
  position: relative;
  padding: 60px 80px
}

.work-schedule-wrap::after, .work-schedule-wrap::before {
  display: block;
  position: absolute;
  top: 20px;
  width: 100px;
  height: 1px;
  border-bottom: 1px solid #000;
  content: ''
}

.work-schedule-wrap::before {
  left: -30px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.work-schedule-wrap::after {
  right: -30px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.work-schedule-wrap .work-schedule-ttl-wrap {
  padding-bottom: 40px
}

.work-schedule-wrap .work-schedule-img {
  padding-top: 40px
}

@media screen and (max-width:40em) {
  .work-schedule-wrap {
    position: relative;
    padding: 10% 6%
  }
  .work-schedule-wrap .work-schedule-ttl-wrap {
    padding-bottom: 3%
  }
  .work-schedule-wrap .work-schedule-img {
    padding-top: 6%
  }
  .work-link-list {
    margin: auto
  }
  .work-link-items-category {
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
    max-width: 20%
  }
  .work-link-items-category::after {
    right: 30%;
    height: .85rem
  }
  .work-link-items-url {
    -ms-flex-preferred-size: 80%;
    flex-basis: 80%;
    max-width: 80%
  }
}

.bg-flow-img {
  background: url(/assets/images/flow/cat-img.jpg) center top/cover no-repeat
}

.flow .flow-step-lists {
  margin: 0;
  padding: 0;
  list-style: none
}

.flow .flow-step-lists li:not(:last-child)::after {
  display: block;
  position: absolute;
  bottom: -60px;
  left: 50%;
  width: 42px;
  height: 40px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: url(/assets/images/common/arrow-type01-01.svg) center bottom/contain no-repeat;
  content: ''
}

.flow .flow-step-lists li:nth-child(even)::after {
  background: url(/assets/images/common/arrow-type01-02.svg) center bottom/contain no-repeat
}

.flow .flow-step-wrap {
  position: relative;
  padding: 0 40px;
  border: 1px solid #ddd
}

.flow .flow-step-ttl {
  margin-bottom: 1.5rem;
  padding: 10px;
  border-bottom: 1px solid #ddd;
  font-size: 1.5rem;
  font-weight: 400
}

.flow .flow-step-ttl span {
  font-size: 1.375rem
}

.flow .flow-step-ttl span::after {
  display: inline-block;
  width: 30px;
  height: 1px;
  margin: 0 .2em;
  -webkit-transform: rotate(-53deg);
  transform: rotate(-53deg);
  border-bottom: 1px solid #a3a3a3;
  vertical-align: middle;
  content: ''
}

.flow .flow-step-txt {
  padding-left: 2em
}

@media screen and (max-width:40em) {
  .flow .flow-step-lists li:not(:last-child)::after {
    bottom: -10%;
    height: 34px
  }
  .flow .flow-step-wrap {
    margin-bottom: 18%;
    padding: 0 6%
  }
  .flow .flow-step-ttl {
    margin-bottom: 1rem;
    padding: 4% 2%;
    font-size: calc((100 / 640) * 30 * 1vw)
  }
  .flow .flow-step-ttl span {
    font-size: calc((100 / 640) * 26 * 1vw)
  }
  .flow .flow-step-ttl span::after {
    margin: 0 .1em
  }
  .flow figure {
    text-align: center
  }
  .flow .flow-step-txt {
    padding-left: 0;
    font-size: calc((100 / 640) * 24 * 1vw)
  }
}

.bg-faq-img {
  background: url(/assets/images/faq/cat-img.jpg) center top/cover no-repeat
}

.faq-wrap {
  margin-top: 40px
}

.faq-wrap dt {
  position: relative;
  padding: 20px 20px 20px 90px;
  background: #edead7;
  font-size: 1.5rem;
  font-weight: 400;
  cursor: pointer
}

.faq-wrap dt::before {
  display: block;
  position: absolute;
  top: 15px;
  left: 40px;
  font-size: 1.75rem;
  font-weight: 400;
  content: 'Q'
}

.faq-wrap .acd-open::after {
  display: block;
  position: absolute;
  bottom: -16px;
  left: 50%;
  width: 0;
  height: 0;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border-width: 16px 10px 0 10px;
  border-style: solid;
  border-color: #edead7 transparent transparent transparent;
  content: ''
}

.faq-wrap dd {
  position: relative;
  margin-top: 20px;
  padding: 40px 20px 40px 90px;
  border: 1px solid #d8d3b1;
  font-size: 1.125rem
}

.faq-wrap dd::before {
  display: block;
  position: absolute;
  top: 30px;
  left: 40px;
  font-size: 1.75rem;
  content: 'A'
}

.faq-wrap dd ul {
  padding-left: 1.5rem
}

@media screen and (max-width:40em) {
  .faq-wrap {
    margin-top: 8%
  }
  .faq-wrap dt {
    position: relative;
    padding: 6% 6% 6% 16%;
    background: #edead7;
    font-size: calc((100 / 640) * 32 * 1vw)
  }
  .faq-wrap dt::before {
    top: 13px;
    left: 6%;
    font-size: calc((100 / 640) * 38 * 1vw)
  }
  .faq-wrap dd {
    margin-top: 4%;
    padding: 8% 6% 8% 16%;
    font-size: calc((100 / 640) * 28 * 1vw);
    line-height: 1.5
  }
  .faq-wrap dd::before {
    top: 18px;
    left: 6%;
    font-size: calc((100 / 640) * 38 * 1vw)
  }
}

.bg-common-img {
  background: url(/assets/images/common/cat-img.jpg) center top/cover no-repeat
}

.bg-interview-img {
  background: url(/assets/images/interview/cat-img.jpg) center top/cover no-repeat
}

@media screen and (max-width:50em) {
  .interview .c-page-ttl-head {
    margin-bottom: 0;
    border-bottom: none
  }
}

.interview-menu-wrap {
  margin-top: 80px;
  margin-bottom: 80px
}

.interview-menu-wrap .interview-menu-lists {
  border: 1px solid #000;
  border-left: none
}

.interview-menu-wrap .interview-menu-list {
  position: relative;
  overflow: hidden;
  border-left: 1px solid #000;
  text-align: center
}

.interview-menu-wrap .interview-menu-list a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0 20px 10px
}

.interview-menu-wrap .interview-menu-list .vol-num {
  margin-bottom: 1.5em;
  font-size: .875rem
}

.interview-menu-wrap .interview-menu-list .vol-num::after {
  display: block;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 50%;
  width: 75px;
  height: 75px;
  -webkit-transform: translate(-50%, -55%);
  transform: translate(-50%, -55%);
  border-radius: 50%;
  background: #fff;
  content: '';
  -webkit-transition: all .6s;
  transition: all .6s
}

.interview-menu-wrap .interview-menu-list:nth-child(3) .vol-num {
  margin-bottom: .8em
}

.interview-menu-wrap .interview-menu-list .page-ttl {
  margin-bottom: 0;
  font-size: 1.25rem;
  line-height: 1.3
}

.interview-menu-wrap .interview-menu-list .job-type {
  display: block;
  margin-bottom: .5em;
  font-size: .875rem;
  line-height: 1
}

.interview-menu-wrap .interview-menu-list .current, .interview-menu-wrap .interview-menu-list a:hover {
  color: #3686ff
}

.interview-menu-wrap .interview-menu-list .current .vol-num, .interview-menu-wrap .interview-menu-list a:hover .vol-num {
  color: #fff
}

.interview-menu-wrap .interview-menu-list .current .vol-num::after, .interview-menu-wrap .interview-menu-list a:hover .vol-num::after {
  background: #3686ff
}

@media screen and (max-width:50em) {
  .interview-menu-wrap {
    margin-top: 0
  }
  .interview-menu-wrap .interview-menu-list:nth-child(4), .interview-menu-wrap .interview-menu-list:nth-child(5) {
    border-top: 1px solid #000
  }
  .interview-menu-wrap .interview-menu-list a {
    padding: 0 4% 4%
  }
  .interview-menu-wrap .interview-menu-list .vol-num {
    font-size: calc((100 / 640) * 22 * 1vw)
  }
  .interview-menu-wrap .interview-menu-list .vol-num::after {
    -webkit-transform: translate(-50%, -68%);
    transform: translate(-50%, -68%)
  }
  .interview-menu-wrap .interview-menu-list .page-ttl {
    font-size: calc((100 / 640) * 32 * 1vw)
  }
  .interview-menu-wrap .interview-menu-list .job-type {
    font-size: calc((100 / 640) * 22 * 1vw)
  }
}

.interview-ttl-head {
  position: relative
}

.interview-ttl-head .interview-head-inner {
  position: absolute;
  padding: 20px;
  -webkit-transform: translateY(-2rem);
  transform: translateY(-2rem)
}

.interview-ttl-head .interview-head-inner .interview-head-vol {
  margin-bottom: 0;
  padding-right: 1em;
  font-size: 1.375rem
}

.interview-ttl-head .interview-head-inner .interview-head-name {
  padding: 0 10px;
  border-bottom: 1px solid #000;
  font-size: 1.625rem;
  font-weight: 400
}

.interview-ttl-head .interview-head-inner .interview-head-name .interview-head-honorific {
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 400;
  vertical-align: middle
}

.interview-ttl-head .interview-head-inner .interview-head-profile {
  margin-bottom: 0;
  padding: 0 10px
}

.interview-ttl-head .interview-head-leadtxt {
  margin: 50px 0;
  font-size: 1.5rem;
  line-height: 2;
  text-align: center
}

@media screen and (max-width:50em) {
  .interview-ttl-head .interview-head-inner {
    padding: 4%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
  }
  .interview-ttl-head .interview-head-inner .interview-head-vol {
    font-size: calc((100 / 640) * 26 * 1vw)
  }
  .interview-ttl-head .interview-head-inner .interview-head-name {
    padding: 0 1%;
    font-size: calc((100 / 640) * 34 * 1vw)
  }
  .interview-ttl-head .interview-head-inner .interview-head-name .interview-head-honorific {
    font-size: calc((100 / 640) * 24 * 1vw)
  }
  .interview-ttl-head .interview-head-inner .interview-head-profile {
    padding: 0 1%;
    white-space: nowrap
  }
  .interview-ttl-head .interview-head-leadtxt {
    margin: 8% 2%;
    font-size: calc((100 / 640) * 28 * 1vw)
  }
}

.interview-conts-head {
  position: relative;
  text-align: center
}

.interview-conts-head .interview-conts-ttl {
  font-size: 1.875rem;
  font-weight: 400
}

.interview-conts-head .interview-conts-ttl::after, .interview-conts-head .interview-conts-ttl::before {
  display: inline-block;
  width: 73px;
  height: 1px;
  border-bottom: 1px solid #000;
  vertical-align: middle;
  content: ''
}

.interview-conts-head .interview-conts-ttl::before {
  margin-right: 40px
}

.interview-conts-head .interview-conts-ttl::after {
  margin-left: 40px
}

.interview-section-head {
  margin-bottom: 30px
}

.interview-section-head .interview-section-ttl {
  position: relative;
  max-width: 327px;
  padding: .5rem 40px;
  border: 1px solid #000;
  background: #fff;
  font-size: 1.25rem;
  font-weight: 400;
  text-align: center
}

.interview-section-head .interview-section-ttl::after {
  display: block;
  position: absolute;
  right: -30px;
  bottom: 30%;
  width: 40px;
  height: 1px;
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
  border-bottom: 1px solid #000;
  content: ''
}

.interview-section-subttl {
  margin-bottom: 0;
  font-size: 1.625rem;
  font-weight: 400
}

@media screen and (max-width:50em) {
  .interview-conts-head {
    position: relative;
    text-align: center
  }
  .interview-conts-head .interview-conts-ttl {
    font-size: calc((100 / 640) * 38 * 1vw)
  }
  .interview-conts-head .interview-conts-ttl::after, .interview-conts-head .interview-conts-ttl::before {
    width: 14%
  }
  .interview-conts-head .interview-conts-ttl::before {
    margin-right: 4%
  }
  .interview-conts-head .interview-conts-ttl::after {
    margin-left: 4%
  }
  .interview-section-head .interview-section-ttl {
    display: inline;
    max-width: 100%;
    padding: .5rem 6%;
    font-size: calc((100 / 640) * 30 * 1vw);
    white-space: nowrap
  }
  .interview-section-head .interview-section-ttl::after {
    right: 80%;
    bottom: -20%;
    width: 26px;
    -webkit-transform: rotate(70deg);
    transform: rotate(70deg)
  }
  .interview-section-subttl {
    font-size: calc((100 / 640) * 30 * 1vw)
  }
}

.interview-conts-wrap {
  max-width: 1200px;
  margin: 0 auto
}

.interview-section {
  margin-bottom: 80px;
  font-size: 1.125rem
}

@media screen and (max-width:50em) {
  .interview-section {
    margin-bottom: 6%;
    font-size: calc((100 / 640) * 24 * 1vw)
  }
  .interview-section.p-conts-wrap-medium {
    max-width: 100%
  }
  .interview-section.p-conts-wrap-small {
    max-width: 92%
  }
}

.type-noimg .interview-section-txt {
  padding-left: 40px
}

.type-noimg.content01 .interview-section-head {
  -webkit-transform: translateY(-30%);
  transform: translateY(-30%)
}

.type-noimg.content04 .interview-section-ttl::after {
  bottom: -10px;
  left: 30px;
  width: 30px;
  -webkit-transform: rotate(70deg);
  transform: rotate(70deg)
}

.type-colimg-left {
  padding-right: 40px
}

.type-colimg-left .interview-section-inner {
  position: relative;
  padding-top: 30px;
  padding-left: 40px
}

.type-colimg-left .interview-section-head {
  margin-left: -80px
}

.type-colimg-left .interview-section-head.nomgn {
  margin-left: 0
}

.type-colimg-left .interview-section-head:nth-of-type(2) {
  margin-top: 30px
}

.type-colimg-left .interview-section-ttl::after {
  bottom: -10px;
  left: 30px;
  width: 30px;
  -webkit-transform: rotate(70deg);
  transform: rotate(70deg)
}

.type-colimg-right {
  padding-left: 40px
}

.type-colimg-right .interview-section-inner {
  position: relative;
  padding-top: 30px;
  padding-right: 40px
}

.type-colimg-right .interview-section-head {
  margin-right: -80px
}

.type-colimg-right .interview-section-head.nomgn {
  margin-right: 0
}

.type-colimg-right .interview-section-head:nth-of-type(2) {
  margin-top: 30px
}

.type-colimg-right .interview-section-img {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2
}

.type-colimg-right .interview-section-ttl {
  margin-left: auto
}

.type-colimg-right .interview-section-ttl::after {
  bottom: -5px;
  left: 0;
  width: 30px;
  -webkit-transform: rotate(-70deg);
  transform: rotate(-70deg)
}

.type-rowimg-small {
  position: relative;
  max-width: 880px;
  margin: 0 auto 80px;
  padding-right: 40px;
  padding-left: 60px
}

.type-rowimg-small .interview-section-head {
  position: absolute;
  top: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

.type-rowimg-small .interview-section-inner .interview-section-head {
  position: static;
  margin-bottom: 15px
}

.type-rowimg-small.img-left .interview-section-head {
  right: 2%
}

.type-rowimg-small.img-right .interview-section-head {
  left: 2%
}

.type-rowimg-small .interview-section-ttl::after {
  right: 20%;
  bottom: -10px;
  left: auto;
  width: 30px;
  -webkit-transform: rotate(-70deg);
  transform: rotate(-70deg)
}

.type-rowimg-large {
  position: relative;
  padding: 0 80px 0 0
}

.type-rowimg-large .interview-section-head {
  position: absolute;
  top: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

.type-rowimg-large.img-left {
  padding-right: 10%
}

.type-rowimg-large.img-left .interview-section-head {
  right: 2%
}

.type-rowimg-large.img-left .interview-section-head .interview-section-ttl::after {
  right: auto;
  bottom: -10px;
  left: -10px;
  width: 40px;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg)
}

.type-rowimg-large.img-left .interview-section-inner {
  max-width: 1200px;
  padding-right: 10%;
  padding-left: 0
}

.type-rowimg-large.img-right {
  padding-left: 10%
}

.type-rowimg-large.img-right .interview-section-head {
  left: 2%
}

.type-rowimg-large.img-right .interview-section-head .interview-section-ttl::after {
  right: -10px;
  bottom: -10px;
  left: auto;
  width: 40px;
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg)
}

.type-rowimg-large.img-right .interview-section-inner {
  max-width: 1200px;
  padding-left: 0
}

.type-rowimg-large .interview-section-inner {
  max-width: 880px;
  margin: 0 auto;
  padding-left: 80px
}

.type-rowimg-large .interview-section-inner .interview-section-head {
  position: static;
  margin-bottom: 0
}

.type-rowimg-large .interview-section-ttl {
  margin-left: -80px
}

.type-rowimg-large .interview-section-ttl::after {
  right: auto;
  bottom: -10px;
  left: 30px;
  width: 40px;
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg)
}

@media print, screen and (max-width:65em) {
  .type-rowimg-large .interview-section-ttl {
    margin-left: 0
  }
}

@media screen and (max-width:50em) {
  .type-noimg .interview-section-txt {
    padding-left: 0
  }
  .type-noimg.content01 .interview-section-head {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  .type-colimg-left {
    padding-right: 0
  }
  .type-colimg-left .interview-section-inner {
    max-width: 92%;
    margin: 0 auto;
    padding-top: 0;
    padding-left: 0
  }
  .type-colimg-left .interview-section-head {
    margin-bottom: .5rem;
    margin-left: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
  }
  .type-colimg-left .interview-section-head:nth-of-type(2) {
    margin-top: 30px;
    margin-bottom: 30px;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  .type-colimg-right {
    padding-left: 0
  }
  .type-colimg-right .interview-section-inner {
    max-width: 92%;
    margin: 0 auto;
    padding-top: 0;
    padding-right: 0
  }
  .type-colimg-right .interview-section-head {
    margin-right: 0;
    margin-bottom: .5rem;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    text-align: right
  }
  .type-colimg-right .interview-section-ttl::after {
    right: 10px;
    bottom: -10px;
    left: auto;
    width: 30px;
    -webkit-transform: rotate(-70deg);
    transform: rotate(-70deg)
  }
  .type-colimg-right .interview-section-img {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0
  }
  .type-rowimg-small {
    position: relative;
    margin: 0 auto 6%;
    padding-right: 0;
    padding-left: 0
  }
  .type-rowimg-small .interview-section-head {
    position: absolute;
    top: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
  }
  .type-rowimg-small .interview-section-inner {
    max-width: 92%;
    margin: 0 auto
  }
  .type-rowimg-large {
    padding: 0
  }
  .type-rowimg-large .interview-section-inner {
    max-width: 92%;
    margin: 0 auto;
    padding-left: 0
  }
  .type-rowimg-large .interview-section-inner .interview-section-head {
    margin-bottom: 5px;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
  }
  .type-rowimg-large.img-left {
    padding-right: 0
  }
  .type-rowimg-large.img-left .interview-section-head .interview-section-ttl::after {
    width: 30px
  }
  .type-rowimg-large.img-left .interview-section-inner {
    max-width: 92%;
    margin: 0 auto;
    padding-right: 0;
    padding-left: 0
  }
  .type-rowimg-large.img-right {
    padding-left: 0
  }
  .type-rowimg-large.img-right .interview-section-head .interview-section-ttl::after {
    width: 30px
  }
  .type-rowimg-large.img-right .interview-section-inner {
    max-width: 92%;
    margin: 0 auto;
    padding-left: 0
  }
  .type-rowimg-large .interview-section-ttl {
    margin-left: 0
  }
  .type-rowimg-large .interview-section-ttl::after {
    width: 30px
  }
}

.interview-message-wrap {
  position: relative;
  padding: 110px 0 60px
}

.interview-message-wrap .p-conts-wrap-small {
  margin-bottom: 0
}

.interview-message-wrap .interview-message-head {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%)
}

.interview-message-wrap .interview-message-ttl {
  width: 1200px;
  max-width: 100%;
  -webkit-transform: rotate(-15deg) translateY(-100%);
  transform: rotate(-15deg) translateY(-100%);
  font-size: 1.5rem;
  font-weight: 400
}

.interview-message-wrap .interview-message-ttl::after, .interview-message-wrap .interview-message-ttl::before {
  display: block;
  width: 73px;
  height: 1px;
  border-bottom: 1px solid #000;
  content: ''
}

.interview-message-wrap .interview-message-ttl::before {
  margin-bottom: 14px;
  -webkit-transform: rotate(-15deg);
  transform: rotate(-15deg)
}

.interview-message-wrap .interview-message-ttl::after {
  margin-top: 14px;
  -webkit-transform: rotate(15deg);
  transform: rotate(15deg)
}

.interview-message-wrap .interview-message-img {
  padding-left: 100px
}

.interview-message-wrap .interview-message-txt {
  position: relative;
  margin-right: 80px;
  padding: 20px;
  -webkit-transform: translateY(-30%);
  transform: translateY(-30%);
  background: #fff;
  -webkit-box-shadow: 3px 3px 3px rgba(0, 0, 0, .2);
  box-shadow: 3px 3px 3px rgba(0, 0, 0, .2)
}

.interview-message-wrap .interview-message-txt .bg-letter {
  padding: 0 15px;
  background: url(/assets/images/interview/bg-message-line.gif) left bottom repeat;
  font-size: 1.25rem;
  line-height: 59px
}

.interview-message-wrap .interview-message-txt .interview-notice {
  position: absolute;
  bottom: -3.5rem;
  left: 0;
  font-size: .812rem
}

@media print, screen and (max-width:65em) {
  .interview-message-wrap .interview-message-head {
    left: 2%;
    -webkit-transform: translate(0, -70%);
    transform: translate(0, -70%)
  }
}

@media screen and (max-width:50em) {
  .interview-message-wrap {
    margin-top: 14%;
    margin-bottom: 10%;
    padding: 0 0 4%
  }
  .interview-message-wrap .p-conts-wrap-small {
    max-width: 100%;
    margin-bottom: 0
  }
  .interview-message-wrap .interview-message-head {
    position: static;
    margin-left: 2%;
    -webkit-transform: translate(0, -60%);
    transform: translate(0, -60%)
  }
  .interview-message-wrap .interview-message-ttl {
    width: auto;
    max-width: 100%;
    -webkit-transform: rotate(-10deg) translateY(-10%);
    transform: rotate(-10deg) translateY(-10%);
    font-size: calc((100 / 640) * 30 * 1vw)
  }
  .interview-message-wrap .interview-message-ttl::after, .interview-message-wrap .interview-message-ttl::before {
    width: 45px
  }
  .interview-message-wrap .interview-message-ttl::before {
    margin-bottom: 14px
  }
  .interview-message-wrap .interview-message-ttl::after {
    margin-top: 14px
  }
  .interview-message-wrap .interview-message-img {
    padding-left: 0
  }
  .interview-message-wrap .interview-message-txt {
    margin-right: 10%;
    margin-left: 4%;
    -webkit-transform: translateY(-20%);
    transform: translateY(-20%);
    background: #fff
  }
  .interview-message-wrap .interview-message-txt .bg-letter {
    padding: 0 4%;
    background: url(/assets/images/interview/bg-message-line-sp.gif) left bottom repeat;
    font-size: calc((100 / 640) * 26 * 1vw);
    line-height: 29px
  }
}

.interview-vol01-wrap .content06 .child-txt {
  padding-left: 40px
}

.interview-vol02-wrap .content06 .interview-section-ttl::after {
  bottom: -10px;
  left: 30px;
  width: 30px;
  -webkit-transform: rotate(70deg);
  transform: rotate(70deg)
}

.interview-vol02-wrap .content07 {
  padding-top: 40px;
  padding-left: 0
}

.interview-vol02-wrap .content07 .interview-section-img {
  padding-right: 80px
}

.interview-vol02-wrap .content07 .interview-section-ttl::after {
  bottom: -10px;
  left: 30px;
  width: 30px
}

.interview-vol02-wrap .interview-message-wrap .interview-message-img {
  padding-right: 100px;
  padding-left: 0
}

.interview-vol02-wrap .interview-message-wrap .interview-message-txt {
  margin-right: 0;
  margin-left: 80px
}

@media screen and (max-width:50em) {
  .interview-vol02-wrap .content07 {
    padding-top: 0
  }
  .interview-vol02-wrap .content07 .interview-section-img {
    padding-right: 0
  }
  .interview-vol02-wrap .interview-message-wrap .interview-message-img {
    padding-right: 0
  }
  .interview-vol02-wrap .interview-message-wrap .interview-message-txt {
    margin-right: 4%;
    margin-left: 10%
  }
}

.interview-vol03-wrap .content06 .child-txt {
  padding-left: 40px
}

.interview-vol03-wrap .content07 {
  padding-left: 0
}

.interview-vol03-wrap .content07 .interview-section-img {
  padding-right: 80px
}

.interview-vol03-wrap .job-img {
  position: absolute;
  right: -20px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

@media screen and (max-width:50em) {
  .interview-vol03-wrap .content06 .child-txt {
    padding-left: 0
  }
  .interview-vol03-wrap .job-img {
    position: static;
    right: 0;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  .interview-vol03-wrap .content07 {
    padding-top: 30px
  }
  .interview-vol03-wrap .content07 .interview-section-img {
    padding-right: 0
  }
}

.interview-vol04-wrap .content04 .change-txt {
  padding-right: 20px
}

.interview-vol04-wrap .content06 {
  margin-bottom: 160px;
  padding-right: 0;
  padding-left: 0
}

.interview-vol04-wrap .content06 .interview-section-head {
  margin-top: 120px
}

.interview-vol04-wrap .content06 .interview-section-head .interview-section-ttl {
  width: 327px
}

.interview-vol04-wrap .content06 .interview-section-head .interview-section-ttl::after {
  bottom: -10px;
  left: 30px;
  width: 30px
}

.interview-vol04-wrap .content06 .interview-section-img {
  padding-right: 80px
}

.interview-vol04-wrap .child-img {
  position: absolute;
  right: -20px;
  -webkit-transform: translateY(-30%);
  transform: translateY(-30%)
}

.interview-vol04-wrap .interview-message-wrap .interview-message-img {
  padding-left: 0
}

.interview-vol04-wrap .interview-message-wrap .interview-message-txt {
  margin-right: 4%;
  margin-left: 10%
}

@media screen and (max-width:50em) {
  .interview-vol04-wrap .content04 .change-txt {
    padding-right: 0
  }
  .interview-vol04-wrap .content06 {
    max-width: 100%;
    margin-bottom: 40px
  }
  .interview-vol04-wrap .content06 .interview-section-head {
    margin-top: 0
  }
  .interview-vol04-wrap .content06 .interview-section-head .interview-section-ttl {
    width: auto
  }
  .interview-vol04-wrap .content06 .interview-section-img {
    padding-right: 0
  }
  .interview-vol04-wrap .content06 .child-wrap {
    max-width: 92%;
    margin: 0 auto
  }
  .interview-vol04-wrap .child-img {
    right: 0;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  .interview-vol04-wrap .interview-vol02-wrap .interview-message-wrap .interview-message-img {
    padding-right: 0
  }
  .interview-vol04-wrap .interview-vol02-wrap .interview-message-wrap .interview-message-txt {
    margin-right: 4%;
    margin-left: 10%
  }
}

.interview-vol05-wrap .content06 {
  padding-right: 0;
  padding-left: 160px
}

.interview-vol05-wrap .content06 .interview-section-head {
  margin-top: 120px
}

.interview-vol05-wrap .content06 .interview-section-head .interview-section-ttl {
  width: 327px
}

.interview-vol05-wrap .content06 .interview-section-head .interview-section-ttl::after {
  bottom: -10px;
  left: 30px;
  width: 30px;
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg)
}

.interview-vol05-wrap .content07 {
  padding-left: 0
}

.interview-vol05-wrap .content07 .interview-section-img {
  padding-right: 40px
}

.interview-vol05-wrap .job-img {
  position: absolute;
  right: -20px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

@media screen and (max-width:50em) {
  .interview-vol05-wrap .content06 {
    padding-left: 0
  }
  .interview-vol05-wrap .content06 .interview-section-head {
    margin-top: 0
  }
  .interview-vol05-wrap .content06 .interview-section-head .interview-section-ttl {
    width: auto
  }
  .interview-vol05-wrap .content06 .child-wrap {
    max-width: 92%;
    margin: 0 auto
  }
  .interview-vol05-wrap .content07 .interview-section-img {
    padding-right: 0
  }
  .interview-vol05-wrap .job-img {
    position: static;
    right: 0;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

.p-news-conts dd, .p-news-conts dt {
  display: inline-block
}

.p-news-conts {
  margin-bottom: 8%
}

.p-news-time {
  max-width: 20%;
  font-size: .875rem;
  vertical-align: top
}

.p-news-ttl {
  max-width: 80%;
  margin: 0 0 0 6%
}

.p-news-ttl a {
  border-bottom: 1px solid #000
}

.p-news-single {
  max-width: 578px;
  margin: 0 auto
}

.p-news-single-date {
  display: inline-block;
  margin-right: 2%
}

.p-news-single-ttl {
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 500
}

.p-news-single-ttl-wrap {
  text-align: center
}

@media screen and (max-width:40em) {
  .p-news-single {
    max-width: 94%;
    margin: auto
  }
  .p-news-time {
    max-width: 30%
  }
  .p-news-ttl {
    max-width: 64%
  }
}

.pdf-line-up {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}