@charset "UTF-8";
*, *:before, *:after {
  box-sizing: border-box; }

/* 最終的に削除 */
.full-img {
  width: 100%;
  height: 100%; }

html {
  text-size-adjust: 100%;
  font-size: 62.5%; }

body {
  font-family: 'Noto Sans', sans-serif;
  color: #000;
  background: #fff;
  font-size: 1.6rem; }

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td,
figure {
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%; }

fieldset,
img {
  border: 0; }

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal; }

ol,
ul {
  list-style: none; }

caption,
th {
  text-align: left; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal; }

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

abbr,
acronym {
  border: 0;
  font-variant: normal; }

sup {
  vertical-align: text-top; }

sub {
  vertical-align: text-bottom; }

input,
textarea,
select,
button {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  font-size: 100%;
  border-radius: 0;
  border: none;
  appearance: none;
  -webkit-appearance: none;
  background-color: inherit; }

input,
textarea,
select {
  font-size: 1.25vw; }

textarea {
  resize: vertical;
  display: block; }

button {
  padding: 0;
  cursor: pointer; }

legend {
  color: #000; }

main {
  display: block; }

a {
  text-decoration: none;
  color: inherit;
  transition: 0.3s ease; }
  a:hover {
    opacity: .7; }

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

svg {
  display: block; }

video {
  width: 100%;
  height: auto;
  vertical-align: bottom; }

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  box-sizing: border-box; }

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

br.pc {
  display: block; }
  @media screen and (max-width: 767px) {
    br.pc {
      display: none; } }
br.sp {
  display: none; }
  @media screen and (max-width: 767px) {
    br.sp {
      display: block; } }

.pc {
  display: block; }
  @media screen and (max-width: 767px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 767px) {
    .sp {
      display: block; } }

.hidden {
  display: block;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap; }

#wrapper {
  width: 100%;
  overflow: hidden;
  position: relative; }

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

.move {
  transition: all 1s ease;
  opacity: 0;
  transform: translate(0, 60px);
  -webkit-transform: translate(0, 60px); }

.move-in {
  opacity: 1;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0); }

.fade {
  transition: all 1s ease;
  opacity: 0;
  transform: scale(0.95);
  -webkit-transform: scale(0.95); }

.fade-in {
  opacity: 1.0;
  transform: scale(1);
  -webkit-transform: scale(1); }

/*------------------------------
HEADER
------------------------------*/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 160px;
  z-index: 10000;
  background-color: #fff; }
  @media screen and (max-width: 1100px) {
    header {
      height: 12.5vw; } }
  @media screen and (max-width: 767px) {
    header {
      height: 18.75vw; } }
  header h1 {
    position: absolute;
    top: 8px;
    left: 30px; }
    @media screen and (max-width: 1100px) {
      header h1 {
        top: 0.625vw;
        left: 2.34375vw; } }
    @media screen and (max-width: 767px) {
      header h1 {
        top: 1.5625vw;
        left: 3.125vw; } }
    header h1 a {
      display: block;
      background: url(../img/idpic/logo.png) no-repeat center/contain;
      width: 156px;
      height: 134px; }
      @media screen and (max-width: 1100px) {
        header h1 a {
          width: 12.1875vw;
          height: 10.46875vw; } }
      @media screen and (max-width: 767px) {
        header h1 a {
          width: 18.125vw;
          height: 15.625vw; } }
  header h1.honten a {
    background: url(../img/idpic/logo02.png) no-repeat center/contain; }
  @media screen and (max-width: 767px) {
    header .sp-img.sns-insta {
      position: absolute;
      top: 20px;
      right: 90px;
      background: url(../img/idpic/insta-icn.png) no-repeat left/30px;
      padding-left: 40px; } }
  header .header-meta {
    position: absolute;
    right: 0;
    top: 0; }
    header .header-meta .header-meta-top {
      display: flex;
      align-items: end; }
      header .header-meta .header-meta-top p {
        font-size: 13px;
        color: #333;
        line-height: 1.6; }
        @media screen and (max-width: 1100px) {
          header .header-meta .header-meta-top p {
            font-size: 1.015625vw; } }
        @media screen and (max-width: 767px) {
          header .header-meta .header-meta-top p {
            display: none;
            font-size: 1.875vw; } }
      header .header-meta .header-meta-top ul {
        display: flex;
        padding: 0 0 0 20px; }
        @media screen and (max-width: 1100px) {
          header .header-meta .header-meta-top ul {
            padding: 0 0 0 1.5625vw; } }
        @media screen and (max-width: 767px) {
          header .header-meta .header-meta-top ul {
            display: none; } }
        header .header-meta .header-meta-top ul li {
          margin: 0 0 0 1px; }
          @media screen and (max-width: 1100px) {
            header .header-meta .header-meta-top ul li {
              margin: 0 0 0 0.078125vw; } }
          header .header-meta .header-meta-top ul li a {
            display: block;
            color: #fff;
            padding: 16px 0;
            text-align: center;
            font-size: 15px;
            font-weight: bold; }
            @media screen and (max-width: 1100px) {
              header .header-meta .header-meta-top ul li a {
                padding: 1.25vw 0;
                font-size: 1.171875vw; } }
          header .header-meta .header-meta-top ul li.line a {
            width: 150px;
            background-color: #06c755; }
            @media screen and (max-width: 1100px) {
              header .header-meta .header-meta-top ul li.line a {
                width: 11.71875vw; } }
          header .header-meta .header-meta-top ul li.contact a {
            width: 180px;
            background-color: #239ab0; }
            @media screen and (max-width: 1100px) {
              header .header-meta .header-meta-top ul li.contact a {
                width: 14.0625vw; } }
          header .header-meta .header-meta-top ul li.reserved a {
            width: 120px;
            background-color: #f35249; }
            @media screen and (max-width: 1100px) {
              header .header-meta .header-meta-top ul li.reserved a {
                width: 9.375vw; } }
    header .header-meta .header-tel {
      padding: 20px 20px 20px 0;
      display: flex;
      justify-content: end; }
      @media screen and (max-width: 1100px) {
        header .header-meta .header-tel {
          padding: 1.5625vw 1.5625vw 1.5625vw 0; } }
      @media screen and (max-width: 767px) {
        header .header-meta .header-tel {
          display: none; } }
      header .header-meta .header-tel .tel {
        background: url(../img/idpic/header-tel.png) no-repeat center/contain;
        width: 214px;
        height: 25px; }
        @media screen and (max-width: 1100px) {
          header .header-meta .header-tel .tel {
            width: 16.71875vw;
            height: 1.953125vw; } }
        header .header-meta .header-tel .tel a, header .header-meta .header-tel .tel span {
          width: 100%;
          height: 100%;
          display: inline-block; }
      header .header-meta .header-tel .tel02 {
        background: url(../img/idpic/header-tel02.png) no-repeat center/contain; }
    header .header-meta .header-navi {
      display: flex;
      justify-content: end;
      padding: 0 20px 0 0; }
      @media screen and (max-width: 1100px) {
        header .header-meta .header-navi {
          padding: 0 1.5625vw 0 0; } }
      @media screen and (max-width: 767px) {
        header .header-meta .header-navi {
          display: none;
          position: fixed;
          top: 18.75vw;
          left: 0;
          width: 100%;
          background-color: #fff; } }
      header .header-meta .header-navi ul {
        display: flex;
        justify-content: end; }
        @media screen and (max-width: 767px) {
          header .header-meta .header-navi ul {
            display: block;
            border-top: solid #f1f1f1 1px; } }
        header .header-meta .header-navi ul li {
          font-size: 15px;
          margin: 0 0 0 1em;
          padding: 0 0 0 1em;
          border-left: 1px solid #333; }
          @media screen and (max-width: 1100px) {
            header .header-meta .header-navi ul li {
              font-size: 1.171875vw; } }
          @media screen and (max-width: 767px) {
            header .header-meta .header-navi ul li {
              font-size: 3.75vw;
              margin: 0;
              border-bottom: solid #f1f1f1 1px; } }
          @media screen and (max-width: 767px) {
            header .header-meta .header-navi ul li a {
              display: block;
              padding: 3.125vw;
              text-align: center; } }

#sp-menu {
  display: none; }
  @media screen and (max-width: 767px) {
    #sp-menu {
      display: block;
      position: fixed;
      top: 0;
      right: 0;
      width: 18.75vw;
      height: 18.75vw;
      cursor: pointer; } }
  #sp-menu span {
    position: absolute;
    left: 4.6875vw;
    width: 9.375vw;
    height: 0.9375vw;
    background-color: #046cbd;
    transition: .2s ease; }
    #sp-menu span:nth-child(1) {
      top: 6.25vw; }
    #sp-menu span:nth-child(2) {
      top: 8.90625vw; }
    #sp-menu span:nth-child(3) {
      bottom: 6.25vw; }
  #sp-menu.active span:nth-child(1) {
    transform: translate(0, 2.65625vw) rotate(45deg); }
  #sp-menu.active span:nth-child(2) {
    opacity: 0; }
  #sp-menu.active span:nth-child(3) {
    transform: translate(0, -2.65625vw) rotate(-45deg); }

/*------------------------------
FOOTER
------------------------------*/
#float {
  position: fixed;
  bottom: 20%;
  right: 0;
  z-index: 10000; }
  @media screen and (max-width: 767px) {
    #float {
      display: none; } }
  #float ul li {
    margin: 0 0 1px;
    width: 50px; }
    @media screen and (max-width: 1100px) {
      #float ul li {
        margin: 0 0 0.078125vw;
        width: 3.90625vw; } }
    #float ul li a {
      display: block; }
    #float ul li img {
      width: 100%;
      height: auto; }

#float-sp {
  display: none; }
  @media screen and (max-width: 767px) {
    #float-sp {
      display: block;
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 12.5vw;
      z-index: 9999;
      background-color: #046cbd; } }
  #float-sp ul {
    display: flex; }
    #float-sp ul li {
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: center;
      height: 12.5vw; }
      #float-sp ul li a {
        display: block;
        width: 100%;
        color: #fff;
        font-size: 3.75vw;
        font-weight: bold;
        line-height: 1; }
      #float-sp ul li.tel {
        width: 20vw;
        background: url(../img/idpic/sp-tel.png) no-repeat center/auto 3.75vw; }
      #float-sp ul li.contact {
        width: 35vw;
        background-color: #239ab0; }
      #float-sp ul li.reserved {
        width: 45vw;
        background-color: #f35249; }
      #float-sp ul li.sns {
        width: 20vw;
        display: flex;
        align-items: center;
        padding: 3.125vw 3.125vw 3.125vw 0; }
        #float-sp ul li.sns a {
          margin: 0 0 0 2.5vw; }
          #float-sp ul li.sns a img {
            width: auto;
            height: 6.25vw; }

footer {
  position: relative;
  background-color: #046cbd;
  padding: 60px 0 100px;
  text-align: center; }
  @media screen and (max-width: 1100px) {
    footer {
      padding: 4.6875vw 0 7.8125vw; } }
  @media screen and (max-width: 767px) {
    footer {
      padding: 6.25vw 0 18.75vw; } }
  footer .pagetop {
    position: absolute;
    top: 70px;
    right: 30px; }
    @media screen and (max-width: 1100px) {
      footer .pagetop {
        top: 5.46875vw;
        right: 2.34375vw; } }
    @media screen and (max-width: 767px) {
      footer .pagetop {
        top: 4.6875vw;
        right: 3.125vw; } }
    footer .pagetop img {
      width: 70px;
      height: auto; }
      @media screen and (max-width: 1100px) {
        footer .pagetop img {
          width: 5.46875vw; } }
      @media screen and (max-width: 767px) {
        footer .pagetop img {
          width: 9.375vw; } }
  footer ul {
    margin: 0 0 40px;
    display: flex;
    justify-content: center; }
    @media screen and (max-width: 1100px) {
      footer ul {
        margin: 0 0 3.125vw; } }
    @media screen and (max-width: 767px) {
      footer ul {
        display: none; } }
    footer ul li {
      font-size: 15px;
      margin: 0 .5em; }
      @media screen and (max-width: 1100px) {
        footer ul li {
          font-size: 1.171875vw; } }
      @media screen and (max-width: 767px) {
        footer ul li {
          font-size: 3.75vw; } }
      footer ul li a {
        color: #fff; }
  footer small {
    display: block;
    font-size: 12px;
    color: #fff; }
    @media screen and (max-width: 1100px) {
      footer small {
        font-size: 0.9375vw; } }

/*------------------------------
MAIN
------------------------------*/
main {
  position: relative;
  padding: 160px 0 0; }
  @media screen and (max-width: 1100px) {
    main {
      padding: 12.5vw 0 0; } }
  @media screen and (max-width: 767px) {
    main {
      padding: 18.75vw 0 0; } }

#mainvisual {
  position: relative;
  width: 100%;
  height: 740px;
  margin: 0 0 130px; }
  @media screen and (max-width: 1100px) {
    #mainvisual {
      height: 57.8125vw;
      margin: 0 0 10.15625vw; } }
  @media screen and (max-width: 767px) {
    #mainvisual {
      height: 100vw; } }
  #mainvisual .mainvisual-copy {
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 740px;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 1100px) {
      #mainvisual .mainvisual-copy {
        height: 57.8125vw; } }
    @media screen and (max-width: 767px) {
      #mainvisual .mainvisual-copy {
        height: 100vw;
        align-items: end; } }
    #mainvisual .mainvisual-copy h1 {
      padding: 0 0 0 80px; }
      @media screen and (max-width: 1100px) {
        #mainvisual .mainvisual-copy h1 {
          padding: 0 0 0 6.25vw; } }
      @media screen and (max-width: 767px) {
        #mainvisual .mainvisual-copy h1 {
          padding: 0 0 6.25vw 0; } }
      #mainvisual .mainvisual-copy h1 img {
        width: 720px;
        height: auto; }
        @media screen and (max-width: 1100px) {
          #mainvisual .mainvisual-copy h1 img {
            width: 56.25vw; } }
        @media screen and (max-width: 767px) {
          #mainvisual .mainvisual-copy h1 img {
            width: 96.875vw; } }
  #mainvisual .mainvisual-bg {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 740px;
    overflow: hidden; }
    @media screen and (max-width: 1100px) {
      #mainvisual .mainvisual-bg {
        height: 57.8125vw; } }
    @media screen and (max-width: 767px) {
      #mainvisual .mainvisual-bg {
        height: 100vw; } }
    #mainvisual .mainvisual-bg figure {
      width: 100%;
      height: 740px;
      overflow: hidden; }
      @media screen and (max-width: 1100px) {
        #mainvisual .mainvisual-bg figure {
          height: 57.8125vw; } }
      @media screen and (max-width: 767px) {
        #mainvisual .mainvisual-bg figure {
          height: 100vw; } }
      #mainvisual .mainvisual-bg figure img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
        @media screen and (max-width: 767px) {
          #mainvisual .mainvisual-bg figure img {
            object-position: 70% 100%; } }
  #mainvisual:before {
    content: "";
    position: absolute;
    bottom: -170px;
    left: 0;
    background: url(../img/idpic/sakura-left.png) no-repeat center/contain;
    width: 429px;
    height: 404px;
    z-index: 3; }
    @media screen and (max-width: 1100px) {
      #mainvisual:before {
        bottom: -13.28125vw;
        width: 33.515625vw;
        height: 31.5625vw; } }
  #mainvisual:after {
    content: "";
    position: absolute;
    bottom: -110px;
    right: 0;
    background: url(../img/idpic/sakura-right.png) no-repeat center/contain;
    width: 438px;
    height: 380px;
    z-index: 3; }
    @media screen and (max-width: 1100px) {
      #mainvisual:after {
        bottom: -8.59375vw;
        width: 34.21875vw;
        height: 29.6875vw; } }

.content-section .title {
  color: #414344;
  text-align: center;
  padding: 115px 0 0;
  background-position: center top;
  background-repeat: no-repeat;
  margin: 0 0 60px; }
  @media screen and (max-width: 1100px) {
    .content-section .title {
      padding: 8.984375vw 0 0;
      margin: 0 0 4.6875vw; } }
  @media screen and (max-width: 767px) {
    .content-section .title {
      padding: 15.625vw 0 0;
      margin: 0 0 12.5vw; } }
  .content-section .title h2 {
    font-size: 24px;
    font-weight: bold;
    padding: 0 0 10px;
    position: relative; }
    @media screen and (max-width: 1100px) {
      .content-section .title h2 {
        font-size: 1.875vw;
        padding: 0 0 0.78125vw; } }
    @media screen and (max-width: 767px) {
      .content-section .title h2 {
        font-size: 7.5vw;
        padding: 0 0 3.125vw; } }
    .content-section .title h2:after {
      content: "";
      width: 50px;
      height: 2px;
      background-color: #414344;
      position: absolute;
      bottom: 0;
      left: 50%;
      margin: 0 0 0 -25px; }
      @media screen and (max-width: 1100px) {
        .content-section .title h2:after {
          width: 3.90625vw;
          height: 0.15625vw;
          margin: 0 0 0 -1.953125vw; } }
      @media screen and (max-width: 767px) {
        .content-section .title h2:after {
          width: 15.625vw;
          height: 0.625vw;
          margin: 0 0 0 -7.8125vw; } }
.content-section .body {
  color: #414344; }

#photo-plan {
  margin: 0 0 100px; }
  @media screen and (max-width: 1100px) {
    #photo-plan {
      margin: 0 0 7.8125vw; } }
  @media screen and (max-width: 767px) {
    #photo-plan {
      margin: 0 0 18.75vw; } }
  #photo-plan .title {
    background-image: url(../img/idpic/title-bg01.png);
    background-size: 540px auto; }
    @media screen and (max-width: 1100px) {
      #photo-plan .title {
        background-size: 42.1875vw auto; } }
    @media screen and (max-width: 767px) {
      #photo-plan .title {
        background-size: 84.375vw auto; } }
  #photo-plan .planlist {
    padding: 40px;
    margin-bottom: 60px;
    position: relative;
    z-index: 99; }
    @media screen and (max-width: 767px) {
      #photo-plan .planlist {
        padding: 10px;
        margin-inline: auto;
        overflow-x: auto;
        /* tableタグのはみ出た要素を隠す */
        white-space: nowrap;
        /* テキストの折り返しなし */
        width: 300px; } }
    @media screen and (max-width: 767px) {
      #photo-plan .planlist table {
        width: 500px;
        /* tableタグの親要素より広く */ } }
    #photo-plan .planlist table tr {
      background: #eee; }
    #photo-plan .planlist table tr:nth-child(odd) {
      background: #fff; }
    #photo-plan .planlist table th {
      font-weight: bold;
      padding: 10px; }
      @media screen and (max-width: 767px) {
        #photo-plan .planlist table th {
          width: 25%; } }
    #photo-plan .planlist table td {
      border-left: 2px dotted #eee;
      padding: 10px;
      text-align: center; }
  #photo-plan .body .content {
    margin: 0 0 30px; }
    @media screen and (max-width: 1100px) {
      #photo-plan .body .content {
        margin: 0 0 2.34375vw; } }
    @media screen and (max-width: 767px) {
      #photo-plan .body .content {
        margin: 0 3.125vw 6.25vw; } }
    #photo-plan .body .content .box {
      padding: 45px 50px; }
      @media screen and (max-width: 1100px) {
        #photo-plan .body .content .box {
          padding: 3.515625vw 3.90625vw; } }
      @media screen and (max-width: 767px) {
        #photo-plan .body .content .box {
          padding: 4.6875vw 3.125vw; } }
      #photo-plan .body .content .box .image {
        width: 510px;
        display: flex;
        justify-content: space-between; }
        @media screen and (max-width: 1100px) {
          #photo-plan .body .content .box .image {
            width: 39.84375vw; } }
        @media screen and (max-width: 767px) {
          #photo-plan .body .content .box .image {
            width: auto;
            padding: 0 0 4.6875vw; } }
        #photo-plan .body .content .box .image figure {
          width: 47%; }
      #photo-plan .body .content .box .text {
        width: 450px; }
        @media screen and (max-width: 1100px) {
          #photo-plan .body .content .box .text {
            width: 35.15625vw; } }
        @media screen and (max-width: 767px) {
          #photo-plan .body .content .box .text {
            width: auto; } }
        #photo-plan .body .content .box .text h3 {
          font-size: 30px;
          margin: 0 0 20px; }
          @media screen and (max-width: 1100px) {
            #photo-plan .body .content .box .text h3 {
              font-size: 2.34375vw;
              margin: 0 0 1.5625vw; } }
          @media screen and (max-width: 767px) {
            #photo-plan .body .content .box .text h3 {
              font-size: 6.25vw;
              margin: 0 0 3.125vw;
              text-align: center; } }
        #photo-plan .body .content .box .text p {
          font-size: 18px;
          line-height: 2; }
          @media screen and (max-width: 1100px) {
            #photo-plan .body .content .box .text p {
              font-size: 1.40625vw; } }
          @media screen and (max-width: 767px) {
            #photo-plan .body .content .box .text p {
              font-size: 5vw; } }
        #photo-plan .body .content .box .text .plan {
          align-items: center;
          padding: 15px 0 25px; }
          @media screen and (max-width: 1100px) {
            #photo-plan .body .content .box .text .plan {
              padding: 1.171875vw 0 1.953125vw; } }
          @media screen and (max-width: 767px) {
            #photo-plan .body .content .box .text .plan {
              padding: 4.6875vw 0 7.8125vw; } }
          #photo-plan .body .content .box .text .plan span {
            font-size: 16px;
            padding: 4px 12px;
            margin: 0 1em 0.5em 0; }
            @media screen and (max-width: 1100px) {
              #photo-plan .body .content .box .text .plan span {
                font-size: 1.25vw;
                padding: 0.3125vw 0.9375vw; } }
            @media screen and (max-width: 767px) {
              #photo-plan .body .content .box .text .plan span {
                font-size: 4.375vw;
                padding: 1.25vw 3.75vw; } }
          #photo-plan .body .content .box .text .plan strong {
            font-size: 30px; }
            @media screen and (max-width: 1100px) {
              #photo-plan .body .content .box .text .plan strong {
                font-size: 2.34375vw; } }
            @media screen and (max-width: 767px) {
              #photo-plan .body .content .box .text .plan strong {
                font-size: 6.25vw; } }
  #photo-plan .body .content-row {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      #photo-plan .body .content-row {
        display: block;
        padding: 0 3.125vw; } }
    #photo-plan .body .content-row .box {
      padding: 25px;
      width: 48.5%; }
      @media screen and (max-width: 1100px) {
        #photo-plan .body .content-row .box {
          padding: 1.953125vw; } }
      @media screen and (max-width: 767px) {
        #photo-plan .body .content-row .box {
          padding: 4.6875vw 3.125vw;
          width: auto;
          margin: 0 0 6.25vw; } }
      #photo-plan .body .content-row .box .image {
        width: 48%; }
        @media screen and (max-width: 767px) {
          #photo-plan .body .content-row .box .image {
            padding: 0 0 4.6875vw;
            width: auto;
            text-align: center;
            display: flex;
            justify-content: space-between; } }
        @media screen and (max-width: 767px) {
          #photo-plan .body .content-row .box .image figure {
            padding: 0 0 4.6875vw;
            width: 47%;
            text-align: center; } }
      #photo-plan .body .content-row .box .text {
        width: 48%; }
        @media screen and (max-width: 767px) {
          #photo-plan .body .content-row .box .text {
            width: auto; } }
        #photo-plan .body .content-row .box .text h3 {
          font-size: 24px;
          margin: 0 0 15px; }
          @media screen and (max-width: 1100px) {
            #photo-plan .body .content-row .box .text h3 {
              font-size: 1.875vw;
              margin: 0 0 1.171875vw; } }
          @media screen and (max-width: 767px) {
            #photo-plan .body .content-row .box .text h3 {
              font-size: 5.625vw;
              margin: 0 0 4.6875vw;
              text-align: center; } }
        #photo-plan .body .content-row .box .text p {
          font-size: 15px;
          line-height: 2; }
          @media screen and (max-width: 1100px) {
            #photo-plan .body .content-row .box .text p {
              font-size: 1.171875vw; } }
          @media screen and (max-width: 767px) {
            #photo-plan .body .content-row .box .text p {
              font-size: 4.0625vw; } }
        #photo-plan .body .content-row .box .text .plan {
          padding: 10px 0 20px; }
          @media screen and (max-width: 1100px) {
            #photo-plan .body .content-row .box .text .plan {
              padding: 0.78125vw 0 1.5625vw; } }
          @media screen and (max-width: 767px) {
            #photo-plan .body .content-row .box .text .plan {
              padding: 3.125vw 0 6.25vw; } }
          #photo-plan .body .content-row .box .text .plan span {
            font-size: 14px;
            padding: 4px 12px;
            margin: 0 0 4px; }
            @media screen and (max-width: 1100px) {
              #photo-plan .body .content-row .box .text .plan span {
                font-size: 1.09375vw;
                padding: 0.3125vw 0.9375vw;
                margin: 0 0 0.3125vw; } }
            @media screen and (max-width: 767px) {
              #photo-plan .body .content-row .box .text .plan span {
                font-size: 3.75vw;
                padding: 1.25vw 3.75vw;
                margin: 0 1em 0 0; } }
          #photo-plan .body .content-row .box .text .plan strong {
            font-size: 23px; }
            @media screen and (max-width: 1100px) {
              #photo-plan .body .content-row .box .text .plan strong {
                font-size: 2.34375vw; } }
            @media screen and (max-width: 767px) {
              #photo-plan .body .content-row .box .text .plan strong {
                font-size: 6.25vw; } }
  #photo-plan .body .box {
    border: solid #ccc 1px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    /*flex-direction:row-reverse;*/ }
    @media screen and (max-width: 1100px) {
      #photo-plan .body .box {
        border: solid #ccc 0.078125vw; } }
    @media screen and (max-width: 767px) {
      #photo-plan .body .box {
        display: block;
        border: solid #ccc 0.3125vw; } }
    #photo-plan .body .box .text h3 {
      color: #046cbd;
      font-weight: bold;
      letter-spacing: .05em; }
    #photo-plan .body .box .text .plan span {
      display: inline-block;
      color: #046cbd;
      border: solid #046cbd 2px;
      border-radius: 2px;
      font-weight: bold; }
      @media screen and (max-width: 1100px) {
        #photo-plan .body .box .text .plan span {
          border: solid #046cbd 0.15625vw;
          border-radius: 0.15625vw; } }
      @media screen and (max-width: 767px) {
        #photo-plan .body .box .text .plan span {
          border: solid #046cbd 0.625vw;
          border-radius: 0.625vw; } }
    #photo-plan .body .box .text .plan strong {
      display: inline-block;
      color: #ff2e87;
      font-weight: bold; }
    @media screen and (max-width: 767px) {
      #photo-plan .body .box .text .more {
        text-align: center; } }
    #photo-plan .body .box .text .more a {
      display: inline-block;
      color: #fff;
      font-size: 15px;
      text-align: center;
      letter-spacing: .1em;
      padding: 10px 20px;
      border-radius: 40px;
      width: 200px;
      background-color: #333; }
      @media screen and (max-width: 1100px) {
        #photo-plan .body .box .text .more a {
          font-size: 1.25vw;
          padding: 1.171875vw 1.5625vw;
          border-radius: 3.125vw;
          width: 17.96875vw; } }
      @media screen and (max-width: 767px) {
        #photo-plan .body .box .text .more a {
          font-size: 4.375vw;
          padding: 3.125vw 6.25vw;
          border-radius: 12.5vw;
          width: 71.875vw; } }
      #photo-plan .body .box .text .more a span {
        display: block;
        background: url(../img/idpic/btn-arrow.png) no-repeat center right/8px auto; }
        @media screen and (max-width: 1100px) {
          #photo-plan .body .box .text .more a span {
            background: url(../img/idpic/btn-arrow.png) no-repeat center right/0.625vw auto; } }
        @media screen and (max-width: 767px) {
          #photo-plan .body .box .text .more a span {
            background: url(../img/idpic/btn-arrow.png) no-repeat center right/2.5vw auto; } }

#strong,
#page-case {
  padding: 40px 0 60px;
  background-color: #e5f3fe; }
  @media screen and (max-width: 1100px) {
    #strong,
    #page-case {
      padding: 3.125vw 0 4.6875vw; } }
  @media screen and (max-width: 767px) {
    #strong,
    #page-case {
      padding: 6.25vw 3.125vw 6.25vw; } }
  #strong .title,
  #page-case .title {
    background-image: url(../img/idpic/title-bg02.png);
    background-size: 343px auto; }
    @media screen and (max-width: 1100px) {
      #strong .title,
      #page-case .title {
        background-size: 26.796875vw auto; } }
    @media screen and (max-width: 767px) {
      #strong .title,
      #page-case .title {
        background-size: 53.59375vw auto; } }
  #strong .body,
  #page-case .body {
    position: relative; }
    #strong .body .arrows,
    #page-case .body .arrows {
      position: absolute;
      top: -80px;
      right: 0;
      display: flex; }
      @media screen and (max-width: 1100px) {
        #strong .body .arrows,
        #page-case .body .arrows {
          top: -6.25vw; } }
      @media screen and (max-width: 767px) {
        #strong .body .arrows,
        #page-case .body .arrows {
          top: -12.5vw; } }
      #strong .body .arrows .slick-arrow,
      #page-case .body .arrows .slick-arrow {
        cursor: pointer;
        transition: 0.3s ease; }
        #strong .body .arrows .slick-arrow:hover,
        #page-case .body .arrows .slick-arrow:hover {
          opacity: .7; }
      #strong .body .arrows .prev-arrow,
      #page-case .body .arrows .prev-arrow {
        background: url(../img/idpic/slide-left.png) no-repeat center/contain;
        width: 60px;
        height: 60px; }
        @media screen and (max-width: 1100px) {
          #strong .body .arrows .prev-arrow,
          #page-case .body .arrows .prev-arrow {
            width: 4.6875vw;
            height: 4.6875vw; } }
        @media screen and (max-width: 767px) {
          #strong .body .arrows .prev-arrow,
          #page-case .body .arrows .prev-arrow {
            width: 9.375vw;
            height: 9.375vw; } }
      #strong .body .arrows .next-arrow,
      #page-case .body .arrows .next-arrow {
        background: url(../img/idpic/slide-right.png) no-repeat center/contain;
        width: 60px;
        height: 60px; }
        @media screen and (max-width: 1100px) {
          #strong .body .arrows .next-arrow,
          #page-case .body .arrows .next-arrow {
            width: 4.6875vw;
            height: 4.6875vw; } }
        @media screen and (max-width: 767px) {
          #strong .body .arrows .next-arrow,
          #page-case .body .arrows .next-arrow {
            width: 9.375vw;
            height: 9.375vw; } }
    #strong .body .yoko,
    #page-case .body .yoko {
      overflow-x: scroll;
      height: 600px; }
      @media screen and (max-width: 767px) {
        #strong .body .yoko,
        #page-case .body .yoko {
          height: 500px; } }
    #strong .body .yoko-in,
    #page-case .body .yoko-in {
      display: flex;
      text-align: center;
      padding: 50px 0 0 50px !important; }
    #strong .body .slide,
    #page-case .body .slide {
      margin: 0 calc((-100vw - 1100px) / 2) 0 0;
      padding: 0 0 60px; }
      @media screen and (max-width: 1100px) {
        #strong .body .slide,
        #page-case .body .slide {
          padding: 0 0 4.6875vw; } }
      @media screen and (max-width: 767px) {
        #strong .body .slide,
        #page-case .body .slide {
          padding: 0 0 9.375vw; } }
      #strong .body .slide .slick-list,
      #page-case .body .slide .slick-list {
        padding: 30px 0 20px 30px; }
        @media screen and (max-width: 1100px) {
          #strong .body .slide .slick-list,
          #page-case .body .slide .slick-list {
            padding: 2.34375vw 0 1.5625vw 2.34375vw; } }
        @media screen and (max-width: 767px) {
          #strong .body .slide .slick-list,
          #page-case .body .slide .slick-list {
            padding: 4.6875vw 0 3.125vw 4.6875vw; } }
      #strong .body .slide .slide-item,
      #page-case .body .slide .slide-item {
        flex-shrink: 0;
        width: 300px;
        height: 520px;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
        background-color: #fff;
        margin: 0 60px 0 0;
        position: relative; }
        @media screen and (max-width: 1100px) {
          #strong .body .slide .slide-item,
          #page-case .body .slide .slide-item {
            width: 23.4375vw;
            height: 40.625vw;
            box-shadow: 0 0 1.5625vw rgba(0, 0, 0, 0.2);
            margin: 0 4.6875vw 0 0; } }
        @media screen and (max-width: 767px) {
          #strong .body .slide .slide-item,
          #page-case .body .slide .slide-item {
            width: 46.875vw;
            height: 93.75vw;
            box-shadow: 0 0 3.125vw rgba(0, 0, 0, 0.2);
            margin: 0 9.375vw 0 0; } }
        #strong .body .slide .slide-item a,
        #page-case .body .slide .slide-item a {
          display: block;
          width: 100%;
          height: 100%; }
          #strong .body .slide .slide-item a:after,
          #page-case .body .slide .slide-item a:after {
            content: "";
            background: url(../img/idpic/arrow.png) no-repeat center/contain;
            position: absolute;
            bottom: 15px;
            right: 15px;
            width: 39px;
            height: 9px; }
            @media screen and (max-width: 1100px) {
              #strong .body .slide .slide-item a:after,
              #page-case .body .slide .slide-item a:after {
                bottom: 1.171875vw;
                right: 1.171875vw;
                width: 3.046875vw;
                height: 0.703125vw; } }
            @media screen and (max-width: 767px) {
              #strong .body .slide .slide-item a:after,
              #page-case .body .slide .slide-item a:after {
                bottom: 3.125vw;
                right: 3.125vw;
                width: 5.9375vw;
                height: 1.25vw; } }
        #strong .body .slide .slide-item .num,
        #page-case .body .slide .slide-item .num {
          position: absolute;
          top: 350px;
          left: -30px;
          width: 97px;
          height: 53px; }
          @media screen and (max-width: 1100px) {
            #strong .body .slide .slide-item .num,
            #page-case .body .slide .slide-item .num {
              top: -2.34375vw;
              left: -2.34375vw;
              width: 7.578125vw;
              height: 4.140625vw; } }
          @media screen and (max-width: 767px) {
            #strong .body .slide .slide-item .num,
            #page-case .body .slide .slide-item .num {
              top: -3.125vw;
              left: -3.125vw;
              width: 15.15625vw;
              height: 8.28125vw; } }
        #strong .body .slide .slide-item figure,
        #page-case .body .slide .slide-item figure {
          width: 100%;
          height: 400px;
          overflow: hidden; }
          @media screen and (max-width: 1100px) {
            #strong .body .slide .slide-item figure,
            #page-case .body .slide .slide-item figure {
              height: 31.25vw; } }
          @media screen and (max-width: 767px) {
            #strong .body .slide .slide-item figure,
            #page-case .body .slide .slide-item figure {
              height: 62.5vw; } }
          #strong .body .slide .slide-item figure img,
          #page-case .body .slide .slide-item figure img {
            object-fit: cover; }
        #strong .body .slide .slide-item p,
        #page-case .body .slide .slide-item p {
          padding: 15px;
          font-size: 18px;
          line-height: 1.7; }
          @media screen and (max-width: 1100px) {
            #strong .body .slide .slide-item p,
            #page-case .body .slide .slide-item p {
              padding: 1.171875vw;
              font-size: 1.40625vw; } }
          @media screen and (max-width: 767px) {
            #strong .body .slide .slide-item p,
            #page-case .body .slide .slide-item p {
              padding: 3.125vw;
              font-size: 3.75vw; } }
    #strong .body .case,
    #page-case .body .case {
      padding: 0 0 80px; }
      @media screen and (max-width: 1100px) {
        #strong .body .case,
        #page-case .body .case {
          padding: 0 0 6.25vw; } }
      @media screen and (max-width: 767px) {
        #strong .body .case,
        #page-case .body .case {
          padding: 0 0 12.5vw; } }
      #strong .body .case .case-box,
      #page-case .body .case .case-box {
        background-color: #fff;
        padding: 40px 80px 80px; }
        @media screen and (max-width: 1100px) {
          #strong .body .case .case-box,
          #page-case .body .case .case-box {
            padding: 3.125vw 6.25vw 6.25vw; } }
        @media screen and (max-width: 767px) {
          #strong .body .case .case-box,
          #page-case .body .case .case-box {
            padding: 4.6875vw 3.125vw 4.6875vw; } }
        #strong .body .case .case-box h2,
        #page-case .body .case .case-box h2 {
          text-align: center;
          margin: 0 0 40px; }
          @media screen and (max-width: 1100px) {
            #strong .body .case .case-box h2,
            #page-case .body .case .case-box h2 {
              margin: 0 0 3.125vw; } }
          @media screen and (max-width: 767px) {
            #strong .body .case .case-box h2,
            #page-case .body .case .case-box h2 {
              margin: 0 0 6.25vw; } }
          #strong .body .case .case-box h2 img,
          #page-case .body .case .case-box h2 img {
            width: 308px;
            height: auto; }
            @media screen and (max-width: 1100px) {
              #strong .body .case .case-box h2 img,
              #page-case .body .case .case-box h2 img {
                width: 24.0625vw; } }
            @media screen and (max-width: 767px) {
              #strong .body .case .case-box h2 img,
              #page-case .body .case .case-box h2 img {
                width: 48.125vw; } }
        #strong .body .case .case-box .case-content,
        #page-case .body .case .case-box .case-content {
          display: flex;
          justify-content: space-between; }
          @media screen and (max-width: 767px) {
            #strong .body .case .case-box .case-content,
            #page-case .body .case .case-box .case-content {
              display: block; } }
          #strong .body .case .case-box .case-content .case-content-box,
          #page-case .body .case .case-box .case-content .case-content-box {
            width: 47%;
            border: solid #046cbd 3px; }
            @media screen and (max-width: 1100px) {
              #strong .body .case .case-box .case-content .case-content-box,
              #page-case .body .case .case-box .case-content .case-content-box {
                border: solid #046cbd 0.234375vw; } }
            @media screen and (max-width: 767px) {
              #strong .body .case .case-box .case-content .case-content-box,
              #page-case .body .case .case-box .case-content .case-content-box {
                width: auto;
                border: solid #046cbd 0.9375vw;
                margin: 0 0 3.125vw; } }
            #strong .body .case .case-box .case-content .case-content-box h3,
            #page-case .body .case .case-box .case-content .case-content-box h3 {
              text-align: center;
              padding: 10px;
              color: #fff;
              background-color: #046cbd;
              font-size: 24px; }
              @media screen and (max-width: 1100px) {
                #strong .body .case .case-box .case-content .case-content-box h3,
                #page-case .body .case .case-box .case-content .case-content-box h3 {
                  padding: 0.78125vw;
                  font-size: 1.875vw; } }
              @media screen and (max-width: 767px) {
                #strong .body .case .case-box .case-content .case-content-box h3,
                #page-case .body .case .case-box .case-content .case-content-box h3 {
                  padding: 3.125vw;
                  font-size: 5.625vw; } }
            #strong .body .case .case-box .case-content .case-content-box .before,
            #page-case .body .case .case-box .case-content .case-content-box .before {
              padding: 20px;
              display: flex;
              align-items: center;
              justify-content: space-between; }
              @media screen and (max-width: 1100px) {
                #strong .body .case .case-box .case-content .case-content-box .before,
                #page-case .body .case .case-box .case-content .case-content-box .before {
                  padding: 1.5625vw; } }
              @media screen and (max-width: 767px) {
                #strong .body .case .case-box .case-content .case-content-box .before,
                #page-case .body .case .case-box .case-content .case-content-box .before {
                  padding: 3.125vw;
                  display: block; } }
              #strong .body .case .case-box .case-content .case-content-box .before figure,
              #page-case .body .case .case-box .case-content .case-content-box .before figure {
                position: relative;
                width: 140px;
                height: 187px; }
                @media screen and (max-width: 1100px) {
                  #strong .body .case .case-box .case-content .case-content-box .before figure,
                  #page-case .body .case .case-box .case-content .case-content-box .before figure {
                    width: 10.9375vw;
                    height: 14.609375vw; } }
                @media screen and (max-width: 767px) {
                  #strong .body .case .case-box .case-content .case-content-box .before figure,
                  #page-case .body .case .case-box .case-content .case-content-box .before figure {
                    width: 43.75vw;
                    height: 58.4375vw;
                    margin: 0 auto 4.6875vw; } }
                #strong .body .case .case-box .case-content .case-content-box .before figure img,
                #page-case .body .case .case-box .case-content .case-content-box .before figure img {
                  object-fit: cover; }
                #strong .body .case .case-box .case-content .case-content-box .before figure figcaption,
                #page-case .body .case .case-box .case-content .case-content-box .before figure figcaption {
                  position: absolute;
                  text-align: center;
                  color: #046cbd;
                  font-size: 14px;
                  background-color: #fff;
                  padding: 2px 0;
                  border: solid #046cbd 1px;
                  width: 70px;
                  bottom: -14px;
                  left: 50%;
                  margin: 0 0 0 -35px; }
                  @media screen and (max-width: 1100px) {
                    #strong .body .case .case-box .case-content .case-content-box .before figure figcaption,
                    #page-case .body .case .case-box .case-content .case-content-box .before figure figcaption {
                      font-size: 1.09375vw;
                      padding: 0.15625vw 0;
                      border: solid #046cbd 0.078125vw;
                      width: 5.46875vw;
                      bottom: -1.09375vw;
                      margin: 0 0 0 -2.734375vw; } }
                  @media screen and (max-width: 767px) {
                    #strong .body .case .case-box .case-content .case-content-box .before figure figcaption,
                    #page-case .body .case .case-box .case-content .case-content-box .before figure figcaption {
                      font-size: 3.75vw;
                      padding: 0.625vw 0;
                      border: solid #046cbd 0.3125vw;
                      width: 21.875vw;
                      bottom: -4.375vw;
                      margin: 0 0 0 -10.9375vw; } }
              #strong .body .case .case-box .case-content .case-content-box .before .text,
              #page-case .body .case .case-box .case-content .case-content-box .before .text {
                width: 230px; }
                @media screen and (max-width: 1100px) {
                  #strong .body .case .case-box .case-content .case-content-box .before .text,
                  #page-case .body .case .case-box .case-content .case-content-box .before .text {
                    width: 17.96875vw; } }
                @media screen and (max-width: 767px) {
                  #strong .body .case .case-box .case-content .case-content-box .before .text,
                  #page-case .body .case .case-box .case-content .case-content-box .before .text {
                    width: auto; } }
                #strong .body .case .case-box .case-content .case-content-box .before .text dl,
                #page-case .body .case .case-box .case-content .case-content-box .before .text dl {
                  font-size: 16px;
                  line-height: 1.5; }
                  @media screen and (max-width: 1100px) {
                    #strong .body .case .case-box .case-content .case-content-box .before .text dl,
                    #page-case .body .case .case-box .case-content .case-content-box .before .text dl {
                      font-size: 1.25vw; } }
                  @media screen and (max-width: 767px) {
                    #strong .body .case .case-box .case-content .case-content-box .before .text dl,
                    #page-case .body .case .case-box .case-content .case-content-box .before .text dl {
                      font-size: 5vw; } }
                  #strong .body .case .case-box .case-content .case-content-box .before .text dl dt,
                  #page-case .body .case .case-box .case-content .case-content-box .before .text dl dt {
                    color: #046cbd; }
                  #strong .body .case .case-box .case-content .case-content-box .before .text dl dd,
                  #page-case .body .case .case-box .case-content .case-content-box .before .text dl dd {
                    margin: 0 0 8px; }
                    @media screen and (max-width: 1100px) {
                      #strong .body .case .case-box .case-content .case-content-box .before .text dl dd,
                      #page-case .body .case .case-box .case-content .case-content-box .before .text dl dd {
                        margin: 0 0 0.625vw; } }
                    @media screen and (max-width: 767px) {
                      #strong .body .case .case-box .case-content .case-content-box .before .text dl dd,
                      #page-case .body .case .case-box .case-content .case-content-box .before .text dl dd {
                        margin: 0 0 2.5vw; } }
                    #strong .body .case .case-box .case-content .case-content-box .before .text dl dd:last-child,
                    #page-case .body .case .case-box .case-content .case-content-box .before .text dl dd:last-child {
                      margin: 0; }
            #strong .body .case .case-box .case-content .case-content-box .after,
            #page-case .body .case .case-box .case-content .case-content-box .after {
              padding: 20px; }
              @media screen and (max-width: 1100px) {
                #strong .body .case .case-box .case-content .case-content-box .after,
                #page-case .body .case .case-box .case-content .case-content-box .after {
                  padding: 1.5625vw; } }
              @media screen and (max-width: 767px) {
                #strong .body .case .case-box .case-content .case-content-box .after,
                #page-case .body .case .case-box .case-content .case-content-box .after {
                  padding: 3.125vw; } }
              #strong .body .case .case-box .case-content .case-content-box .after ul,
              #page-case .body .case .case-box .case-content .case-content-box .after ul {
                display: flex;
                justify-content: space-between;
                margin: 0 0 20px; }
                @media screen and (max-width: 1100px) {
                  #strong .body .case .case-box .case-content .case-content-box .after ul,
                  #page-case .body .case .case-box .case-content .case-content-box .after ul {
                    margin: 0 0 1.5625vw; } }
                @media screen and (max-width: 767px) {
                  #strong .body .case .case-box .case-content .case-content-box .after ul,
                  #page-case .body .case .case-box .case-content .case-content-box .after ul {
                    margin: 0 0 3.125vw; } }
                #strong .body .case .case-box .case-content .case-content-box .after ul li,
                #page-case .body .case .case-box .case-content .case-content-box .after ul li {
                  width: 48%; }
                  @media screen and (max-width: 767px) {
                    #strong .body .case .case-box .case-content .case-content-box .after ul li,
                    #page-case .body .case .case-box .case-content .case-content-box .after ul li {
                      width: auto;
                      margin: 0 0 3.125vw; } }
                  #strong .body .case .case-box .case-content .case-content-box .after ul li p,
                  #page-case .body .case .case-box .case-content .case-content-box .after ul li p {
                    font-weight: bold;
                    text-align: center;
                    font-size: 16px;
                    margin: 0 0 4px; }
                    @media screen and (max-width: 1100px) {
                      #strong .body .case .case-box .case-content .case-content-box .after ul li p,
                      #page-case .body .case .case-box .case-content .case-content-box .after ul li p {
                        font-size: 1.25vw;
                        margin: 0 0 0.3125vw; } }
                    @media screen and (max-width: 767px) {
                      #strong .body .case .case-box .case-content .case-content-box .after ul li p,
                      #page-case .body .case .case-box .case-content .case-content-box .after ul li p {
                        font-size: 3.75vw;
                        margin: 0 0 1.25vw; } }
                    #strong .body .case .case-box .case-content .case-content-box .after ul li p strong,
                    #page-case .body .case .case-box .case-content .case-content-box .after ul li p strong {
                      font-weight: bold;
                      color: #046cbd; }
              #strong .body .case .case-box .case-content .case-content-box .after small,
              #page-case .body .case .case-box .case-content .case-content-box .after small {
                font-size: 12px;
                color: #666666; }
                @media screen and (max-width: 1100px) {
                  #strong .body .case .case-box .case-content .case-content-box .after small,
                  #page-case .body .case .case-box .case-content .case-content-box .after small {
                    font-size: 0.9375vw; } }
                @media screen and (max-width: 767px) {
                  #strong .body .case .case-box .case-content .case-content-box .after small,
                  #page-case .body .case .case-box .case-content .case-content-box .after small {
                    font-size: 2.8125vw; } }

.popup {
  display: none; }

.tos-wrapper.tos-fixed {
  background-color: rgba(255, 255, 255, 0.85) !important;
  z-index: 10010 !important; }
  @media screen and (max-width: 767px) {
    .tos-wrapper.tos-fixed .tos-slide.tos-html {
      padding: 0 6.25vw !important; } }
  @media screen and (max-width: 767px) {
    .tos-wrapper.tos-fixed .tos-slide.tos-html > div {
      padding: 6.25vw !important; } }
  .tos-wrapper.tos-fixed .popup {
    display: block;
    max-width: 800px; }
    @media screen and (max-width: 1100px) {
      .tos-wrapper.tos-fixed .popup {
        max-width: 62.5vw; } }
    @media screen and (max-width: 767px) {
      .tos-wrapper.tos-fixed .popup {
        max-width: 100vw; } }
    .tos-wrapper.tos-fixed .popup .wrap {
      display: flex;
      align-items: center;
      justify-content: space-between; }
      @media screen and (max-width: 767px) {
        .tos-wrapper.tos-fixed .popup .wrap {
          display: block; } }
      .tos-wrapper.tos-fixed .popup .wrap figure {
        width: 40%; }
        @media screen and (max-width: 767px) {
          .tos-wrapper.tos-fixed .popup .wrap figure {
            width: auto;
            margin: 0 0 3.125vw; } }
      .tos-wrapper.tos-fixed .popup .wrap .text {
        width: 55%; }
        @media screen and (max-width: 767px) {
          .tos-wrapper.tos-fixed .popup .wrap .text {
            width: auto; } }
        .tos-wrapper.tos-fixed .popup .wrap .text h3 {
          color: #046cbd;
          font-weight: bold;
          font-size: 30px;
          margin: 0 0 20px; }
          @media screen and (max-width: 1100px) {
            .tos-wrapper.tos-fixed .popup .wrap .text h3 {
              font-size: 2.34375vw;
              margin: 0 0 1.5625vw; } }
          @media screen and (max-width: 767px) {
            .tos-wrapper.tos-fixed .popup .wrap .text h3 {
              font-size: 5vw;
              margin: 0 0 3.125vw; } }
        .tos-wrapper.tos-fixed .popup .wrap .text p {
          font-size: 18px;
          line-height: 1.8; }
          @media screen and (max-width: 1100px) {
            .tos-wrapper.tos-fixed .popup .wrap .text p {
              font-size: 1.40625vw; } }
          @media screen and (max-width: 767px) {
            .tos-wrapper.tos-fixed .popup .wrap .text p {
              font-size: 3.75vw; } }

.tos-caption {
  display: none !important; }

.tos-close, .tos-next, .tos-prev {
  background-color: #046cbd !important; }

.tos-next, .tos-prev {
  display: none !important; }

.tos-wrapper.tos-has-caption .tos-uibg {
  display: none !important;
  height: auto; }

#flow {
  padding: 90px 0 90px; }
  @media screen and (max-width: 1100px) {
    #flow {
      padding: 7.03125vw 0 7.03125vw; } }
  @media screen and (max-width: 767px) {
    #flow {
      padding: 12.5vw 3.125vw 12.5vw; } }
  #flow .title {
    background-image: url(../img/idpic/title-bg03.png);
    background-size: 240px auto; }
    @media screen and (max-width: 1100px) {
      #flow .title {
        background-size: 18.75vw auto; } }
    @media screen and (max-width: 767px) {
      #flow .title {
        background-size: 37.5vw auto; } }
  #flow .body {
    position: relative; }
    #flow .body .arrows {
      position: absolute;
      top: -80px;
      right: 0;
      display: flex; }
      @media screen and (max-width: 1100px) {
        #flow .body .arrows {
          top: -6.25vw; } }
      @media screen and (max-width: 767px) {
        #flow .body .arrows {
          top: -12.5vw; } }
      #flow .body .arrows .slick-arrow {
        cursor: pointer;
        transition: 0.3s ease; }
        #flow .body .arrows .slick-arrow:hover {
          opacity: .7; }
      #flow .body .arrows .prev-arrow2 {
        background: url(../img/idpic/slide-left.png) no-repeat center/contain;
        width: 60px;
        height: 60px; }
        @media screen and (max-width: 1100px) {
          #flow .body .arrows .prev-arrow2 {
            width: 4.6875vw;
            height: 4.6875vw; } }
        @media screen and (max-width: 767px) {
          #flow .body .arrows .prev-arrow2 {
            width: 9.375vw;
            height: 9.375vw; } }
      #flow .body .arrows .next-arrow2 {
        background: url(../img/idpic/slide-right.png) no-repeat center/contain;
        width: 60px;
        height: 60px; }
        @media screen and (max-width: 1100px) {
          #flow .body .arrows .next-arrow2 {
            width: 4.6875vw;
            height: 4.6875vw; } }
        @media screen and (max-width: 767px) {
          #flow .body .arrows .next-arrow2 {
            width: 9.375vw;
            height: 9.375vw; } }
    #flow .body .slide {
      padding: 0 0 60px; }
      @media screen and (max-width: 1100px) {
        #flow .body .slide {
          padding: 0 0 4.6875vw; } }
      @media screen and (max-width: 767px) {
        #flow .body .slide {
          padding: 0 0 9.375vw; } }
      #flow .body .slide .slick-list {
        padding: 30px 0 20px 30px; }
        @media screen and (max-width: 1100px) {
          #flow .body .slide .slick-list {
            padding: 2.34375vw 0 1.5625vw 2.34375vw; } }
        @media screen and (max-width: 767px) {
          #flow .body .slide .slick-list {
            padding: 4.6875vw 0 3.125vw 4.6875vw; } }
      #flow .body .slide .slide-item {
        background-color: #fff;
        display: flex;
        margin-bottom: 30px; }
        #flow .body .slide .slide-item figure {
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
          width: 20%;
          margin: 0 0 20px; }
          @media screen and (max-width: 1100px) {
            #flow .body .slide .slide-item figure {
              box-shadow: 0 0 1.5625vw rgba(0, 0, 0, 0.2);
              margin: 0 0 1.5625vw; } }
          @media screen and (max-width: 767px) {
            #flow .body .slide .slide-item figure {
              width: 30%;
              margin: 0 0 6.25vw;
              box-shadow: 0 0 0 rgba(0, 0, 0, 0); } }
          #flow .body .slide .slide-item figure img {
            object-fit: cover; }
        #flow .body .slide .slide-item .flow-text {
          margin-left: 30px;
          width: 70%; }
          @media screen and (max-width: 767px) {
            #flow .body .slide .slide-item .flow-text {
              width: 65%; } }
        #flow .body .slide .slide-item h3 {
          position: relative;
          display: flex;
          align-items: center;
          margin: 0 0 20px; }
          @media screen and (max-width: 1100px) {
            #flow .body .slide .slide-item h3 {
              margin: 0 0 1.5625vw; } }
          @media screen and (max-width: 767px) {
            #flow .body .slide .slide-item h3 {
              margin: 0 0 3.125vw; } }
          #flow .body .slide .slide-item h3 i {
            font-size: 30px;
            font-weight: bold;
            font-style: normal;
            text-align: center;
            line-height: 40px;
            width: 40px;
            height: 40px;
            border-radius: 3px;
            margin: 0 10px 0 0;
            background-color: #000;
            color: #fff; }
            @media screen and (max-width: 1100px) {
              #flow .body .slide .slide-item h3 i {
                font-size: 2.34375vw;
                line-height: 3.125vw;
                width: 3.125vw;
                height: 3.125vw;
                border-radius: 0.234375vw;
                margin: 0 0.78125vw 0 0; } }
            @media screen and (max-width: 767px) {
              #flow .body .slide .slide-item h3 i {
                font-size: 5vw;
                line-height: 6.25vw;
                width: 6.25vw;
                height: 6.25vw;
                border-radius: 0.9375vw;
                margin: 0 1.875vw 0 0; } }
          #flow .body .slide .slide-item h3 span {
            color: #000;
            font-weight: bold;
            font-size: 20px;
            line-height: 1.3; }
            @media screen and (max-width: 1100px) {
              #flow .body .slide .slide-item h3 span {
                font-size: 1.5625vw; } }
            @media screen and (max-width: 767px) {
              #flow .body .slide .slide-item h3 span {
                font-size: 4.375vw; } }
        #flow .body .slide .slide-item p {
          font-size: 16px;
          line-height: 1.8;
          letter-spacing: -.05em; }
          @media screen and (max-width: 1100px) {
            #flow .body .slide .slide-item p {
              font-size: 1.25vw; } }
          @media screen and (max-width: 767px) {
            #flow .body .slide .slide-item p {
              font-size: 3.75vw; } }
          #flow .body .slide .slide-item p small {
            padding: 5px 0 0;
            font-size: 14px;
            display: block; }
            @media screen and (max-width: 1100px) {
              #flow .body .slide .slide-item p small {
                padding: 0.390625vw 0 0;
                font-size: 1.09375vw; } }
            @media screen and (max-width: 767px) {
              #flow .body .slide .slide-item p small {
                padding: 1.5625vw 0 0;
                font-size: 3.125vw; } }

#voice {
  padding: 40px 0 150px;
  background-color: #e5f3fe; }
  @media screen and (max-width: 1100px) {
    #voice {
      padding: 3.125vw 0 11.71875vw; } }
  @media screen and (max-width: 767px) {
    #voice {
      padding: 6.25vw 3.125vw 25vw; } }
  #voice .title {
    background-image: url(../img/idpic/title-bg02.png);
    background-size: 343px auto; }
    @media screen and (max-width: 1100px) {
      #voice .title {
        background-size: 26.796875vw auto; } }
    @media screen and (max-width: 767px) {
      #voice .title {
        background-size: 53.59375vw auto; } }
  #voice .body {
    position: relative; }
    #voice .body .box {
      padding: 60px 100px;
      border-radius: 20px;
      background-color: #fff; }
      @media screen and (max-width: 1100px) {
        #voice .body .box {
          padding: 4.6875vw 7.8125vw;
          border-radius: 1.5625vw; } }
      @media screen and (max-width: 767px) {
        #voice .body .box {
          padding: 6.25vw 12.5vw;
          border-radius: 3.125vw; } }
    #voice .body .more {
      padding: 40px 0 0;
      text-align: center; }
      @media screen and (max-width: 1100px) {
        #voice .body .more {
          padding: 3.125vw 0 0; } }
      @media screen and (max-width: 767px) {
        #voice .body .more {
          padding: 6.25vw 0 0; } }
      #voice .body .more a {
        display: inline-block;
        color: #fff;
        font-size: 16px;
        text-align: center;
        letter-spacing: .1em;
        padding: 15px 20px;
        border-radius: 40px;
        width: 230px;
        background-color: #046cbd; }
        @media screen and (max-width: 1100px) {
          #voice .body .more a {
            font-size: 1.25vw;
            padding: 1.171875vw 1.5625vw;
            border-radius: 3.125vw;
            width: 17.96875vw; } }
        @media screen and (max-width: 767px) {
          #voice .body .more a {
            font-size: 5vw;
            padding: 4.6875vw 6.25vw;
            border-radius: 12.5vw;
            width: 71.875vw; } }
        #voice .body .more a span {
          display: block;
          background: url(../img/idpic/btn-arrow.png) no-repeat center right/8px auto; }
          @media screen and (max-width: 1100px) {
            #voice .body .more a span {
              background: url(../img/idpic/btn-arrow.png) no-repeat center right/0.625vw auto; } }
          @media screen and (max-width: 767px) {
            #voice .body .more a span {
              background: url(../img/idpic/btn-arrow.png) no-repeat center right/2.5vw auto; } }

#self-photo {
  padding: 100px 0; }
  @media screen and (max-width: 1100px) {
    #self-photo {
      padding: 7.8125vw 0; } }
  @media screen and (max-width: 767px) {
    #self-photo {
      padding: 12.5vw 3.125vw; } }
  #self-photo .box {
    background-color: #046cbd;
    color: #fff;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    padding: 0 60px; }
    @media screen and (max-width: 1100px) {
      #self-photo .box {
        padding: 0 4.6875vw; } }
    @media screen and (max-width: 767px) {
      #self-photo .box {
        display: block;
        padding: 6.25vw 3.125vw 3.125vw; } }
    #self-photo .box figure {
      width: 430px;
      height: 374px;
      overflow: hidden;
      padding: 0 0 20px; }
      @media screen and (max-width: 1100px) {
        #self-photo .box figure {
          width: 33.59375vw;
          height: 29.21875vw;
          padding: 0 0 1.5625vw; } }
      @media screen and (max-width: 767px) {
        #self-photo .box figure {
          width: auto;
          height: auto;
          padding: 0;
          margin: 0 0 3.125vw; } }
      #self-photo .box figure img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    #self-photo .box .text {
      width: 525px;
      padding: 40px 0; }
      @media screen and (max-width: 1100px) {
        #self-photo .box .text {
          width: 41.015625vw;
          padding: 3.125vw 0; } }
      @media screen and (max-width: 767px) {
        #self-photo .box .text {
          width: auto;
          padding: 0; } }
    #self-photo .box h2 {
      font-size: 36px;
      margin: 0 0 20px;
      font-weight: bold; }
      @media screen and (max-width: 1100px) {
        #self-photo .box h2 {
          font-size: 2.8125vw;
          margin: 0 0 1.5625vw; } }
      @media screen and (max-width: 767px) {
        #self-photo .box h2 {
          font-size: 6.25vw;
          margin: 0 0 3.125vw;
          text-align: center; } }
    #self-photo .box p {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.8; }
      @media screen and (max-width: 1100px) {
        #self-photo .box p {
          font-size: 1.25vw; } }
      @media screen and (max-width: 767px) {
        #self-photo .box p {
          font-size: 3.75vw; } }
    #self-photo .box .more {
      padding: 40px 0 0; }
      @media screen and (max-width: 1100px) {
        #self-photo .box .more {
          padding: 3.125vw 0 0; } }
      @media screen and (max-width: 767px) {
        #self-photo .box .more {
          padding: 6.25vw 0 0;
          text-align: center; } }
      #self-photo .box .more a {
        display: inline-block;
        color: #046cbd;
        font-size: 16px;
        text-align: center;
        letter-spacing: .1em;
        padding: 15px 20px;
        border-radius: 40px;
        width: 230px;
        background-color: #fff; }
        @media screen and (max-width: 1100px) {
          #self-photo .box .more a {
            font-size: 1.25vw;
            padding: 1.171875vw 1.5625vw;
            border-radius: 3.125vw;
            width: 17.96875vw; } }
        @media screen and (max-width: 767px) {
          #self-photo .box .more a {
            font-size: 5vw;
            padding: 4.6875vw 6.25vw;
            border-radius: 12.5vw;
            width: 71.875vw; } }
        #self-photo .box .more a span {
          display: block;
          background: url(../img/idpic/btn-arrow_b.png) no-repeat center right/8px auto; }
          @media screen and (max-width: 1100px) {
            #self-photo .box .more a span {
              background: url(../img/idpic/btn-arrow_b.png) no-repeat center right/0.625vw auto; } }
          @media screen and (max-width: 767px) {
            #self-photo .box .more a span {
              background: url(../img/idpic/btn-arrow_b.png) no-repeat center right/2.5vw auto; } }

#column {
  padding: 40px 0 150px;
  background-color: #e5f3fe; }
  @media screen and (max-width: 1100px) {
    #column {
      padding: 3.125vw 0 11.71875vw; } }
  @media screen and (max-width: 767px) {
    #column {
      padding: 6.25vw 3.125vw 25vw; } }
  #column .title {
    background-image: url(../img/idpic/title-bg05.png);
    background-size: 343px auto; }
    @media screen and (max-width: 1100px) {
      #column .title {
        background-size: 26.796875vw auto; } }
    @media screen and (max-width: 767px) {
      #column .title {
        background-size: 53.59375vw auto; } }
  #column .body {
    position: relative; }
    #column .body h3 {
      font-size: 16px;
      line-height: 1.6;
      font-weight: bold;
      margin: 0 0 40px;
      text-align: center; }
      @media screen and (max-width: 1100px) {
        #column .body h3 {
          font-size: 1.25vw;
          margin: 0 0 3.125vw; } }
      @media screen and (max-width: 767px) {
        #column .body h3 {
          font-size: 3.75vw;
          margin: 0 0 6.25vw; } }
    #column .body ul {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 767px) {
        #column .body ul {
          justify-content: space-between !important;
          flex-wrap: wrap;
           } }
      #column .body ul li {
        width: 250px; }
        @media screen and (max-width: 1100px) {
          #column .body ul li {
            width: 19.53125vw; } }
        @media screen and (max-width: 767px) {
          #column .body ul li {
            width: 48% !important;
            margin: 0 0 6.25vw; } }
        #column .body ul li figure {
          width: 100%;
          height: 194px;
          overflow: hidden;
          margin: 0 0 10px; }
          @media screen and (max-width: 1100px) {
            #column .body ul li figure {
              height: 15.15625vw;
              margin: 0 0 0.78125vw; } }
          @media screen and (max-width: 767px) {
            #column .body ul li figure {
              height: 60.625vw;
              margin: 0 0 3.125vw; } }
          #column .body ul li figure img {
            object-fit: cover;
            width: 100%;
            height: 100%; }
        #column .body ul li .meta {
          display: flex;
          align-items: center;
          margin: 0 0 5px; }
          @media screen and (max-width: 1100px) {
            #column .body ul li .meta {
              margin: 0 0 0.390625vw; } }
          @media screen and (max-width: 767px) {
            #column .body ul li .meta {
              margin: 0 0 1.5625vw; } }
          #column .body ul li .meta .cat {
            color: #af7f37;
            font-size: 14px;
            margin: 0 1em 0 0; }
            @media screen and (max-width: 1100px) {
              #column .body ul li .meta .cat {
                font-size: 1.09375vw; } }
            @media screen and (max-width: 767px) {
              #column .body ul li .meta .cat {
                font-size: 3.125vw; } }
          #column .body ul li .meta time {
            font-size: 12px; }
            @media screen and (max-width: 1100px) {
              #column .body ul li .meta time {
                font-size: 0.9375vw; } }
            @media screen and (max-width: 767px) {
              #column .body ul li .meta time {
                font-size: 3.125vw; } }
        #column .body ul li p {
          font-size: 14px;
          line-height: 1.8;
          font-weight: bold; }
          @media screen and (max-width: 1100px) {
            #column .body ul li p {
              font-size: 1.09375vw; } }
          @media screen and (max-width: 767px) {
            #column .body ul li p {
              font-size: 3.75vw; } }
    #column .body .more {
      text-align: center;
      padding: 100px 0 0; }
      @media screen and (max-width: 1100px) {
        #column .body .more {
          padding: 7.8125vw 0 0; } }
      @media screen and (max-width: 767px) {
        #column .body .more {
          padding: 12.5vw 0 0; } }
      #column .body .more a {
        display: inline-block;
        color: #fff;
        font-size: 16px;
        text-align: center;
        letter-spacing: .1em;
        padding: 15px 20px;
        border-radius: 40px;
        width: 230px;
        background-color: #046cbd; }
        @media screen and (max-width: 1100px) {
          #column .body .more a {
            font-size: 1.25vw;
            padding: 1.171875vw 1.5625vw;
            border-radius: 3.125vw;
            width: 17.96875vw; } }
        @media screen and (max-width: 767px) {
          #column .body .more a {
            font-size: 5vw;
            padding: 4.6875vw 6.25vw;
            border-radius: 12.5vw;
            width: 71.875vw; } }
        #column .body .more a span {
          display: block;
          background: url(../img/idpic/btn-arrow.png) no-repeat center right/8px auto; }
          @media screen and (max-width: 1100px) {
            #column .body .more a span {
              background: url(../img/idpic/btn-arrow.png) no-repeat center right/0.625vw auto; } }
          @media screen and (max-width: 767px) {
            #column .body .more a span {
              background: url(../img/idpic/btn-arrow.png) no-repeat center right/2.5vw auto; } }

.column02 {
  background-color: snow !important; }

.column02 .body ul {
  flex-wrap: wrap;
  justify-content: flex-start !important; }
  .column02 .body ul li {
    width: 30% !important;
    margin-bottom: 30px;
    margin-right: 5%; }
    @media screen and (max-width: 767px) {
      .column02 .body ul li {
        width: 100% !important; } }
  .column02 .body ul li:nth-child(3n) {
    margin-right: 0; }

#company {
  padding: 100px 0; }
  @media screen and (max-width: 1100px) {
    #company {
      padding: 7.8125vw 0; } }
  @media screen and (max-width: 767px) {
    #company {
      padding: 12.5vw 3.125vw; } }
  #company .content {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      #company .content {
        display: block; } }
    #company .content figure {
      width: 248px; }
      @media screen and (max-width: 1100px) {
        #company .content figure {
          width: 19.375vw; } }
      @media screen and (max-width: 767px) {
        #company .content figure {
          width: 38.75vw;
          margin: 0 auto 6.25vw; } }
    #company .content figure.honten {
      width: 216px; }
      @media screen and (max-width: 1100px) {
        #company .content figure.honten {
          width: 16.875vw; } }
      @media screen and (max-width: 767px) {
        #company .content figure.honten {
          width: 33.75vw;
          margin: 0 auto 6.25vw; } }
    #company .content .text {
      width: 780px; }
      @media screen and (max-width: 1100px) {
        #company .content .text {
          width: 60.9375vw; } }
      @media screen and (max-width: 767px) {
        #company .content .text {
          width: auto; } }
      #company .content .text table {
        width: 100%;
        border-collapse: collapse;
        border-top: solid #ccc 1px;
        font-size: 16px; }
        @media screen and (max-width: 1100px) {
          #company .content .text table {
            border-top: solid #ccc 0.078125vw;
            font-size: 1.25vw; } }
        @media screen and (max-width: 767px) {
          #company .content .text table {
            border-top: solid #ccc 0.3125vw;
            font-size: 3.125vw; } }
        #company .content .text table th {
          padding: 20px 10px;
          text-align: left;
          vertical-align: middle;
          font-weight: bold;
          border-bottom: solid #ccc 1px; }
          @media screen and (max-width: 1100px) {
            #company .content .text table th {
              padding: 1.5625vw 0.78125vw;
              border-top: solid #ccc 0.078125vw; } }
          @media screen and (max-width: 767px) {
            #company .content .text table th {
              padding: 6.25vw 3.125vw;
              border-top: solid #ccc 0.3125vw;
              width: 25%; } }
        #company .content .text table td {
          padding: 20px 10px;
          text-align: left;
          border-bottom: solid #ccc 1px; }
          @media screen and (max-width: 1100px) {
            #company .content .text table td {
              padding: 1.5625vw 0.78125vw;
              border-top: solid #ccc 0.078125vw; } }
          @media screen and (max-width: 767px) {
            #company .content .text table td {
              padding: 6.25vw 3.125vw;
              border-top: solid #ccc 0.3125vw; } }

#access .title {
  text-align: center;
  margin: 0 0 40px; }
  @media screen and (max-width: 1100px) {
    #access .title {
      margin: 0 0 3.125vw; } }
  @media screen and (max-width: 767px) {
    #access .title {
      margin: 0 0 6.25vw; } }
  #access .title img {
    width: 213px;
    height: auto; }
    @media screen and (max-width: 1100px) {
      #access .title img {
        width: 16.640625vw; } }
    @media screen and (max-width: 767px) {
      #access .title img {
        width: 33.28125vw; } }
#access .gmap iframe {
  width: 100%;
  height: 500px;
  display: block; }
  @media screen and (max-width: 1100px) {
    #access .gmap iframe {
      height: 39.0625vw; } }
  @media screen and (max-width: 767px) {
    #access .gmap iframe {
      height: 93.75vw; } }

.page-header {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 600px; }
  @media screen and (max-width: 1100px) {
    .page-header {
      height: 46.875vw; } }
  @media screen and (max-width: 767px) {
    .page-header {
      height: 62.5vw; } }
  .page-header .inner {
    position: relative; }
  .page-header .page-header-copy {
    height: 400px;
    position: absolute;
    top: 30px; }
    @media screen and (max-width: 1100px) {
      .page-header .page-header-copy {
        height: 31.25vw; } }
    @media screen and (max-width: 767px) {
      .page-header .page-header-copy {
        height: 50vw; } }
    .page-header .page-header-copy h1 span {
      font-size: 40px;
      font-weight: bold;
      letter-spacing: .1em;
      padding: 0 0 5px;
      border-bottom: solid #046cbd 3px; }
      @media screen and (max-width: 1100px) {
        .page-header .page-header-copy h1 span {
          font-size: 3.125vw;
          padding: 0 0 0.390625vw;
          border-bottom: solid #046cbd 0.234375vw; } }
      @media screen and (max-width: 767px) {
        .page-header .page-header-copy h1 span {
          font-size: 6.25vw;
          padding: 0 0 1.5625vw;
          border-bottom: solid #046cbd 0.625vw; } }
    .page-header .page-header-copy h1 {
      margin-left: 35px; }
    .page-header .page-header-copy h2 {
      width: 65%;
      margin-top: 25px; }
      @media screen and (max-width: 767px) {
        .page-header .page-header-copy h2 {
          width: 97%; } }

#page-header-common {
  background-image: url(../img/idpic/common-header-bg.jpg); }

#page-header-recruit {
  background-image: url(../img/idpic/recruit-header-bg.jpg); }

#page-header-self {
  background-image: url(../img/idpic/self-header-bg.jpg); }

#page-header-faq {
  background-image: url(../img/idpic/faq-header-bg.jpg);
  height: 300px; }
  #page-header-faq .page-header-copy {
    justify-content: end;
    padding: 0 100px;
    position: unset;
    display: flex;
    align-items: center;
    height: 270px; }
    @media screen and (max-width: 1100px) {
      #page-header-faq .page-header-copy {
        padding: 0 7.8125vw; } }
    @media screen and (max-width: 767px) {
      #page-header-faq .page-header-copy {
        padding: 0 6.25vw; } }

#page-header-column {
  background-image: url(../img/idpic/column-header-bg.jpg);
  height: 300px; }
  #page-header-column .page-header-copy {
    justify-content: end;
    padding: 0 100px;
    position: unset;
    display: flex;
    align-items: center;
    height: 270px; }
    @media screen and (max-width: 1100px) {
      #page-header-column .page-header-copy {
        padding: 0 7.8125vw; } }
    @media screen and (max-width: 767px) {
      #page-header-column .page-header-copy {
        padding: 0 6.25vw; } }

#page-header-examination {
  background-image: url(../img/idpic/examination-header-bg.jpg); }

.breadcrumbs {
  padding: 20px 0; }
  @media screen and (max-width: 1100px) {
    .breadcrumbs {
      padding: 1.5625vw; } }
  @media screen and (max-width: 767px) {
    .breadcrumbs {
      padding: 3.125vw 6.25vw; } }
  .breadcrumbs ul {
    display: flex;
    flex-wrap: wrap; }
    .breadcrumbs ul li {
      font-size: 15px;
      position: relative;
      padding: 0 20px 0 0;
      margin: 0 1em 0 0; }
      @media screen and (max-width: 1100px) {
        .breadcrumbs ul li {
          font-size: 1.171875vw;
          padding: 0 1.5625vw 0 0; } }
      @media screen and (max-width: 767px) {
        .breadcrumbs ul li {
          font-size: 3.75vw;
          padding: 0 4.375vw 0 0;
          margin: 0 .5em 0 0; } }
      .breadcrumbs ul li:after {
        content: ">";
        display: block;
        position: absolute;
        top: 0;
        right: 0; }
      .breadcrumbs ul li a {
        display: inline-block;
        color: #046cbd;
        font-weight: bold; }
        .breadcrumbs ul li a:hover {
          text-decoration: underline; }
      .breadcrumbs ul li:last-child {
        margin: 0;
        padding: 0; }
        .breadcrumbs ul li:last-child:after {
          content: none; }

#check-point {
  padding: 20px 0 0; }
  @media screen and (max-width: 1100px) {
    #check-point {
      padding: 1.5625vw 1.5625vw 0; } }
  @media screen and (max-width: 767px) {
    #check-point {
      padding: 6.25vw 3.125vw 0; } }
  #check-point h2 {
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    margin: 0 0 45px; }
    @media screen and (max-width: 1100px) {
      #check-point h2 {
        font-size: 3.125vw;
        margin: 0 0 3.515625vw; } }
    @media screen and (max-width: 767px) {
      #check-point h2 {
        font-size: 5.625vw;
        margin: 0 0 6.25vw; } }
  #check-point .check-point-container ul {
    position: relative;
    height: 230px; }
    @media screen and (max-width: 1100px) {
      #check-point .check-point-container ul {
        height: 17.96875vw; } }
    @media screen and (max-width: 767px) {
      #check-point .check-point-container ul {
        height: 71.875vw; } }
    #check-point .check-point-container ul li {
      width: 249px;
      height: 216px;
      position: absolute;
      display: flex;
      align-items: center;
      justify-content: center; }
      @media screen and (max-width: 1100px) {
        #check-point .check-point-container ul li {
          width: 19.453125vw;
          height: 16.875vw; } }
      @media screen and (max-width: 767px) {
        #check-point .check-point-container ul li {
          width: 38.75vw;
          height: 33.75vw; } }
      #check-point .check-point-container ul li span {
        display: block;
        font-size: 18px;
        text-align: center;
        line-height: 1.8;
        padding: 0 0 40px; }
        @media screen and (max-width: 1100px) {
          #check-point .check-point-container ul li span {
            font-size: 1.40625vw;
            padding: 0 0 3.125vw; } }
        @media screen and (max-width: 767px) {
          #check-point .check-point-container ul li span {
            font-size: 3.125vw;
            padding: 0 0 6.25vw; } }
      #check-point .check-point-container ul li:nth-child(1) {
        top: 90px;
        left: 0;
        background: url(../img/idpic/fukidashi01.png) no-repeat center/contain; }
        @media screen and (max-width: 1100px) {
          #check-point .check-point-container ul li:nth-child(1) {
            top: 7.03125vw; } }
        @media screen and (max-width: 767px) {
          #check-point .check-point-container ul li:nth-child(1) {
            top: 37.8125vw; } }
      #check-point .check-point-container ul li:nth-child(2) {
        top: 0;
        left: 282px;
        background: url(../img/idpic/fukidashi01.png) no-repeat center/contain; }
        @media screen and (max-width: 1100px) {
          #check-point .check-point-container ul li:nth-child(2) {
            left: 22.03125vw; } }
        @media screen and (max-width: 767px) {
          #check-point .check-point-container ul li:nth-child(2) {
            left: 0vw; } }
      #check-point .check-point-container ul li:nth-child(3) {
        top: 0;
        right: 282px;
        background: url(../img/idpic/fukidashi02.png) no-repeat center/contain; }
        @media screen and (max-width: 1100px) {
          #check-point .check-point-container ul li:nth-child(3) {
            right: 22.03125vw; } }
        @media screen and (max-width: 767px) {
          #check-point .check-point-container ul li:nth-child(3) {
            right: 0vw; } }
      #check-point .check-point-container ul li:nth-child(4) {
        top: 90px;
        right: 0;
        background: url(../img/idpic/fukidashi02.png) no-repeat center/contain; }
        @media screen and (max-width: 1100px) {
          #check-point .check-point-container ul li:nth-child(4) {
            top: 7.03125vw; } }
        @media screen and (max-width: 767px) {
          #check-point .check-point-container ul li:nth-child(4) {
            top: 37.8125vw; } }
  #check-point .check-point-container .dome {
    background: url(../img/idpic/circle01.png) no-repeat center top/100% auto;
    padding: 0 0 40px; }
    @media screen and (max-width: 1100px) {
      #check-point .check-point-container .dome {
        padding: 0 0 3.125vw; } }
    @media screen and (max-width: 767px) {
      #check-point .check-point-container .dome {
        padding: 0 3.125vw 3.125vw;
        background: none; } }
    #check-point .check-point-container .dome h3 {
      font-size: 36px;
      font-weight: bold;
      padding: 75px 0 30px;
      text-align: center; }
      @media screen and (max-width: 1100px) {
        #check-point .check-point-container .dome h3 {
          font-size: 2.8125vw;
          padding: 5.859375vw 0 2.34375vw; } }
      @media screen and (max-width: 767px) {
        #check-point .check-point-container .dome h3 {
          font-size: 5vw;
          padding: 6.25vw 0 1.5625vw; } }
      #check-point .check-point-container .dome h3 strong {
        font-size: 48px;
        font-weight: bold;
        color: #ff2e87; }
        @media screen and (max-width: 1100px) {
          #check-point .check-point-container .dome h3 strong {
            font-size: 3.75vw; } }
        @media screen and (max-width: 767px) {
          #check-point .check-point-container .dome h3 strong {
            font-size: 6.25vw; } }
    #check-point .check-point-container .dome p {
      font-size: 16px;
      line-height: 1.8;
      text-align: center; }
      @media screen and (max-width: 1100px) {
        #check-point .check-point-container .dome p {
          font-size: 1.25vw; } }
      @media screen and (max-width: 767px) {
        #check-point .check-point-container .dome p {
          font-size: 3.125vw; } }
      #check-point .check-point-container .dome p small {
        font-size: 14px; }
        @media screen and (max-width: 1100px) {
          #check-point .check-point-container .dome p small {
            font-size: 1.09375vw; } }
        @media screen and (max-width: 767px) {
          #check-point .check-point-container .dome p small {
            font-size: 2.5vw; } }

#page-case {
  margin: 0 0 100px; }
  @media screen and (max-width: 1100px) {
    #page-case {
      margin: 0 0 7.8125vw; } }
  @media screen and (max-width: 767px) {
    #page-case {
      margin: 0 3.125vw 18.75vw; } }
  #page-case .body .case .case-box {
    background-color: transparent; }
    #page-case .body .case .case-box .case-content .case-content-box {
      background-color: #fff; }
  #page-case .in-btn {
    display: flex;
    justify-content: space-between;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      #page-case .in-btn {
        display: block; } }
    #page-case .in-btn li {
      margin-left: 10px; }
      @media screen and (max-width: 767px) {
        #page-case .in-btn li {
          margin-bottom: 20px;
          text-align: center; } }
      #page-case .in-btn li a {
        display: inline-block;
        color: #fff;
        font-size: 16px;
        text-align: center;
        letter-spacing: .1em;
        padding: 15px 20px;
        border-radius: 40px;
        width: 300px;
        background-color: #046cbd; }

.notebox {
  background-color: #ececec;
  padding: 15px;
  margin-bottom: 40px; }
  @media screen and (max-width: 1100px) {
    .notebox {
      padding: 1.171875vw; } }
  @media screen and (max-width: 767px) {
    .notebox {
      padding: 3.125vw; } }
  .notebox p {
    font-size: 90%; }

.plan-container {
  margin-bottom: 60px;
  border: solid #046cbd 3px; }
  @media screen and (max-width: 1100px) {
    .plan-container {
      border: solid #046cbd 0.234375vw; } }
  @media screen and (max-width: 767px) {
    .plan-container {
      border: solid #046cbd 0.625vw;
      margin: 0 3.125vw 9.375vw 3.125vw; } }
  .plan-container .plan-container-title {
    padding: 15px 0;
    background-color: #046cbd; }
    @media screen and (max-width: 1100px) {
      .plan-container .plan-container-title {
        padding: 1.171875vw 0; } }
    @media screen and (max-width: 767px) {
      .plan-container .plan-container-title {
        padding: 3.125vw; } }
    .plan-container .plan-container-title h3 {
      text-align: center;
      color: #fff;
      font-size: 30px;
      font-weight: bold; }
      @media screen and (max-width: 1100px) {
        .plan-container .plan-container-title h3 {
          font-size: 2.34375vw; } }
      @media screen and (max-width: 767px) {
        .plan-container .plan-container-title h3 {
          font-size: 5vw; } }
    .plan-container .plan-container-title p {
      text-align: center;
      padding: 5px 0 0;
      color: #fff;
      font-size: 24px;
      font-weight: bold; }
      @media screen and (max-width: 1100px) {
        .plan-container .plan-container-title p {
          padding: 0.390625vw 0 0;
          font-size: 1.875vw; } }
      @media screen and (max-width: 767px) {
        .plan-container .plan-container-title p {
          padding: 1.5625vw 0 0;
          font-size: 3.125vw; } }
  .plan-container .plan-container-basic {
    padding: 50px 40px 40px;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 1100px) {
      .plan-container .plan-container-basic {
        padding: 3.90625vw 3.125vw 3.125vw; } }
    @media screen and (max-width: 767px) {
      .plan-container .plan-container-basic {
        display: block;
        padding: 7.8125vw 6.25vw 6.25vw; } }
    .plan-container .plan-container-basic .plan-container-basic-text {
      margin-right: 10px; }
      @media screen and (max-width: 767px) {
        .plan-container .plan-container-basic .plan-container-basic-text {
          margin-right: 0; } }
      .plan-container .plan-container-basic .plan-container-basic-text .discount {
        position: relative;
        width: 270px; }
        .plan-container .plan-container-basic .plan-container-basic-text .discount .icon {
          position: absolute;
          top: -20px;
          left: 180px; }
          @media screen and (max-width: 1100px) {
            .plan-container .plan-container-basic .plan-container-basic-text .discount .icon {
              top: -1.5625vw;
              left: 14.0625vw; } }
          @media screen and (max-width: 767px) {
            .plan-container .plan-container-basic .plan-container-basic-text .discount .icon {
              top: -3.125vw;
              left: auto;
              right: 0;
              width: 100%; } }
          .plan-container .plan-container-basic .plan-container-basic-text .discount .icon img {
            width: auto;
            height: 76px; }
            @media screen and (max-width: 1100px) {
              .plan-container .plan-container-basic .plan-container-basic-text .discount .icon img {
                height: 5.9375vw; } }
            @media screen and (max-width: 767px) {
              .plan-container .plan-container-basic .plan-container-basic-text .discount .icon img {
                height: 11.875vw; } }
        .plan-container .plan-container-basic .plan-container-basic-text .discount .tag {
          display: inline-block;
          font-size: 20px;
          color: #fff;
          padding: 5px 10px;
          background-color: #ff2e87;
          border-radius: 3px;
          margin: 0 0 20px; }
          @media screen and (max-width: 1100px) {
            .plan-container .plan-container-basic .plan-container-basic-text .discount .tag {
              font-size: 1.5625vw;
              padding: 0.390625vw 0.78125vw;
              border-radius: 0.234375vw;
              margin: 0 0 1.5625vw; } }
          @media screen and (max-width: 767px) {
            .plan-container .plan-container-basic .plan-container-basic-text .discount .tag {
              font-size: 4.375vw;
              padding: 1.5625vw 3.125vw;
              border-radius: 0.625vw;
              margin: 0 0 3.125vw; } }
        .plan-container .plan-container-basic .plan-container-basic-text .discount .price-discount {
          display: flex;
          align-items: end;
          margin: 0 0 20px;
          line-height: 1;
          font-weight: bold; }
          @media screen and (max-width: 1100px) {
            .plan-container .plan-container-basic .plan-container-basic-text .discount .price-discount {
              margin: 0 0 1.5625vw; } }
          @media screen and (max-width: 767px) {
            .plan-container .plan-container-basic .plan-container-basic-text .discount .price-discount {
              margin: 0 0 3.125vw; } }
          .plan-container .plan-container-basic .plan-container-basic-text .discount .price-discount strong {
            font-size: 25px;
            font-weight: bold;
            color: #ff2e87; }
            @media screen and (max-width: 1100px) {
              .plan-container .plan-container-basic .plan-container-basic-text .discount .price-discount strong {
                font-size: 1.953125vw; } }
            @media screen and (max-width: 767px) {
              .plan-container .plan-container-basic .plan-container-basic-text .discount .price-discount strong {
                font-size: 5.625vw; } }
          .plan-container .plan-container-basic .plan-container-basic-text .discount .price-discount small {
            font-size: 16px;
            font-weight: bold; }
            @media screen and (max-width: 1100px) {
              .plan-container .plan-container-basic .plan-container-basic-text .discount .price-discount small {
                font-size: 1.25vw; } }
            @media screen and (max-width: 767px) {
              .plan-container .plan-container-basic .plan-container-basic-text .discount .price-discount small {
                font-size: 3.125vw; } }
        .plan-container .plan-container-basic .plan-container-basic-text .discount .price-basic {
          display: flex;
          align-items: end;
          font-weight: bold;
          line-height: 1;
          margin: 0 0 15px; }
          @media screen and (max-width: 1100px) {
            .plan-container .plan-container-basic .plan-container-basic-text .discount .price-basic {
              margin: 0 0 1.171875vw; } }
          @media screen and (max-width: 767px) {
            .plan-container .plan-container-basic .plan-container-basic-text .discount .price-basic {
              margin: 0 0 3.125vw; } }
          .plan-container .plan-container-basic .plan-container-basic-text .discount .price-basic strong {
            font-size: 25px;
            font-weight: bold;
            color: #ff2e87; }
            @media screen and (max-width: 1100px) {
              .plan-container .plan-container-basic .plan-container-basic-text .discount .price-basic strong {
                font-size: 1.953125vw; } }
            @media screen and (max-width: 767px) {
              .plan-container .plan-container-basic .plan-container-basic-text .discount .price-basic strong {
                font-size: 5.625vw; } }
          .plan-container .plan-container-basic .plan-container-basic-text .discount .price-basic small {
            font-size: 16px;
            font-weight: bold; }
            @media screen and (max-width: 1100px) {
              .plan-container .plan-container-basic .plan-container-basic-text .discount .price-basic small {
                font-size: 1.25vw; } }
            @media screen and (max-width: 767px) {
              .plan-container .plan-container-basic .plan-container-basic-text .discount .price-basic small {
                font-size: 3.125vw; } }
      .plan-container .plan-container-basic .plan-container-basic-text .notes {
        padding: 12px 20px;
        background-color: #fff3f8; }
        @media screen and (max-width: 1100px) {
          .plan-container .plan-container-basic .plan-container-basic-text .notes {
            padding: 0.9375vw 1.5625vw; } }
        @media screen and (max-width: 767px) {
          .plan-container .plan-container-basic .plan-container-basic-text .notes {
            padding: 2.5vw 3.75vw; } }
        .plan-container .plan-container-basic .plan-container-basic-text .notes p {
          font-size: 16px;
          line-height: 1.8; }
          @media screen and (max-width: 1100px) {
            .plan-container .plan-container-basic .plan-container-basic-text .notes p {
              font-size: 1.25vw; } }
          @media screen and (max-width: 767px) {
            .plan-container .plan-container-basic .plan-container-basic-text .notes p {
              font-size: 3.125vw; } }
    .plan-container .plan-container-basic .plan-container-basic-text02 .icon {
      display: block;
      width: 190px;
      margin: auto; }
      @media screen and (max-width: 767px) {
        .plan-container .plan-container-basic .plan-container-basic-text02 .icon {
          margin-top: 6.25vw; } }
    .plan-container .plan-container-basic .plan-container-basic-text02 p {
      padding: 20px; }
    .plan-container .plan-container-basic .plan-container-basic-text02 P.p-text {
      padding: 0 20px; }
    .plan-container .plan-container-basic .plan-container-basic-text02 p.blue-text {
      color: #046cbd;
      font-size: 16px;
      font-weight: bold;
      margin-bottom: 10px; }
    .plan-container .plan-container-basic .plan-container-basic-image {
      display: flex; }
      @media screen and (max-width: 767px) {
        .plan-container .plan-container-basic .plan-container-basic-image {
          padding: 3.125vw 0 0;
          display: block; } }
      .plan-container .plan-container-basic .plan-container-basic-image figure {
        margin: 0 0 0 20px;
        width: 240px;
        height: 320px;
        overflow: hidden; }
        @media screen and (max-width: 1100px) {
          .plan-container .plan-container-basic .plan-container-basic-image figure {
            margin: 0 0 0 1.5625vw;
            width: 18.75vw;
            height: 25vw; } }
        @media screen and (max-width: 767px) {
          .plan-container .plan-container-basic .plan-container-basic-image figure {
            margin: 0;
            width: 100%;
            height: auto; } }
        .plan-container .plan-container-basic .plan-container-basic-image figure img {
          width: 100%;
          height: 100%;
          object-fit: cover; }
  .plan-container .plan-container-tags {
    padding: 0 10px 10px; }
    @media screen and (max-width: 1100px) {
      .plan-container .plan-container-tags {
        padding: 0 0.78125vw 0.78125vw; } }
    @media screen and (max-width: 767px) {
      .plan-container .plan-container-tags {
        padding: 0 6.25vw 6.25vw; } }
    .plan-container .plan-container-tags ul {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      @media screen and (max-width: 767px) {
        .plan-container .plan-container-tags ul {
          display: block; } }
      .plan-container .plan-container-tags ul li {
        width: 220px;
        font-size: 16px;
        border: solid #046cbd 2px;
        padding: 4px;
        color: #046cbd;
        font-weight: bold;
        text-align: center;
        border-radius: 4px;
        margin-bottom: 20px; }
        @media screen and (max-width: 1100px) {
          .plan-container .plan-container-tags ul li {
            width: 17.1875vw;
            font-size: 1.25vw;
            border: solid #046cbd 0.15625vw;
            padding: 0.3125vw;
            border-radius: 0.3125vw; } }
        @media screen and (max-width: 767px) {
          .plan-container .plan-container-tags ul li {
            width: auto;
            font-size: 3.125vw;
            border: solid #046cbd 0.625vw;
            padding: 1.25vw;
            border-radius: 1.25vw;
            margin: 0 0 1.25vw; } }
  .plan-container .plan-container-options {
    padding: 0 40px 20px; }
    @media screen and (max-width: 1100px) {
      .plan-container .plan-container-options {
        padding: 0 3.125vw 1.5625vw; } }
    @media screen and (max-width: 767px) {
      .plan-container .plan-container-options {
        padding: 0 3.125vw 3.125vw; } }
    .plan-container .plan-container-options h3 {
      position: relative;
      margin: 0 0 40px; }
      @media screen and (max-width: 1100px) {
        .plan-container .plan-container-options h3 {
          margin: 0 0 3.125vw; } }
      @media screen and (max-width: 767px) {
        .plan-container .plan-container-options h3 {
          margin: 0 0 6.25vw; } }
      .plan-container .plan-container-options h3:before {
        content: "";
        width: 100%;
        height: 3px;
        background-color: #046cbd;
        position: absolute;
        bottom: 5px;
        left: 0; }
        @media screen and (max-width: 1100px) {
          .plan-container .plan-container-options h3:before {
            height: 0.234375vw;
            bottom: 0.390625vw; } }
        @media screen and (max-width: 767px) {
          .plan-container .plan-container-options h3:before {
            height: 0.9375vw;
            bottom: 0.390625vw; } }
      .plan-container .plan-container-options h3 span {
        position: relative;
        display: inline-block;
        padding: 0 10px 0 0;
        background-color: #fff;
        color: #046cbd;
        font-size: 26px;
        font-weight: bold;
        z-index: 2; }
        @media screen and (max-width: 1100px) {
          .plan-container .plan-container-options h3 span {
            padding: 0 0.78125vw 0 0;
            font-size: 2.03125vw; } }
        @media screen and (max-width: 767px) {
          .plan-container .plan-container-options h3 span {
            padding: 0 3.125vw 0 0;
            font-size: 5.625vw; } }
    .plan-container .plan-container-options .plan-container-options-retouch {
      display: flex;
      justify-content: space-between;
      margin: 0 0 40px; }
      @media screen and (max-width: 1100px) {
        .plan-container .plan-container-options .plan-container-options-retouch {
          margin: 0 0 3.125vw; } }
      @media screen and (max-width: 767px) {
        .plan-container .plan-container-options .plan-container-options-retouch {
          display: block;
          margin: 0 0 6.25vw; } }
      .plan-container .plan-container-options .plan-container-options-retouch > div {
        width: 49%; }
        @media screen and (max-width: 767px) {
          .plan-container .plan-container-options .plan-container-options-retouch > div {
            width: auto;
            margin: 0 0 3.125vw; } }
      .plan-container .plan-container-options .plan-container-options-retouch .retouch-box {
        border: solid #ccc 1px;
        padding: 20px 25px 10px; }
        @media screen and (max-width: 1100px) {
          .plan-container .plan-container-options .plan-container-options-retouch .retouch-box {
            border: solid #ccc 0.078125vw;
            padding: 1.5625vw 1.953125vw 0.78125vw; } }
        @media screen and (max-width: 767px) {
          .plan-container .plan-container-options .plan-container-options-retouch .retouch-box {
            border: solid #ccc 0.3125vw;
            padding: 3.125vw 4.6875vw 1.5625vw; } }
      .plan-container .plan-container-options .plan-container-options-retouch .retouch-title {
        display: flex;
        align-items: end;
        margin: 0 0 20px; }
        @media screen and (max-width: 1100px) {
          .plan-container .plan-container-options .plan-container-options-retouch .retouch-title {
            margin: 0 0 1.5625vw; } }
        @media screen and (max-width: 767px) {
          .plan-container .plan-container-options .plan-container-options-retouch .retouch-title {
            margin: 0 0 3.125vw; } }
        .plan-container .plan-container-options .plan-container-options-retouch .retouch-title h4 {
          font-size: 20px;
          font-weight: bold;
          color: #046cbd;
          margin: 0 1em 0 0; }
          @media screen and (max-width: 1100px) {
            .plan-container .plan-container-options .plan-container-options-retouch .retouch-title h4 {
              font-size: 1.5625vw; } }
          @media screen and (max-width: 767px) {
            .plan-container .plan-container-options .plan-container-options-retouch .retouch-title h4 {
              font-size: 3.125vw; } }
        .plan-container .plan-container-options .plan-container-options-retouch .retouch-title strong {
          font-size: 26px;
          font-weight: bold;
          color: #ff2e87; }
          @media screen and (max-width: 1100px) {
            .plan-container .plan-container-options .plan-container-options-retouch .retouch-title strong {
              font-size: 2.03125vw; } }
          @media screen and (max-width: 767px) {
            .plan-container .plan-container-options .plan-container-options-retouch .retouch-title strong {
              font-size: 5.625vw; } }
        .plan-container .plan-container-options .plan-container-options-retouch .retouch-title small {
          font-size: 16px;
          font-weight: bold; }
          @media screen and (max-width: 1100px) {
            .plan-container .plan-container-options .plan-container-options-retouch .retouch-title small {
              font-size: 1.25vw; } }
          @media screen and (max-width: 767px) {
            .plan-container .plan-container-options .plan-container-options-retouch .retouch-title small {
              font-size: 3.125vw; } }
      .plan-container .plan-container-options .plan-container-options-retouch .retouch-list {
        padding: 8px 15px;
        background-color: #ebf6ff;
        margin: 0 0 10px; }
        @media screen and (max-width: 1100px) {
          .plan-container .plan-container-options .plan-container-options-retouch .retouch-list {
            padding: 0.625vw 1.171875vw;
            margin: 0 0 0.78125vw; } }
        @media screen and (max-width: 767px) {
          .plan-container .plan-container-options .plan-container-options-retouch .retouch-list {
            padding: 1.25vw 3.125vw;
            margin: 0 0 1.5625vw; } }
        .plan-container .plan-container-options .plan-container-options-retouch .retouch-list p {
          font-size: 16px;
          line-height: 2; }
          @media screen and (max-width: 1100px) {
            .plan-container .plan-container-options .plan-container-options-retouch .retouch-list p {
              font-size: 1.25vw; } }
          @media screen and (max-width: 767px) {
            .plan-container .plan-container-options .plan-container-options-retouch .retouch-list p {
              font-size: 3.125vw; } }
        .plan-container .plan-container-options .plan-container-options-retouch .retouch-list ul {
          display: flex;
          flex-wrap: wrap; }
          @media screen and (max-width: 767px) {
            .plan-container .plan-container-options .plan-container-options-retouch .retouch-list ul {
              display: block; } }
          .plan-container .plan-container-options .plan-container-options-retouch .retouch-list ul li {
            font-size: 16px;
            line-height: 2;
            width: 50%; }
            @media screen and (max-width: 1100px) {
              .plan-container .plan-container-options .plan-container-options-retouch .retouch-list ul li {
                font-size: 1.25vw; } }
            @media screen and (max-width: 767px) {
              .plan-container .plan-container-options .plan-container-options-retouch .retouch-list ul li {
                font-size: 3.125vw;
                width: auto; } }
      .plan-container .plan-container-options .plan-container-options-retouch .retouch01 .retouch-images ul {
        display: flex;
        justify-content: space-between;
        margin: 0 0 20px; }
        @media screen and (max-width: 1100px) {
          .plan-container .plan-container-options .plan-container-options-retouch .retouch01 .retouch-images ul {
            margin: 0 0 1.5625vw; } }
        @media screen and (max-width: 767px) {
          .plan-container .plan-container-options .plan-container-options-retouch .retouch01 .retouch-images ul {
            margin: 0 0 3.125vw; } }
        .plan-container .plan-container-options .plan-container-options-retouch .retouch01 .retouch-images ul:last-child {
          margin: 0; }
        .plan-container .plan-container-options .plan-container-options-retouch .retouch01 .retouch-images ul li {
          width: 46%;
          text-align: center; }
          .plan-container .plan-container-options .plan-container-options-retouch .retouch01 .retouch-images ul li p {
            font-size: 16px;
            padding: 10px 0 0;
            font-weight: bold; }
            @media screen and (max-width: 1100px) {
              .plan-container .plan-container-options .plan-container-options-retouch .retouch01 .retouch-images ul li p {
                font-size: 1.25vw;
                padding: 0.78125vw 0 0; } }
            @media screen and (max-width: 767px) {
              .plan-container .plan-container-options .plan-container-options-retouch .retouch01 .retouch-images ul li p {
                font-size: 3.125vw;
                padding: 1.5625vw 0 0; } }
            .plan-container .plan-container-options .plan-container-options-retouch .retouch01 .retouch-images ul li p strong {
              color: #046cbd;
              font-weight: bold; }
      .plan-container .plan-container-options .plan-container-options-retouch .retouch02 .retouch-images {
        padding: 19px 0; }
        @media screen and (max-width: 1100px) {
          .plan-container .plan-container-options .plan-container-options-retouch .retouch02 .retouch-images {
            padding: 1.484375vw 0; } }
        @media screen and (max-width: 767px) {
          .plan-container .plan-container-options .plan-container-options-retouch .retouch02 .retouch-images {
            padding: 4.375vw 0; } }
        .plan-container .plan-container-options .plan-container-options-retouch .retouch02 .retouch-images ul {
          display: flex;
          justify-content: space-between;
          margin: 0 0 20px; }
          @media screen and (max-width: 1100px) {
            .plan-container .plan-container-options .plan-container-options-retouch .retouch02 .retouch-images ul {
              margin: 0 0 1.5625vw; } }
          @media screen and (max-width: 767px) {
            .plan-container .plan-container-options .plan-container-options-retouch .retouch02 .retouch-images ul {
              margin: 0 0 3.125vw; } }
          .plan-container .plan-container-options .plan-container-options-retouch .retouch02 .retouch-images ul:last-child {
            margin: 0; }
          .plan-container .plan-container-options .plan-container-options-retouch .retouch02 .retouch-images ul li {
            width: 46%;
            text-align: center; }
            .plan-container .plan-container-options .plan-container-options-retouch .retouch02 .retouch-images ul li p {
              font-size: 16px;
              padding: 10px 0 0;
              font-weight: bold; }
              @media screen and (max-width: 1100px) {
                .plan-container .plan-container-options .plan-container-options-retouch .retouch02 .retouch-images ul li p {
                  padding: 0.78125vw 0 0; } }
              @media screen and (max-width: 767px) {
                .plan-container .plan-container-options .plan-container-options-retouch .retouch02 .retouch-images ul li p {
                  padding: 1.5625vw 0 0; } }
              .plan-container .plan-container-options .plan-container-options-retouch .retouch02 .retouch-images ul li p strong {
                color: #046cbd;
                font-weight: bold; }
  .plan-container .btn {
    padding: 0 0 60px;
    text-align: center; }
    @media screen and (max-width: 1100px) {
      .plan-container .btn {
        padding: 0 0 4.6875vw; } }
    @media screen and (max-width: 767px) {
      .plan-container .btn {
        padding: 0 6.25vw 9.375vw; } }
    .plan-container .btn i {
      margin: 0 10px 0 0; }
      @media screen and (max-width: 1100px) {
        .plan-container .btn i {
          margin: 0 0.78125vw 0 0; } }
      @media screen and (max-width: 767px) {
        .plan-container .btn i {
          margin: 0 1.5625vw 0 0;
          vertical-align: middle;
          display: inline-block; } }
      .plan-container .btn i img {
        width: 29px;
        height: auto; }
        @media screen and (max-width: 1100px) {
          .plan-container .btn i img {
            width: 2.265625vw; } }
        @media screen and (max-width: 767px) {
          .plan-container .btn i img {
            width: 4.375vw;
            vertical-align: middle;
            display: block; } }
    .plan-container .btn a {
      display: inline-block;
      color: #fff;
      font-size: 16px;
      text-align: center;
      letter-spacing: .1em;
      padding: 15px 20px;
      border-radius: 40px;
      width: 300px;
      background-color: #046cbd; }
      @media screen and (max-width: 1100px) {
        .plan-container .btn a {
          font-size: 1.25vw;
          padding: 1.171875vw 1.5625vw;
          border-radius: 3.125vw;
          width: 23.4375vw; } }
      @media screen and (max-width: 767px) {
        .plan-container .btn a {
          display: block;
          font-size: 5vw;
          padding: 4.6875vw 6.25vw;
          border-radius: 12.5vw;
          width: auto; } }
      .plan-container .btn a span {
        display: block;
        background: url(../img/idpic/btn-arrow.png) no-repeat center right/8px auto; }
        @media screen and (max-width: 1100px) {
          .plan-container .btn a span {
            background: url(../img/idpic/btn-arrow.png) no-repeat center right/0.625vw auto; } }
        @media screen and (max-width: 767px) {
          .plan-container .btn a span {
            background: url(../img/idpic/btn-arrow.png) no-repeat center right/2.5vw auto; } }
  .plan-container .type01 .plan-container-basic-text {
    width: 60%; }
    @media screen and (max-width: 767px) {
      .plan-container .type01 .plan-container-basic-text {
        width: 100%; } }
    .plan-container .type01 .plan-container-basic-text .discount {
      width: 100%; }
    @media screen and (max-width: 767px) {
      .plan-container .type01 .plan-container-basic-text .price-basic {
        font-size: 13px; } }
    @media screen and (max-width: 767px) {
      .plan-container .type01 .plan-container-basic-text .plan-container-basic-text02 p {
        font-size: 13px;
        padding: 10px 5px;
        line-height: 2; } }
  .plan-container .type01 .plan-container-basic-image figure {
    width: 100%; }
  .plan-container .type01 .plan-container-tags ul {
    justify-content: left; }
    .plan-container .type01 .plan-container-tags ul li {
      width: 30%;
      margin-right: 5px; }
      @media screen and (max-width: 767px) {
        .plan-container .type01 .plan-container-tags ul li {
          width: 100%; } }

.hairmake p {
  margin-bottom: 20px; }

.makebox {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 767px) {
    .makebox {
      display: block; } }
  .makebox .hairmake-image {
    width: 40%; }
    @media screen and (max-width: 767px) {
      .makebox .hairmake-image {
        width: 100%; } }
  .makebox .hairmake-plan {
    width: 55%; }
    @media screen and (max-width: 767px) {
      .makebox .hairmake-plan {
        width: 100%;
        margin-top: 6.25vw; } }
    .makebox .hairmake-plan ul li {
      margin-bottom: 20px;
      border-bottom: 1px solid #ccc;
      padding-bottom: 10px; }
  .makebox .make-lists-content {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .makebox .make-lists-content {
        display: block; } }
    .makebox .make-lists-content h4 {
      font-size: 20px;
      font-weight: bold;
      color: #046cbd; }

.option-lists {
  margin-bottom: 50px; }
  @media screen and (max-width: 767px) {
    .option-lists {
      padding: 6.25vw; } }
  .option-lists h3 {
    position: relative;
    margin: 0 0 30px; }
    @media screen and (max-width: 1100px) {
      .option-lists h3 {
        margin: 0 0 2.34375vw; } }
    @media screen and (max-width: 767px) {
      .option-lists h3 {
        margin: 0 0 6.25vw; } }
    .option-lists h3:before {
      content: "";
      width: 100%;
      height: 3px;
      background-color: #046cbd;
      position: absolute;
      bottom: 5px;
      left: 0; }
      @media screen and (max-width: 1100px) {
        .option-lists h3:before {
          height: 0.234375vw;
          bottom: 0.390625vw; } }
      @media screen and (max-width: 767px) {
        .option-lists h3:before {
          height: 0.9375vw;
          bottom: 1.5625vw; } }
    .option-lists h3 span {
      position: relative;
      display: inline-block;
      padding: 0 20px 0 0;
      background-color: #fff;
      color: #046cbd;
      font-size: 26px;
      font-weight: bold;
      z-index: 2; }
      @media screen and (max-width: 1100px) {
        .option-lists h3 span {
          padding: 0 1.5625vw 0 0;
          font-size: 2.03125vw; } }
      @media screen and (max-width: 767px) {
        .option-lists h3 span {
          padding: 0 3.125vw 0 0;
          font-size: 5vw; } }
  .option-lists ul {
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 767px) {
      .option-lists ul {
        display: block; } }
    .option-lists ul li {
      width: 32%;
      margin: 0 2% 20px 0; }
      @media screen and (max-width: 1100px) {
        .option-lists ul li {
          margin: 0 2% 1.5625vw 0; } }
      @media screen and (max-width: 767px) {
        .option-lists ul li {
          width: auto;
          margin: 0 0 3.125vw 0; } }
      .option-lists ul li:nth-child(3n) {
        margin: 0 0 20px; }
        @media screen and (max-width: 1100px) {
          .option-lists ul li:nth-child(3n) {
            margin: 0 0 1.5625vw 0; } }
        @media screen and (max-width: 767px) {
          .option-lists ul li:nth-child(3n) {
            margin: 0 0 3.125vw 0; } }
      .option-lists ul li .option-lists-content {
        height: 100%;
        border: solid #ccc 1px;
        padding: 15px; }
        @media screen and (max-width: 1100px) {
          .option-lists ul li .option-lists-content {
            border: solid #ccc 0.078125vw;
            padding: 1.171875vw; } }
        @media screen and (max-width: 767px) {
          .option-lists ul li .option-lists-content {
            border: solid #ccc 0.3125vw;
            padding: 3.125vw; } }
        .option-lists ul li .option-lists-content h4 {
          font-size: 18px;
          font-weight: bold;
          color: #046cbd; }
          @media screen and (max-width: 1100px) {
            .option-lists ul li .option-lists-content h4 {
              font-size: 1.40625vw; } }
          @media screen and (max-width: 767px) {
            .option-lists ul li .option-lists-content h4 {
              font-size: 3.125vw; } }
        .option-lists ul li .option-lists-content .price strong {
          font-size: 26px;
          font-weight: bold;
          color: #ff2e87; }
          @media screen and (max-width: 1100px) {
            .option-lists ul li .option-lists-content .price strong {
              font-size: 2.03125vw; } }
          @media screen and (max-width: 767px) {
            .option-lists ul li .option-lists-content .price strong {
              font-size: 5.625vw; } }
        .option-lists ul li .option-lists-content .price small {
          font-size: 16px;
          font-weight: bold; }
          @media screen and (max-width: 1100px) {
            .option-lists ul li .option-lists-content .price small {
              font-size: 1.25vw; } }
          @media screen and (max-width: 767px) {
            .option-lists ul li .option-lists-content .price small {
              font-size: 3.125vw; } }
        .option-lists ul li .option-lists-content p {
          padding: 10px 0 0;
          font-size: 16px;
          line-height: 1.8; }
          @media screen and (max-width: 1100px) {
            .option-lists ul li .option-lists-content p {
              padding: 0.78125vw 0 0;
              font-size: 1.25vw; } }
          @media screen and (max-width: 767px) {
            .option-lists ul li .option-lists-content p {
              padding: 1.5625vw 0 0;
              font-size: 4.0625vw; } }

#discount-info {
  padding: 0 0 100px; }
  @media screen and (max-width: 1100px) {
    #discount-info {
      padding: 0 0 7.8125vw; } }
  @media screen and (max-width: 767px) {
    #discount-info {
      padding: 0 0 18.75vw; } }
  #discount-info .body {
    padding: 0 40px; }
    @media screen and (max-width: 1100px) {
      #discount-info .body {
        padding: 0 3.125vw; } }
    @media screen and (max-width: 767px) {
      #discount-info .body {
        padding: 0 6.25vw; } }
    #discount-info .body h3 {
      position: relative;
      margin: 0 0 30px; }
      @media screen and (max-width: 1100px) {
        #discount-info .body h3 {
          margin: 0 0 2.34375vw; } }
      @media screen and (max-width: 767px) {
        #discount-info .body h3 {
          margin: 0 0 6.25vw; } }
      #discount-info .body h3:before {
        content: "";
        width: 100%;
        height: 3px;
        background-color: #046cbd;
        position: absolute;
        bottom: 5px;
        left: 0; }
        @media screen and (max-width: 1100px) {
          #discount-info .body h3:before {
            height: 0.234375vw;
            bottom: 0.390625vw; } }
        @media screen and (max-width: 767px) {
          #discount-info .body h3:before {
            height: 0.9375vw;
            bottom: 1.5625vw; } }
      #discount-info .body h3 span {
        position: relative;
        display: inline-block;
        padding: 0 20px 0 0;
        background-color: #fff;
        color: #046cbd;
        font-size: 26px;
        font-weight: bold;
        z-index: 2; }
        @media screen and (max-width: 1100px) {
          #discount-info .body h3 span {
            padding: 0 1.5625vw 0 0;
            font-size: 2.03125vw; } }
        @media screen and (max-width: 767px) {
          #discount-info .body h3 span {
            padding: 0 3.125vw 0 0;
            font-size: 5vw; } }
    #discount-info .body ul li {
      display: flex;
      align-items: center;
      font-size: 16px;
      margin: 0 0 20px; }
      @media screen and (max-width: 1100px) {
        #discount-info .body ul li {
          font-size: 1.25vw;
          margin: 0 0 1.5625vw; } }
      @media screen and (max-width: 767px) {
        #discount-info .body ul li {
          flex-direction: column;
          font-size: 3.125vw;
          margin: 0 0 3.125vw; } }
      #discount-info .body ul li strong {
        color: #ff2e87;
        font-weight: bold; }
      #discount-info .body ul li span {
        color: #046cbd;
        font-weight: bold;
        margin: 0 .5em 0 0; }
  #discount-info .btn {
    text-align: center;
    padding: 40px 0 0; }
    @media screen and (max-width: 1100px) {
      #discount-info .btn {
        padding: 3.125vw 0 0; } }
    @media screen and (max-width: 767px) {
      #discount-info .btn {
        padding: 6.25vw 6.25vw 0; } }
    #discount-info .btn a {
      display: inline-block;
      color: #fff;
      font-size: 16px;
      text-align: center;
      letter-spacing: .05em;
      padding: 15px 20px;
      border-radius: 40px;
      width: 480px;
      background-color: #046cbd; }
      @media screen and (max-width: 1100px) {
        #discount-info .btn a {
          font-size: 1.25vw;
          padding: 1.171875vw 1.5625vw;
          border-radius: 3.125vw;
          width: 37.5vw; } }
      @media screen and (max-width: 767px) {
        #discount-info .btn a {
          font-size: 2.8125vw;
          padding: 3.125vw 4.6875vw;
          border-radius: 12.5vw;
          width: 100%; } }
      #discount-info .btn a span {
        display: block;
        background: url(../img/idpic/btn-arrow.png) no-repeat center right/8px auto; }
        @media screen and (max-width: 1100px) {
          #discount-info .btn a span {
            background: url(../img/idpic/btn-arrow.png) no-repeat center right/0.625vw auto; } }
        @media screen and (max-width: 767px) {
          #discount-info .btn a span {
            background: url(../img/idpic/btn-arrow.png) no-repeat center right/1.25vw auto; } }

#faq {
  padding: 20px 0 100px; }
  @media screen and (max-width: 1100px) {
    #faq {
      padding: 1.5625vw 3.125vw 7.8125vw; } }
  @media screen and (max-width: 767px) {
    #faq {
      padding: 3.125vw 6.25vw 18.75vw; } }
  #faq .faq-category {
    margin: 0 0 60px; }
    @media screen and (max-width: 1100px) {
      #faq .faq-category {
        margin: 0 0 4.6875vw; } }
    @media screen and (max-width: 767px) {
      #faq .faq-category {
        margin: 0 0 12.5vw; } }
    #faq .faq-category .faq-category-top {
      display: flex;
      margin: 0 0 40px; }
      @media screen and (max-width: 1100px) {
        #faq .faq-category .faq-category-top {
          margin: 0 0 3.125vw; } }
      @media screen and (max-width: 767px) {
        #faq .faq-category .faq-category-top {
          margin: 0 0 6.25vw; } }
      #faq .faq-category .faq-category-top > div {
        width: 50%;
        text-align: center;
        font-size: 24px; }
        @media screen and (max-width: 1100px) {
          #faq .faq-category .faq-category-top > div {
            font-size: 1.875vw; } }
        @media screen and (max-width: 767px) {
          #faq .faq-category .faq-category-top > div {
            font-size: 5vw; } }
        #faq .faq-category .faq-category-top > div span {
          display: block;
          border-top: solid #046cbd 1px;
          padding: 20px 0;
          background-color: #046cbd;
          color: #fff; }
          @media screen and (max-width: 1100px) {
            #faq .faq-category .faq-category-top > div span {
              border-top: solid #046cbd 0.078125vw;
              padding: 1.5625vw 0; } }
          @media screen and (max-width: 767px) {
            #faq .faq-category .faq-category-top > div span {
              border-top: solid #046cbd 0.3125vw;
              padding: 3.125vw 0; } }
        #faq .faq-category .faq-category-top > div a {
          display: block;
          border-top: solid #046cbd 1px;
          padding: 20px 0;
          background-color: #fff;
          color: #046cbd; }
          @media screen and (max-width: 1100px) {
            #faq .faq-category .faq-category-top > div a {
              border-top: solid #046cbd 0.078125vw;
              padding: 1.5625vw 0; } }
          @media screen and (max-width: 767px) {
            #faq .faq-category .faq-category-top > div a {
              border-top: solid #046cbd 0.3125vw;
              padding: 3.125vw 0; } }
          #faq .faq-category .faq-category-top > div a:hover {
            background-color: #046cbd;
            color: #fff;
            opacity: 1; }
    #faq .faq-category ul {
      display: flex;
      flex-wrap: wrap;
      align-items: center; }
      #faq .faq-category ul li {
        width: 260px;
        height: 50px;
        line-height: 50px;
        border-radius: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #046cbd;
        border: solid #046cbd 3px;
        cursor: pointer;
        transition: 0.3s ease;
        margin: 0 5px 20px; }
        @media screen and (max-width: 1100px) {
          #faq .faq-category ul li {
            width: 20.3125vw;
            height: 3.90625vw;
            line-height: 3.90625vw;
            border-radius: 3.90625vw;
            border: solid #046cbd 0.234375vw;
            margin: 0 0.390625vw 1.5625vw; } }
        @media screen and (max-width: 767px) {
          #faq .faq-category ul li {
            width: 48%;
            height: 9.375vw;
            line-height: 9.375vw;
            border-radius: 9.375vw;
            border: solid #046cbd 0.625vw;
            margin: 0 0 1.875vw; } }
        #faq .faq-category ul li span {
          font-size: 16px;
          font-weight: bold; }
          @media screen and (max-width: 1100px) {
            #faq .faq-category ul li span {
              font-size: 1.25vw; } }
          @media screen and (max-width: 767px) {
            #faq .faq-category ul li span {
              font-size: 2.5vw; } }
        #faq .faq-category ul li.active, #faq .faq-category ul li:hover {
          color: #fff;
          background-color: #046cbd; }
  #faq .faq-lists > div {
    display: none; }
    #faq .faq-lists > div.active {
      display: block; }
  #faq .faq-lists h3 {
    font-size: 30px;
    font-weight: bold;
    padding: 0 0 15px;
    margin: 0 0 40px;
    border-bottom: solid #046cbd 3px;
    color: #046cbd; }
    @media screen and (max-width: 1100px) {
      #faq .faq-lists h3 {
        font-size: 2.34375vw;
        padding: 0 0 1.171875vw;
        margin: 0 0 3.125vw;
        border-bottom: solid #046cbd 0.234375vw; } }
    @media screen and (max-width: 767px) {
      #faq .faq-lists h3 {
        font-size: 6.25vw;
        padding: 0 0 3.125vw;
        margin: 0 0 6.25vw;
        border-bottom: solid #046cbd 0.625vw; } }
  #faq .faq-lists dl {
    margin: 0 0 30px;
    padding: 0 0 30px;
    border-bottom: solid #333 1px; }
    @media screen and (max-width: 1100px) {
      #faq .faq-lists dl {
        margin: 0 0 2.34375vw;
        padding: 0 0 2.34375vw;
        border-bottom: solid #333 0.078125vw; } }
    @media screen and (max-width: 767px) {
      #faq .faq-lists dl {
        margin: 0 0 6.25vw;
        padding: 0 0 6.25vw;
        border-bottom: solid #333 0.3125vw; } }
    #faq .faq-lists dl dt {
      font-size: 16px;
      font-weight: bold;
      color: #046cbd;
      padding: 8px 54px;
      margin: 0;
      position: relative;
      cursor: pointer;
      transition: 0.3s ease; }
      @media screen and (max-width: 1100px) {
        #faq .faq-lists dl dt {
          font-size: 1.25vw;
          padding: 0.625vw 4.21875vw; } }
      @media screen and (max-width: 767px) {
        #faq .faq-lists dl dt {
          font-size: 3.75vw;
          padding: 1.25vw 10.625vw; } }
      #faq .faq-lists dl dt:before {
        content: "";
        width: 40px;
        height: 40px;
        background: url(../img/idpic/faq-q.png) no-repeat center/contain;
        position: absolute;
        top: 0;
        left: 0; }
        @media screen and (max-width: 1100px) {
          #faq .faq-lists dl dt:before {
            width: 3.125vw;
            height: 3.125vw; } }
        @media screen and (max-width: 767px) {
          #faq .faq-lists dl dt:before {
            width: 6.25vw;
            height: 6.25vw; } }
      #faq .faq-lists dl dt:after {
        content: "";
        width: 24px;
        height: 24px;
        background: url(../img/idpic/faq-open.svg) no-repeat center/contain;
        position: absolute;
        top: 10px;
        right: 0; }
        @media screen and (max-width: 1100px) {
          #faq .faq-lists dl dt:after {
            width: 1.875vw;
            height: 1.875vw;
            top: 0.78125vw; } }
        @media screen and (max-width: 767px) {
          #faq .faq-lists dl dt:after {
            width: 3.75vw;
            height: 3.75vw;
            top: 1.5625vw; } }
      #faq .faq-lists dl dt.active {
        margin: 0 0 20px; }
        @media screen and (max-width: 1100px) {
          #faq .faq-lists dl dt.active {
            margin: 0 0 1.5625vw; } }
        @media screen and (max-width: 767px) {
          #faq .faq-lists dl dt.active {
            margin: 0 0 3.125vw; } }
        #faq .faq-lists dl dt.active:after {
          background: url(../img/idpic/faq-close.svg) no-repeat center/contain; }
    #faq .faq-lists dl dd {
      display: none;
      font-size: 16px;
      line-height: 1.8;
      padding: 8px 54px;
      position: relative; }
      @media screen and (max-width: 1100px) {
        #faq .faq-lists dl dd {
          font-size: 1.25vw;
          padding: 0.625vw 4.21875vw; } }
      @media screen and (max-width: 767px) {
        #faq .faq-lists dl dd {
          font-size: 3.75vw;
          padding: 1.25vw 10.625vw; } }
      #faq .faq-lists dl dd:before {
        content: "";
        width: 40px;
        height: 40px;
        background: url(../img/idpic/faq-a.png) no-repeat center/contain;
        position: absolute;
        top: 0;
        left: 0; }
        @media screen and (max-width: 1100px) {
          #faq .faq-lists dl dd:before {
            width: 3.125vw;
            height: 3.125vw; } }
        @media screen and (max-width: 767px) {
          #faq .faq-lists dl dd:before {
            width: 6.25vw;
            height: 6.25vw; } }

.self-ttl {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  margin: 0 0 45px;
  color: #046cbd; }
  @media screen and (max-width: 1100px) {
    .self-ttl {
      font-size: 3.125vw;
      margin: 0 0 3.515625vw; } }
  @media screen and (max-width: 767px) {
    .self-ttl {
      font-size: 5.625vw;
      margin: 0 0 6.25vw; } }

.slideshowbox {
  overflow: hidden; }

.self-gallery {
  display: flex;
  justify-content: space-between; }
  @media screen and (min-width: 1101px) {
    .self-gallery {
      animation: loop-slide 20s infinite linear 1s both; } }
  .self-gallery li {
    flex-shrink: 0;
    width: 15%; }
    @media screen and (max-width: 767px) {
      .self-gallery li {
        width: 50%;
        margin-bottom: 20px; } }

@keyframes loop-slide {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
.self-box {
  margin: 0 0 20px; }
  .self-box .price {
    font-size: 23px;
    font-weight: bold;
    margin: 0 0 20px;
    padding: 0 0 20px;
    color: #046cbd;
    border-bottom: #CCC solid 1px; }
    @media screen and (max-width: 1100px) {
      .self-box .price {
        font-size: 1.796875vw;
        margin: 0 0 1.5625vw;
        padding: 0 0 1.5625vw; } }
    @media screen and (max-width: 767px) {
      .self-box .price {
        font-size: 5.625vw;
        margin: 0 0 3.125vw;
        padding: 0 0 3.125vw; } }
    .self-box .price span {
      float: right; }
    .self-box .price small {
      font-size: 12px;
      color: #666666; }
      @media screen and (max-width: 1100px) {
        .self-box .price small {
          font-size: 0.9375vw; } }
      @media screen and (max-width: 767px) {
        .self-box .price small {
          font-size: 2.8125vw; } }
  .self-box p {
    margin-bottom: 10px; }
  .self-box h3 {
    font-size: 18px;
    font-weight: bold; }
    @media screen and (max-width: 1100px) {
      .self-box h3 {
        font-size: 1.40625vw; } }
    @media screen and (max-width: 767px) {
      .self-box h3 {
        font-size: 5vw; } }

#self-price {
  padding: 0 0 60px; }
  @media screen and (max-width: 1100px) {
    #self-price {
      padding: 0vw 0 4.6875vw; } }
  @media screen and (max-width: 767px) {
    #self-price {
      padding: 0vw 3.125vw 6.25vw; } }

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

/*証明写真コラム*/
.column-entry {
  padding: 50px; }

.column-entry .tie-header {
  font-size: 25px;
  font-weight: bold;
  margin: 0 0 25px;
  padding: 0 0 10px;
  color: #046cbd;
  border-bottom: #CCC solid 1px; }

.column-entry .column-time {
  margin-bottom: 20px; }

.column-entry img {
  margin-bottom: 25px; }

.column-entry p {
  margin-bottom: 20px; }

.column-entry h2 {
  border-left: 4px solid #4AB6B7;
  font-size: 26px;
  padding-left: 10px;
  margin: 50px 0 25px; }

.column-entry h3 {
  font-size: 16px;
  font-weight: bold;
  margin: 10px 0;
  background-color: #eee;
  padding: 10px; }

.column-entry table {
  margin: 20px 0 30px; }

.column-entry table td, .column-entry table th {
  padding: 10px; }

.column-entry ul {
  margin-bottom: 40px; }

.column-entry ul li {
  list-style: disc;
  margin-left: 35px;
  margin-bottom: 5px; }

div#ez-toc-container {
  margin-bottom: 30px; }

.sp-img {
  display: none; }
  @media screen and (max-width: 767px) {
    .sp-img {
      display: block; } }

@media screen and (max-width: 767px) {
  .strong02 .yoko-in {
    width: 100%;
    height: auto; } }

.scroll {
  overflow: auto;
  height: auto;
  overflow-y: hidden; }

.simplebar-track.simplebar-horizontal {
  height: 10px;
  background: #B5B5B5;
  border-radius: 5px;
  max-width: 372px;
  margin: 0 auto; }

.simplebar-scrollbar {
  height: 10px;
  background: #41485B;
  border-radius: 5px;
  top: 0; }

.popup .retouch-images {
  width: 46%; }
  .popup .retouch-images ul {
    display: flex; }
  @media screen and (max-width: 767px) {
    .popup .retouch-images {
      width: 100%; } }
.popup .retouch-title h4 {
  font-size: 23px;
  font-weight: bold;
  color: #046cbd;
  margin-bottom: 20px; }
.popup .retouch-box-in {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.retouch-images {
  margin-bottom: 25px; }
  .retouch-images p {
    margin: 5px 0; }

.tos-next {
  display: none; }

a.morebtn {
  display: block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  margin: auto;
  padding: 1rem 4rem;
  position: relative;
  border-radius: 5px;
  border: 1px solid #27acd9;
  font-weight: bold;
  letter-spacing: 2px;
  background: transparent;
  color: #27acd9;
  overflow: hidden;
  -webkit-transition: all 0.2s ease-in;
  -moz-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
  margin: 20px 0 30px 0; }

a.morebtn:hover {
  color: #fff;
  background: #27acd9;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out; }

a.morebtn:hover::before {
  -webkit-animation: sh02 0.5s 0s linear;
  -moz-animation: sh02 0.5s 0s linear;
  animation: light 0.5s 0s linear; }

a.morebtn::before {
  content: '';
  display: block;
  width: 0px;
  height: 86%;
  position: absolute;
  top: 7%;
  left: 0%;
  opacity: 0;
  background: #fff;
  box-shadow: 0 0 50px 30px #fff;
  -webkit-transform: skewX(-20deg);
  -moz-transform: skewX(-20deg);
  -ms-transform: skewX(-20deg);
  -o-transform: skewX(-20deg);
  transform: skewX(-20deg); }

@keyframes light {
  from {
    opacity: 0;
    left: 0%; }
  50% {
    opacity: 1; }
  to {
    opacity: 0;
    left: 100%; } }
section ::-webkit-scrollbar {
  width: 5px;
  height: 5px; }
  @media screen and (max-width: 767px) {
    section ::-webkit-scrollbar {
      display: none;
      -webkit-appearance: none; } }

section ::-webkit-scrollbar-thumb {
  background: #676767;
  border-radius: 5px; }

/*問い合わせフォーム*/
#contact-content {
  padding: 0 0 100px; }
  #contact-content p {
    margin: 0 0 10px;
    line-height: 2;
    text-align: center; }
    @media screen and (max-width: 767px) {
      #contact-content p {
        margin: 0 20px 40px; } }
  #contact-content .tel {
    text-align: center;
    font-size: 24px;
    font-weight: bold; }
  #contact-content .text {
    margin: 0 0 60px; }
  #contact-content form {
    padding: 40px 60px;
    background-color: #eee8e3; }
    @media screen and (max-width: 767px) {
      #contact-content form {
        padding: 20px 40px; } }
  #contact-content table {
    font-size: 14px;
    border-collapse: collapse;
    width: 100%; }
    #contact-content table th {
      padding: 18px 40px;
      text-align: left;
      vertical-align: top;
      font-weight: bold;
      width: 30%;
      position: relative; }
      #contact-content table th small {
        display: inline-block;
        font-size: 12px;
        padding: 2px 10px;
        color: #fff;
        background-color: #c66b56;
        margin: 0 10px 0 0;
        position: absolute;
        right: 20px; }
      @media screen and (max-width: 767px) {
        #contact-content table th {
          width: 100%;
          display: block; } }
    #contact-content table td {
      padding: 10px 40px;
      text-align: left;
      vertical-align: top; }
      @media screen and (max-width: 767px) {
        #contact-content table td {
          width: 100%;
          display: block;
          padding: 10px; } }
      #contact-content table td p {
        line-height: 1.5;
        margin: 0 0 10px;
        text-align: left; }

#contact-content table td input[type="text"], #contact-content table td input[type="email"], #contact-content table td textarea {
  padding: 10px;
  border: solid #ececec 1px;
  border-radius: 3px;
  background-color: #fff; }
  @media screen and (max-width: 767px) {
    #contact-content table td input[type="text"], #contact-content table td input[type="email"], #contact-content table td textarea {
      width: 100%;
      font-size: 14px; } }

#contact-content .btn {
  padding: 30px 0 0;
  text-align: center; }
  #contact-content .btn input {
    margin: 0 20px; }
#contact-content .mw_wp_form_input .btn input.submit {
  background: url(../img/btn-confirm.png) no-repeat 0;
  width: 318px;
  height: 55px;
  border: none;
  padding: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    #contact-content .mw_wp_form_input .btn input.submit {
      width: 272px;
      background-size: contain; } }
#contact-content .mw_wp_form_confirm .btn input.submit {
  background: url(../img/btn-submit.png) no-repeat 0;
  width: 318px;
  height: 55px;
  border: none;
  padding: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden; }
#contact-content .btn input.back {
  background: url(../img/btn-back.png) no-repeat 0;
  width: 318px;
  height: 55px;
  border: none;
  padding: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden; }
#contact-content .mw_wp_form_input .btn input.submit:hover {
  background: url(../img/btn-confirm_on.png) no-repeat 0; }
#contact-content .mw_wp_form_confirm .btn input.submit:hover {
  background: url(../img/btn-submit_on.png) no-repeat 0; }
#contact-content .btn input.back:hover {
  background: url(../img/btn-back_on.png) no-repeat 0; }

#policy-content {
  padding: 0 0 100px; }
  #policy-content .title {
    margin: 0 0 40px;
    text-align: center; }
  #policy-content .body {
    padding: 20px 30px;
    border: solid #ebebeb 1px;
    height: 300px;
    overflow: auto; }
  #policy-content p {
    font-size: 14px;
    line-height: 1.8;
    margin: 0 0 30px; }
  #policy-content dl {
    font-size: 14px;
    line-height: 1.8;
    margin: 0 0 30px; }
    #policy-content dl dt {
      font-weight: bold;
      margin: 0 0 10px; }

/*スマホのみ「続きを読む」以下をグラデーションで隠すボタン*/
.read__content {
  margin-top: -150px;
  padding-top: 150px; }

@media screen and (max-width: 767px) {
  .read {
    max-width: 500px;
    margin-right: auto;
    margin-left: auto;
    position: relative;
    margin-bottom: 100px; }

  .read-btn {
    text-align: center;
    width: 100%;
    max-width: 300px;
    padding: 10px;
    color: #ffffff;
    background-color: #000066;
    border-radius: 30px;
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translate(-50%, 0);
    transition: all .3s;
    z-index: 1;
    cursor: pointer; }
    .read-btn::before {
      content: ' さらに見る'; }

  .read__content {
    height: 550px;
    overflow: hidden;
    position: relative; }
    .read__content::before {
      content: '';
      display: inline-block;
      width: 100%;
      height: 100%;
      position: absolute;
      bottom: 0;
      left: 0;
      background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.9) 100%); }

  .read-btn.open {
    bottom: -60px;
    background-color: #ccc;
    display: none; }
    .read-btn.open::before {
      content: ' 閉じる'; }

  .read__content.open {
    height: auto; }
    .read__content.open::before {
      content: none; } }
/*リンク集*/
#link-page {
  margin-top: 50px; }
  #link-page ul li {
    padding-left: 15px;
    margin-left: 50px;
    margin-bottom: 30px;
    background: url(../img/list_icon.png) no-repeat left top 8px; }
    @media screen and (max-width: 767px) {
      #link-page ul li {
        margin-left: 30px; } }

/*スマホポイント*/
.point {
  background-color: #046cbd;
  color: #fff;
  padding: 30px 30px 10px;
  margin-bottom: 30px; }
  .point ul {
    list-style-type: disc;
    padding-left: 40px; }
  .point div {
    margin-bottom: 20px; }
  .point h3 {
    font-size: 5.625vw;
    font-weight: bold; }

/*本店修正*/
@media screen and (min-width: 1101px) {
  .page-id-4085 .page-header {
    height: 500px; } }
.page-id-4085 .page-header-copy h2 {
  width: 90%; }

@media screen and (min-width: 1101px) {
  .page-id-4080 .page-header {
    height: 500px; } }
.page-id-4080 .page-header-copy h2 {
  width: 90%; }

@media screen and (min-width: 1101px) {
  .page-id-4087 .page-header {
    height: 500px; } }
.page-id-4087 .page-header-copy h2 {
  width: 90%; }
