@import url(https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap);
@import url(https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&family=Outfit:wght@600&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;600&display=swap);

html {
  font-size: 62.5%
}

body {
  font-size: 1.6rem
}

.pc_vw {
  font-size: 1.6rem
}

.sp_vw {
  font-size: 1.6rem
}

.roboto {
  font-family: "Roboto", sans-serif;
  font-weight: 400
}

.m-plus-1c {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400
}

.zen-maru-gr {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500
}

*:where(:not(iframe, canvas, img, svg, video, input):not(svg *)) {
  all: unset;
  display: revert
}

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

ol,
ul {
  list-style: none
}

img {
  max-width: 100%
}

table {
  border-collapse: collapse
}

html,
body {
  width: 100%;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif
}

#wrapper {
  position: relative;
  overflow: hidden;
  background-color: #fff;
  color: #332020;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  font-feature-settings: palt
}

#wrapper .pc {
  display: none !important
}

@media print,
screen and (min-width:769px) {
  #wrapper .pc {
    display: block !important
  }

  #wrapper .sp {
    display: none !important
  }
}

#wrapper img {
  vertical-align: bottom
}

@media print,
screen and (max-width:768px) {
  #wrapper img {
    max-width: 100%
  }
}

@media print,
screen and (min-width:769px) {
  #wrapper img {
    max-width: auto;
    max-height: auto
  }
}

a {
  cursor: pointer
}

.lcb a {
  color: #0971B2
}

.lcb a:hover {
  text-decoration: underline
}

@media print,
screen and (min-width:769px) {
  a[href^="tel:"] {
    pointer-events: none
  }
}

@media print,
screen and (min-width:768px) {

  .ovrgp a:hover img,
  img.ovr:hover,
  input.ovr:hover,
  button.ovr:hover {
    opacity: .8
  }

  a.hov {
    transition: .3s
  }

  a.hov:hover {
    transform: scale(1.1)
  }
}

.wrap {
  position: relative
}

@media print,
screen and (min-width:769px) {
  .wrap {
    width: 100%;
    height: 100%;
    margin: 0 auto
  }
}

.marker {
  background: linear-gradient(transparent 55%, #D33C64 55%)
}

.under {
  text-decoration: underline
}

@media print,
screen and (max-width:768px) {
  .marker {
    background: linear-gradient(transparent 45%, #D33C64 45%)
  }
}

.sticky-wrapper {
  z-index: 999
}

.pagetop-btn {
  display: none;
  position: fixed;
  z-index: 99;
  bottom: 100px;
  right: 40px
}

.pagetop-btn img {
  width: 53px
}

@media print,
screen and (max-width:768px) {
  .pagetop-btn {
    bottom: 50px;
    right: 20px
  }

  .pagetop-btn img {
    width: 53px
  }
}

#sp-btn {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000
}

#sp-btn span {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  gap: .34722vw;
  width: 7.5vw;
  height: 5.97222vw;
  background: #288192;
  border-radius: 0 0 2.43056vw 2.43056vw;
  cursor: pointer;
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff
}

.sp-nav-open #sp-btn span {
  background: #fff;
  color: #288192
}

#sp-btn span:before {
  display: block;
  content: "";
  width: 2.36111vw;
  height: 1.52778vw;
  background: url(../img/ico_hanba.png) no-repeat;
  background-size: cover
}

.sp-nav-open #sp-btn span:before {
  width: 1.38889vw;
  height: 1.38889vw;
  background: url(../img/ico_menu_close.png) no-repeat;
  background-size: cover
}

@media print,
screen and (max-width:768px) {
  #sp-btn {
    right: 4.26667vw
  }

  #sp-btn span {
    gap: 1.06667vw;
    width: 20vw;
    height: 16vw;
    border-radius: 0 0 6.66667vw 6.66667vw;
    font-size: .9rem
  }

  #sp-btn span:before {
    width: 5.33333vw;
    height: 4.53333vw;
    background: url(../img/ico_hanba.png) no-repeat;
    background-size: cover
  }

  .sp-nav-open #sp-btn span:before {
    width: 5.33333vw;
    height: 5.33333vw;
    background: url(../img/ico_menu_close.png) no-repeat;
    background-size: cover
  }
}

#sp-nav {
  display: none;
  position: relative
}

#sp-nav:before {
  content: "";
  position: fixed;
  top: -10px;
  left: -10px;
  overflow: auto;
  width: 110%;
  height: 120%;
  z-index: 998;
  -webkit-filter: blur(6.5px);
  filter: blur(6.5px);
  background-color: rgba(63, 206, 233, .7)
}

#sp-nav .sp-menu {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center
}

#sp-nav .sp-menu ul {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  gap: 17px
}

#sp-nav .sp-menu li {
  position: relative
}

#sp-nav .sp-menu li a {
  display: block;
  width: 300px;
  height: 60px;
  border-radius: 999px;
  background-color: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 3.88;
  letter-spacing: .8px;
  text-align: center;
  color: #332020
}

#sp-nav .sp-menu li a:after {
  position: absolute;
  top: 19px;
  right: 20px;
  display: inline-block;
  content: "";
  width: 20px;
  height: 21px;
  background: url(../img/arrow_circle.png) no-repeat;
  background-size: cover
}

#header .wrap {
  width: 100vw;
  height: 10.83333vw;
  padding: 3.33333vw 7.63889vw 0
}

#header .inner {
  display: flex;
  justify-content: space-between;
  align-items: center
}

#header .logo {
  display: flex;
  justify-content: space-between;
  align-items: center
}

#header .logo img {
  width: 15.06944vw;
  height: 4.16667vw;
  vertical-align: middle
}

#header p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.71;
  margin-left: 2.5em
}

#header .gnavi {
  width: 43.33333vw
}

#header .gnavi ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.08333vw
}

#header .gnavi li {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.44;
  letter-spacing: .05556vw
}

#header .gnavi a {
  color: #332020
}

#header .gnavi a:hover {
  text-decoration: underline
}

@media print,
screen and (max-width:768px) {
  #header .wrap {
    width: 100%;
    height: 20.26667vw;
    padding: 0
  }

  #header .inner {
    padding: 3.46667vw 0 0 4.26667vw
  }

  #header .logo {
    width: 41.86667vw
  }

  #header .logo img {
    width: 41.86667vw;
    height: 9.33333vw
  }

  #header p,
  #header .gnavi {
    display: none
  }
}

#footer {
  background: url(../img/footer_bg.png) no-repeat;
  background-size: cover
}

#footer .wrap {
  width: 100vw;
  text-align: center
}

#footer .inner {
  display: flex;
  flex-flow: column;
  gap: 2.08333vw;
  padding-top: 3.47222vw;
  padding-bottom: 3.47222vw
}

#footer .shareico {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2.08333vw;
  width: 7.22222vw;
  height: 2.56944vw;
  margin: 0 auto
}

#footer .txt {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal
}

#footer .logo {
  width: 15.41667vw;
  height: 3.47222vw;
  margin: 0 auto
}

#footer .copyr {
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: 1.6rem
}

#footer .copyr small {
  margin: 0 auto
}

@media print,
screen and (max-width:768px) {
  #footer {
    background: url(../img/footer_bg_sp.png) no-repeat bottom left;
    background-size: cover
  }

  #footer .wrap {
    width: 100%;
    height: auto
  }

  #footer .inner {
    gap: 5.33333vw;
    padding: 10.66667vw 0
  }

  #footer .shareico {
    gap: 0;
    width: 100%;
    height: auto;
    margin-bottom: 5.33333vw
  }

  #footer .txt {
    font-size: 1.4rem
  }

  #footer .logo {
    width: 52.53333vw;
    height: 11.73333vw
  }

  #footer .copyr {
    font-size: 1.2rem
  }
}

#mainvisual {
  position: relative;
  margin-top: -1.04167vw
}

#mainvisual .wrap {
  flex-grow: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 87.36111vw;
  margin: 0 auto;
  background: url(../img/pc_visual_bg.png) no-repeat;
  background-size: contain
}

#mainvisual .inner {
  position: relative;
  width: 84.79167vw;
  min-height: 38.33333vw;
  flex-grow: 0;
  object-fit: contain
}

#mainvisual .visual-main {
  width: 100%;
  height: 45.23611vw;
  padding: 2.63889vw 0 0 4%;
  background: url(../img/pc_visual.png) no-repeat;
  background-size: contain
}

#mainvisual .visual-main-inner {
  width: 70%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.52778vw;
  text-align: center
}

#mainvisual .visual-main h1 {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.71;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal
}

#mainvisual .visual-main p {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  color: #D33C64;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 600;
  font-style: normal
}

#mainvisual .visual-main img {
  width: 18.05556vw;
  height: 4.02778vw
}

#mainvisual .visual-inner {
  width: 39.19444vw;
  flex-grow: 0;
  border-radius: 1.38889vw;
  box-shadow: 0 .27778vw .90278vw .06944vw rgba(0, 0, 0, .1);
  background-color: #fff;
  border-radius: 1.38889vw
}

#mainvisual .visual-content {
  padding: 2.77778vw 10px;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
  border-bottom: .06944vw solid #D5E2E3
}

#mainvisual .visual-btn {
  display: flex;
  justify-content: flex-start;
  align-items: center
}

#mainvisual .visual-btn .btn01 {
  width: 50%;
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: normal;
  border-right: 1px solid #D5E2E3;
  text-align: center
}

#mainvisual .visual-btn .btn02 {
  width: 50%;
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: normal;
  text-align: center
}

#mainvisual .visual-btn .btn01 a,
#mainvisual .visual-btn .btn02 a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1.38889vw 3px;
  gap: .69444vw
}

#mainvisual .visual-btn .btn01 a:hover {
  background-color: #FFF5F7
}

#mainvisual .visual-btn .btn02 a:hover {
  background-color: #CCF0F6
}

#mainvisual .visual-btn .btn01 span {
  color: #D33C64
}

#mainvisual .visual-btn .btn02 span {
  color: #118195
}

#mainvisual .visual-sheard {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.08333vw;
  border-top: 1px solid #D5E2E3;
  padding: 1.38889vw 0
}

#mainvisual .visual-sheard p {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .06944vw
}

#mainvisual .visual-btn .btn01 img,
#mainvisual .visual-btn .btn02 img {
  width: 6.94444vw
}

#mainvisual .visual-sheard img {
  width: 2.5vw
}

@media screen and (min-width:1024px) {
  #mainvisual .inner {
    display: flex;
    flex-direction: row-reverse;
    margin-top: 1.185555vw;
    justify-content: flex-end
  }

  #mainvisual .visual-container {
    align-self: flex-end;
    margin-left: 5.55556vw
  }
}

@media screen and (min-width:769px) and (max-width:1023px) {
  #mainvisual {
    margin-top: -5.33333vw
  }

  #mainvisual .wrap {
    display: block;
    width: 100%;
    height: auto;
    background: none
  }

  #mainvisual .inner {
    width: 100%;
    height: auto;
    min-height: auto
  }

  #mainvisual .visual-main {
    width: 100vw;
    height: auto;
    min-height: 100vw;
    padding: 8.53333vw 0 0 8.53333vw;
    position: relative;
    top: 0;
    right: 0;
    background: url(../img/sp_visual.png) no-repeat;
    background-size: cover
  }

  #mainvisual .visual-main-inner {
    width: 100%;
    gap: 3.2vw;
    text-align: left;
    align-items: flex-start
  }

  #mainvisual .visual-main h1 {
    font-size: 1.8rem;
    line-height: 2
  }

  #mainvisual .visual-main p {
    font-size: 2rem;
    line-height: 1.71
  }

  #mainvisual .visual-main img {
    width: 40.33333vw;
    height: auto
  }

  #mainvisual .visual-container {
    position: relative;
    top: 0;
    left: 0;
    padding: 0 9.6vw
  }

  #mainvisual .visual-inner {
    width: 100%;
    height: auto;
    margin-top: -24vw;
    border-radius: 2.66667vw
  }

  #mainvisual .visual-content {
    padding: 5.33333vw 2.66666vw;
    font-size: 1.3rem;
    line-height: 1.85;
    letter-spacing: normal
  }

  #mainvisual .visual-btn .btn01 {
    font-size: 1.4rem
  }

  #mainvisual .visual-btn .btn02 {
    font-size: 1.4rem
  }

  #mainvisual .visual-btn .btn01 a,
  #mainvisual .visual-btn .btn02 a {
    padding: 4vw 0
  }

  #mainvisual .visual-sheard {
    gap: 4vw;
    padding: 3.2vw 0
  }

  #mainvisual .visual-sheard p {
    font-size: 1.3rem;
    line-height: normal;
    letter-spacing: .17333vw
  }

  #mainvisual .visual-btn .btn01 img,
  #mainvisual .visual-btn .btn02 img {
    width: 32vw
  }

  #mainvisual .visual-sheard img {
    width: 7.46667vw
  }
}

@media print,
screen and (max-width:768px) {
  #mainvisual {
    margin-top: -5.33333vw
  }

  #mainvisual .wrap {
    display: block;
    width: 100%;
    height: auto;
    background: none
  }

  #mainvisual .inner {
    width: 100%;
    height: auto;
    min-height: auto
  }

  #mainvisual .visual-main {
    width: 100vw;
    height: 119.2vw;
    padding: 8.53333vw 0 0 8.53333vw;
    position: relative;
    top: 0;
    right: 0;
    background: url(../img/sp_visual.png) no-repeat;
    background-size: cover
  }

  #mainvisual .visual-main-inner {
    width: 53.33333vw;
    gap: 3.2vw
  }

  #mainvisual .visual-main h1 {
    font-size: 1.2rem;
    line-height: 2
  }

  #mainvisual .visual-main p {
    font-size: 1.4rem;
    line-height: 1.71
  }

  #mainvisual .visual-main img {
    width: 53.33333vw;
    height: 14.4vw
  }

  #mainvisual .visual-container {
    position: relative;
    top: 0;
    left: 0;
    padding: 0 9.6vw
  }

  #mainvisual .visual-inner {
    width: 100%;
    height: auto;
    margin-top: -24vw;
    border-radius: 2.66667vw
  }

  #mainvisual .visual-content {
    padding: 5.33333vw 2.66666vw;
    font-size: 1.3rem;
    line-height: 1.85;
    letter-spacing: normal
  }

  #mainvisual .visual-btn .btn01 {
    font-size: 1.4rem
  }

  #mainvisual .visual-btn .btn02 {
    font-size: 1.4rem
  }

  #mainvisual .visual-btn .btn01 a,
  #mainvisual .visual-btn .btn02 a {
    padding: 4vw 0
  }

  #mainvisual .visual-sheard {
    gap: 4vw;
    padding: 3.2vw 0
  }

  #mainvisual .visual-sheard p {
    font-size: 1.3rem;
    line-height: normal;
    letter-spacing: .17333vw
  }

  #mainvisual .visual-btn .btn01 img,
  #mainvisual .visual-btn .btn02 img {
    width: 32vw
  }

  #mainvisual .visual-sheard img {
    width: 7.46667vw
  }
}

@media print,
screen and (min-width:1440px) {
  #mainvisual .wrap {
    background: url(../img/pc_visual_bg@2x.png) no-repeat;
    background-size: contain
  }

  #mainvisual .visual-main {
    background: url(../img/pc_visual@2x.png) no-repeat;
    background-size: contain
  }
}

.lead-txt {
  margin: 3.47222vw 0
}

.lead-txt .wrap {
  position: relative;
  width: 100vw
}

.lead-txt .wrap:after {
  position: absolute;
  z-index: 1;
  bottom: -13.88889vw;
  right: -6.94444vw;
  display: block;
  content: "";
  width: 52.84722vw;
  height: 38.33333vw;
  background: url(../img/top_bg.png) no-repeat;
  background-size: cover
}

.lead-txt .inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: 2.77778vw;
  padding: 2.77778vw 14.58333vw 0
}

.lead-txt .txt01 {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.92;
  color: #99525e
}

.lead-txt .txt02 {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 4rem;
  font-weight: 600;
  line-height: 1.92;
  color: #99525e
}

@media print,
screen and (max-width:768px) {
  .lead-txt {
    margin: 0
  }

  .lead-txt .wrap {
    width: 100%;
    height: auto
  }

  .lead-txt .wrap:after {
    bottom: -24vw;
    right: -42.66667vw;
    width: 154.13333vw;
    height: 111.73333vw
  }

  .lead-txt .inner {
    gap: 6.66667vw;
    padding: 13.33333vw 9.6vw 21.33333vw
  }

  .lead-txt .txt01 {
    font-size: 1.6rem;
    line-height: 2
  }

  .lead-txt .txt02 {
    font-size: 2rem;
    line-height: 2
  }
}

@media print,
screen and (min-width:1440px) {
  .lead-txt .wrap:after {
    background: url(../img/top_bg@2x.png) no-repeat;
    background-size: cover
  }
}

.jyosei-box {
  position: relative;
  z-index: 2;
  background-color: #CCF0F6
}

.jyosei-box .wrap {
  width: 100vw;
  padding: 4.16667vw 0;
  text-align: left
}

.jyosei-box .inner {
  width: 73.88889vw;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2.77778vw;
  margin: 0 auto;
  padding: 6.25vw 5.20833vw;
  background-color: #fff
}

.jyosei-box .title {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.29;
  letter-spacing: .16667vw;
  text-align: left;
  color: #118195
}

.jyosei-box p {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .06944vw;
  text-align: left
}

.jyosei-box .jyosei-txt {
  display: flex;
  justify-content: space-between;
  width: 100%
}

.jyosei-box .jyosei-txt .txt {
  position: relative;
  width: 29.16667vw;
  padding-left: 2.08333vw
}

.jyosei-box .jyosei-txt .txt:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "Q.";
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .06944vw
}

.jyosei-box .jyosei-txt small {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.44;
  letter-spacing: .05556vw
}

.jyosei-box .jyosei-graf {
  width: 26.59722vw
}

.jyosei-box .txt-blue {
  color: #118195
}

.jyosei-box .jyosei-img {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 3.47222vw
}

.jyosei-box .jyosei-img li {
  width: 29.86111vw;
  flex-grow: 0
}

.jyosei-box .jyosei-faq {
  position: relative;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .06944vw;
  margin: 0 auto
}

.jyosei-box .jyosei-faq:after {
  content: "";
  position: absolute;
  top: .83333vw;
  right: -1.38889vw;
  border: .55556vw solid transparent;
  border-top: .69444vw solid #0971B2
}

@media print,
screen and (max-width:768px) {
  .jyosei-box .wrap {
    width: 100%;
    padding: 10.66667vw 4vw
  }

  .jyosei-box .inner {
    width: 100%;
    gap: 9.33333vw;
    padding: 8vw 5.33333vw 10.66667vw
  }

  .jyosei-box .title {
    font-size: 2.4rem;
    line-height: 1.13;
    letter-spacing: .32vw
  }

  .jyosei-box p {
    font-size: 1.4rem;
    line-height: 1.64;
    letter-spacing: .18667vw
  }

  .jyosei-box .jyosei-txt {
    flex-flow: column
  }

  .jyosei-box .jyosei-txt .txt {
    width: 100%;
    padding-left: 5.33333vw
  }

  .jyosei-box .jyosei-txt .txt:before {
    font-size: 1.4rem;
    line-height: 1.64;
    letter-spacing: .18667vw
  }

  .jyosei-box .jyosei-txt small {
    font-size: 1.2rem;
    line-height: 1.92;
    letter-spacing: .16vw
  }

  .jyosei-box .jyosei-graf {
    width: 100%;
    margin: 9.33333vw 0 0 4vw
  }

  .jyosei-box .jyosei-img {
    flex-flow: column;
    gap: 9.33333vw
  }

  .jyosei-box .jyosei-img li {
    width: 100%
  }

  .jyosei-box .jyosei-faq {
    font-size: 1.6rem;
    line-height: 1.49;
    letter-spacing: .21333vw
  }

  .jyosei-box .jyosei-faq:after {
    top: 2.13333vw;
    right: -5.33333vw;
    border: 1.6vw solid transparent;
    border-top: 1.6vw solid #0971B2
  }
}

.karada-box {
  background: url(../img/karada_bg.png) repeat
}

.karada-box .inner {
  display: flex;
  flex-flow: column;
  gap: 6.25vw;
  padding: 8.33333vw 0;
  text-align: center
}

.karada-box .karada-txt {
  width: 73.88889vw;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 2.77778vw;
  text-align: center
}

.karada-box .karada-txt .title {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.29;
  letter-spacing: .16667vw;
  color: #118195
}

.karada-box .karada-txt .txt {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .06944vw
}

.karada-box .karada-wrap .ttl-wrap {
  width: 73.88889vw;
  margin: 0 auto;
  text-align: left
}

.karada-box .karada-wrap .slick-track {
  display: flex
}

.karada-box .karada-wrap .slick-slide {
  height: auto !important
}

.karada-box .karada-wrap .ttl {
  display: inline-block;
  padding: 1.38889vw 2.77778vw 1.38889vw 1.94444vw;
  box-shadow: 0 .27778vw .55556vw 0 rgba(0, 0, 0, .1);
  border-left: solid 12px #fb849c;
  background-color: rgba(255, 255, 255, .8);
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5
}

.karada-box .karada-wrap .notes_slider {
  max-width: 850px;
  margin: 50px auto 40px;
  font-size: 1.6rem;
  padding: 0 7vw;
  box-sizing: content-box
}

.karada-box .karada-wrap .more {
  position: relative;
  width: 73.88889vw;
  margin: 0 auto;
  text-align: right
}

.karada-box .karada-wrap .more a {
  top: -2.08333vw;
  right: 0;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .06944vw;
  color: #0971B2
}

.karada-box .slick-slider {
  padding: 4.16667vw 0 2.16667vw
}

@media print,
screen and (max-width:768px) {
  .karada-box {
    background: url(../img/karada_bg.png) repeat;
    background-size: 65.73333vw
  }

  .karada-box .inner {
    gap: 12vw;
    padding: 16vw 0
  }

  .karada-box .karada-txt {
    width: 100%;
    padding: 0 9.33333vw;
    gap: 5.33333vw
  }

  .karada-box .karada-txt .title {
    font-size: 2.4rem;
    line-height: 1.13;
    letter-spacing: .32vw
  }

  .karada-box .karada-txt .txt {
    font-size: 1.4rem;
    line-height: 1.7;
    letter-spacing: .18667vw;
    text-align: left
  }

  .karada-box .karada-wrap .ttl-wrap {
    width: 100%;
    margin: 0 auto;
    padding: 0 9.33333vw;
    text-align: left
  }

  .karada-box .karada-wrap .ttl {
    padding: 3.2vw 3.2vw 3.2vw 4.26667vw;
    box-shadow: 0 .53333vw 1.06667vw 0 rgba(0, 0, 0, .1);
    border-left: solid 2.13333vw #fb849c;
    font-size: 1.6rem;
    line-height: 1.51
  }

  .karada-box .karada-wrap .notes_slider {
    margin: 0 auto 5.33333vw;
    font-size: 1.3rem;
    line-height: 1.7;
    letter-spacing: .18667vw;
    padding: 0 9.33333vw
  }

  .karada-box .karada-wrap .more {
    width: 100%
  }

  .karada-box .karada-wrap .more a {
    position: absolute;
    top: 0;
    right: 4vw;
    font-size: 1.5rem;
    line-height: 1.59;
    letter-spacing: .2vw
  }

  .karada-box .slick-slider {
    padding: 5.33333vw 0 4vw
  }
}

.karada-slide {
  position: relative;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  width: 33.33333vw;
  height: 25.69444vw;
  border-radius: 2.08333vw
}

.karada-slide .karada-head {
  position: relative;
  z-index: 2;
  height: 4.44444vw;
  display: flex;
  align-items: center;
  gap: .69444vw;
  padding: 0 0 0 1.73611vw;
  background-image: linear-gradient(96deg, rgba(221, 246, 255, .8) 9%, rgba(255, 221, 231, .8) 99%);
  border-radius: 2.08333vw 2.08333vw 0 0;
  text-align: left
}

.karada-slide .karada-head .h01 {
  padding: .13889vw 0;
  border-top: solid .13889vw #7ebfe8;
  border-bottom: solid .13889vw #7ebfe8;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.51
}

.karada-slide .karada-head .h02 {
  text-shadow: 0 .0625vw 0 #fff;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .08333vw;
  color: #308fc9
}

.karada-slide .karada-head .h03 {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.51;
  letter-spacing: .05556vw
}

.karada-slide .karada-ttl {
  position: relative;
  z-index: 2;
  margin: 0 auto 0 0;
  text-align: left
}

.karada-slide .karada-ttl .t01,
.karada-slide .karada-ttl .t02 {
  display: inline-block;
  margin-left: -.69444vw;
  margin-bottom: .69444vw;
  padding: 1.38889vw 1.04167vw;
  box-shadow: 0 0 .80556vw 0 rgba(0, 0, 0, .1);
  border-bottom: solid .27778vw #332020;
  background-color: #fff;
  font-size: 2.4rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 600;
  font-style: normal
}

.karada-slide .karada-foot {
  position: relative;
  z-index: 2;
  height: 4.44444vw;
  display: flex;
  align-items: center;
  padding: 0 0 0 1.73611vw;
  background-color: rgba(255, 255, 255, .7);
  border-radius: 0 0 2.08333vw 2.08333vw;
  text-align: left
}

.karada-slide .karada-foot a {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .06944vw
}

.karada-slide .ico_circle:before {
  display: inline-block;
  content: "";
  width: 1.73611vw;
  height: 1.59722vw;
  margin-right: .69444vw;
  background: url(../img/ico_circle.png) no-repeat;
  vertical-align: middle
}

.karada-slide .karada-img {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  /* border-radius: 2.08333vw */
}

/* .karada-slide .karada-img img {
  border-radius: 2.08333vw
} */

@media print,
screen and (max-width:768px) {
  .karada-slide {
    width: 77.33333vw;
    height: 59.46667vw;
    border-radius: 4.8vw
  }

  .karada-slide .karada-head {
    height: 10.66667vw;
    gap: 1.33333vw;
    padding: 0 0 0 4vw;
    border-radius: 4.8vw 4.8vw 0 0
  }

  .karada-slide .karada-head .h01 {
    padding: 0;
    border-top: solid .26667vw #7ebfe8;
    border-bottom: solid .26667vw #7ebfe8;
    font-size: 1.2rem;
    line-height: 2.01
  }

  .karada-slide .karada-head .h02 {
    font-size: 1.5rem;
    line-height: 1.61;
    letter-spacing: .2vw
  }

  .karada-slide .karada-head .h03 {
    font-size: 1.2rem;
    line-height: 2.01;
    letter-spacing: .16vw
  }

  .karada-slide .karada-ttl .t01,
  .karada-slide .karada-ttl .t02 {
    margin-left: -1.33333vw;
    margin-bottom: 2.66667vw;
    padding: 2.66667vw 1.86667vw;
    box-shadow: 0 0 3.09333vw 0 rgba(0, 0, 0, .1);
    border-bottom: solid .72vw #332020;
    font-size: 1.6rem
  }

  .karada-slide .karada-foot {
    height: 9.06667vw;
    padding: 0 0 0 4vw;
    border-radius: 0 0 4.8vw 4.8vw
  }

  .karada-slide .karada-foot a {
    font-size: 1.3rem;
    line-height: 1.86;
    letter-spacing: normal
  }

  .karada-slide .ico_circle:before {
    width: 4.53333vw;
    height: 4vw;
    margin-right: 1.33333vw;
    background: url(../img/ico_circle.png) no-repeat;
    background-size: cover
  }

  /* .karada-slide .karada-img {
    border-radius: 4.8vw
  } */

  /* .karada-slide .karada-img img {
    border-radius: 4.8vw
  } */
}

.resipi-slider {
  position: relative;
  width: 33.33333vw;
  height: 100%;
  padding: 1.73611vw 0 4.73611vw 2.43056vw;
  border-radius: 2.08333vw;
  text-align: left;
  overflow: hidden
}

.resipi-slider .resipi-ttl {
  position: relative;
  z-index: 2;
  display: inline-block;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.46;
  color: #0971b2;
  padding: 1.38889vw;
  background-color: rgba(255, 255, 255, .8)
}

.resipi-slider .resipi-hospi {
  position: relative;
  z-index: 2;
  margin-top: 1.38889vw;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.44
}

.resipi-slider .resipi-name {
  position: relative;
  z-index: 2;
  margin-top: .69444vw;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: .75
}

.resipi-slider .resipi-foot {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4.16667vw;
  display: flex;
  align-items: center;
  padding: 0 0 0 1.73611vw;
  background-color: rgba(255, 255, 255, .7);
  border-radius: 0 0 2.08333vw 2.08333vw;
  text-align: left
}

.resipi-slider .resipi-foot a {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .06944vw
}

.resipi-slider .resipi-img {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  border-radius: 2.08333vw;
  width: 100%;
  height: 100%
}

.resipi-slider .resipi-img img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.resipi-slider .resipi-img img {
  border-radius: 2.08333vw
}

.resipi-slider .ico_book:before {
  display: inline-block;
  content: "";
  width: 1.73611vw;
  height: 1.52778vw;
  margin-right: .69444vw;
  background: url(../img/ico_book.png) no-repeat;
  vertical-align: middle
}

@media print,
screen and (max-width:768px) {
  .resipi-slider {
    width: 77.33333vw;
    min-height: 59.46667vw;
    padding: 3.2vw 0 12.2vw 4.53333vw;
    border-radius: 4.8vw
  }

  .resipi-slider .resipi-ttl {
    font-size: 1.7rem;
    line-height: 1.5;
    padding: 2.13333vw 2.66667vw
  }

  .resipi-slider .resipi-hospi {
    margin-top: 2.66667vw;
    font-size: 1.2rem;
    line-height: 1.5
  }

  .resipi-slider .resipi-name {
    margin-top: 1.33333vw;
    font-size: 1.6rem;
    line-height: 1.13
  }

  .resipi-slider .resipi-foot {
    height: 9.33333vw;
    padding: 0 0 0 4vw;
    border-radius: 0 0 4.8vw 4.8vw
  }

  .resipi-slider .resipi-foot a {
    font-size: 1.3rem;
    line-height: 1.86
  }

  .resipi-slider .resipi-img {
    border-radius: 4.8vw
  }

  .resipi-slider .resipi-img img {
    border-radius: 4.8vw
  }

  .resipi-slider .ico_book:before {
    width: 4.37333vw;
    height: 3.73333vw;
    margin-right: 1.33333vw;
    background: url(../img/ico_book.png) no-repeat;
    background-size: cover
  }
}

.kokoro-slider {
  position: relative;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  width: 33.33333vw;
  height: 25.69444vw;
  border-radius: 2.08333vw
}

.kokoro-slider .kokoro-ttl {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: .69444vw;
  padding: .73611vw 0 .73611vw 1.73611vw;
  background-color: rgba(26, 98, 118, .6);
  border-radius: 2.08333vw 2.08333vw 0 0;
  text-align: left;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.21;
  letter-spacing: .06944vw;
  color: #fff
}

.kokoro-slider .kokoro-foot {
  position: relative;
  z-index: 2;
  height: 4.16667vw;
  display: flex;
  align-items: center;
  padding: 0 0 0 1.73611vw;
  background-color: rgba(255, 255, 255, .95);
  border-radius: 0 0 0;
  text-align: left
}

.kokoro-slider .kokoro-foot a {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .06944vw
}

.kokoro-slider .kokoro-img {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  border-radius: 2.08333vw
}

.kokoro-slider .kokoro-img img {
  border-radius: 2.08333vw
}

.kokoro-slider .ico_fork:before {
  display: inline-block;
  content: "";
  width: 1.59722vw;
  height: 1.80556vw;
  margin-right: .69444vw;
  background: url(../img/ico_fork.png) no-repeat;
  vertical-align: middle
}

@media print,
screen and (max-width:768px) {
  .kokoro-slider {
    width: 77.33333vw;
    height: 59.46667vw;
    border-radius: 4.8vw
  }

  .kokoro-slider .kokoro-ttl {
    height: 10.66667vw;
    gap: 1.33333vw;
    padding: 0 0 0 4vw;
    border-radius: 4.8vw 4.8vw 0 0;
    font-size: 1.4rem;
    line-height: 1.72;
    letter-spacing: .18667vw
  }

  .kokoro-slider .kokoro-foot {
    height: 9.06667vw;
    padding: 0 0 0 4vw;
    border-radius: 0 0 0
  }

  .kokoro-slider .kokoro-foot a {
    font-size: 1.3rem;
    line-height: 1.86;
    letter-spacing: normal
  }

  .kokoro-slider .kokoro-img {
    border-radius: 4.8vw
  }

  .kokoro-slider .kokoro-img img {
    border-radius: 4.8vw
  }

  .kokoro-slider .ico_fork:before {
    width: 3.57333vw;
    height: 3.97333vw;
    margin-right: 1.33333vw;
    background: url(../img/ico_fork.png) no-repeat;
    background-size: cover
  }
}

.faq-box {
  background-color: #CCF0F6
}

.faq-box .wrap {
  width: 100vw;
  padding: 8.33333vw 0 1.33333vw;
  text-align: center
}

.faq-box .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 6.25vw;
  width: 73.88889vw;
  margin: 0 auto
}

.faq-box .faq_text {
  height: 9.72222vw;
  align-self: stretch;
  flex-grow: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 2.77778vw
}

.faq-box .title {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.29;
  color: #118195
}

.faq-box .txt {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .06944vw
}

.faq-conteiner {
  align-self: stretch;
  flex-grow: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2.08333vw;
  padding: 0
}

.faq-box .faq-list {
  position: relative;
  background-color: #fff
}

.faq-box .faq-list a {
  position: relative;
  z-index: 2;
  display: block;
  width: 73.88889vw;
  padding: 2.08333vw 2.77778vw
}

.faq-box .faq-list a:hover {
  box-shadow: 0 0 1.73611vw 0 rgba(19, 142, 177, .2)
}

.faq-box .faq-list:after {
  position: absolute;
  z-index: 1;
  bottom: 0;
  right: 0;
  display: block;
  content: "";
  width: 3.61111vw;
  height: 3.61111vw;
  background: url(../img/arrow_right.png) no-repeat;
  background-size: cover
}

.faq-box .faq-tag {
  flex-grow: 0;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: .69444vw;
  padding: 0;
  text-align: left
}

.faq-box .faq-tag li {
  display: inline-block;
  padding: .34722vw 1.04167vw;
  border-radius: 69.375vw;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.49;
  letter-spacing: .05556vw
}

.faq-box .faq-tag li.pink {
  border: solid .06944vw #D33C64;
  background-color: #fff2f3;
  color: #D33C64
}

.faq-box .faq-tag li.cha {
  border: solid .06944vw #c7911e;
  background-color: #fff6e4;
  color: #c7911e
}

.faq-box .faq-tag li.blue {
  border: solid .06944vw #3aaece;
  background-color: #dbf7ff;
  color: #1ea2c7
}

.faq-box .faq-txt {
  position: relative;
  margin-top: 1.38889vw;
  padding-left: 3.47222vw;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .06944vw;
  text-align: left
}

.faq-box .faq-txt:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 2.22222vw;
  height: 2.22222vw;
  background: url(../img/ico_faq.png) no-repeat;
  background-size: cover
}

@media print,
screen and (max-width:768px) {
  .faq-box .wrap {
    width: 100%;
    padding: 16vw 4.26667vw
  }

  .faq-box .inner {
    gap: 8vw;
    width: 100%
  }

  .faq-box .faq_text {
    height: auto;
    gap: 5.33333vw;
    text-align: left
  }

  .faq-box .title {
    font-size: 2.4rem;
    line-height: 1.13;
    letter-spacing: .32vw
  }

  .faq-box .txt {
    font-size: 1.4rem;
    line-height: 1.7;
    letter-spacing: .18667vw
  }

  .faq-conteiner {
    gap: 2.13333vw
  }

  .faq-box .faq-list a {
    width: 100%;
    padding: 5.33333vw 5.33333vw 7.46667vw
  }

  .faq-box .faq-list:after {
    width: 10.66667vw;
    height: 10.66667vw
  }

  .faq-box .faq-tag {
    gap: 1.06667vw
  }

  .faq-box .faq-tag li {
    padding: .53333vw 1.86667vw;
    font-size: 1.2rem;
    line-height: 1.98;
    letter-spacing: .16vw
  }

  .faq-box .faq-txt {
    margin-top: 4vw;
    padding-left: 6.66667vw;
    font-size: 1.4rem;
    line-height: 1.64;
    letter-spacing: .18667vw
  }

  .faq-box .faq-txt:before {
    width: 5.6vw;
    height: 5.6vw
  }
}

.cta-box .wrap {
  width: 100vw;
  text-align: center
}

.cta-box .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 6.25vw;
  padding: 8.33333vw 7vw
}

.cta-box .title {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.29;
  color: #118195
}

.cta-box .txt {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .06944vw
}

.cta-box .cta_text {
  align-self: stretch;
  flex-grow: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 2.77778vw
}

.cta-box .cta_btn a {
  width: 38.19444vw;
  flex-grow: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1.94444vw;
  border-radius: .55556vw;
  gap: .83333vw;
  box-shadow: 0 .06944vw .55556vw 0 rgba(19, 142, 177, .55);
  background-color: #288192
}

.cta-box .cta_btn a:hover {
  opacity: .8
}

.cta-box .cta_btn .tx01 {
  flex-grow: 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.13;
  color: #fff
}

.cta-box .cta_btn .tx02 {
  flex-grow: 0;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 1.18056vw;
  padding: .90278vw;
  border-radius: 69.375vw;
  background-color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.13;
  letter-spacing: .08333vw;
  color: #288192
}

.cta-box .cta_btn .tx02:after {
  content: "";
  width: 1.38889vw;
  height: 1.45833vw;
  background: url(../img/arrow_circle.png) no-repeat;
  background-size: cover
}

.cta-box .cta_img {
  width: 28.19444vw
}

@media print,
screen and (max-width:768px) {
  .cta-box .wrap {
    width: 100%
  }

  .cta-box .inner {
    gap: 8vw;
    padding: 16vw 9.6vw;
    text-align: left
  }

  .cta-box .title {
    font-size: 2.4rem;
    line-height: 1.33;
    letter-spacing: .32vw
  }

  .cta-box .txt {
    font-size: 1.4rem;
    line-height: 1.7;
    letter-spacing: .18667vw
  }

  .cta-box .cta_text {
    height: auto;
    gap: 5.33333vw
  }

  .cta-box .cta_btn a {
    width: 91.46667vw;
    padding: 5.86667vw 0;
    border-radius: 1.06667vw
  }

  .cta-box .cta_btn .tx01 {
    width: 100%;
    font-size: 1.6rem;
    line-height: 1.69;
    text-align: center
  }

  .cta-box .cta_btn .tx02 {
    width: 80vw;
    gap: 2.66667vw;
    padding: 4.26667vw 0;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: .26667vw
  }

  .cta-box .cta_img {
    width: 78.66667vw
  }
}

.lower {
  display: flex;
  justify-content: space-between;
  width: 85vw;
  margin: 0 auto
}

#main {
  width: 57.77778vw
}

#sidebar {
  width: 23.05556vw;
  padding-top: 6.94444vw
}

@media print,
screen and (max-width:768px) {
  .lower {
    display: block;
    width: 100%;
    margin: 0 auto
  }

  #main {
    width: 100%
  }

  #sidebar {
    display: none;
    width: 100%;
    padding-top: 13.33333vw
  }
}

.breadcrumb .route {
  display: flex;
  flex-wrap: wrap;
  text-align: left
}

.breadcrumb .route div {
  margin-right: 1.04167vw;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.49;
  letter-spacing: .05556vw;
  color: #646464
}

.breadcrumb .route div:after {
  margin-left: 1.04167vw;
  content: ">";
  font-size: 1.1rem
}

.breadcrumb .route div a {
  color: #646464
}

.breadcrumb .route div a:hover {
  text-decoration: underline
}

.breadcrumb .current_loc {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.49;
  letter-spacing: .05556vw;
  color: #646464
}

@media print,
screen and (max-width:768px) {
  .breadcrumb {
    padding: 5.33333vw 5.33333vw 0
  }

  .breadcrumb .route div {
    margin-right: 1.86667vw;
    font-size: 1.2rem;
    line-height: 1.98;
    letter-spacing: .16vw
  }

  .breadcrumb .route div:after {
    margin-left: 1.86667vw;
    font-size: 1rem
  }

  .breadcrumb .current_loc {
    font-size: 1.2rem;
    line-height: 1.98;
    letter-spacing: .16vw
  }
}

.post>h1 {
  margin: 3.47222vw 0;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: .125vw;
  text-align: left;
  color: #118195
}

.post h2 {
  position: relative;
  margin-top: 5.55556vw;
  padding: 0 0 1.52778vw;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: left
}

.post h2:before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 110px;
  height: 4px;
  background-color: #288192
}

.post h2:after {
  position: absolute;
  bottom: 0;
  right: 0;
  content: "";
  width: calc(100% - 118px);
  height: 4px;
  background-color: #f7b2c0
}

.post h3 {
  margin-top: 4.16667vw;
  padding-left: .69444vw;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: left;
  border-left: .55556vw solid #288192
}

.post h4 {
  margin-top: 2.77778vw;
  font-size: 2rem;
  font-weight: 700;
  color: #D33C64;
  text-align: left
}

.post p {
  margin-top: 2.08333vw;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .06944vw;
  text-align: left
}

.post em {
  font-weight: 700;
  color: #118195
}

.post strong {
  font-size: 2.4rem;
  font-weight: 700;
  color: #D33C64
}

.post a {
  color: #0971B2
}

.post a:hover {
  text-decoration: underline
}

.post ul {
  margin: 4.16667vw 0;
  padding: 2.77778vw;
  background-color: #f4fdff
}

.post ul li {
  position: relative;
  padding-left: 2.43056vw;
  font-size: 2rem;
  line-height: 1.19;
  letter-spacing: .06944vw;
  text-align: left
}

.post ul li+li {
  margin-top: .69444vw
}

.post ul li:before {
  position: absolute;
  top: .13889vw;
  left: 0;
  display: inline-block;
  content: "";
  width: 1.38889vw;
  height: 1.45833vw;
  background: url(../img/arrow_circle.png) no-repeat;
  background-size: cover
}

.post ol {
  margin: 4.16667vw 0;
  padding: 2.77778vw;
  background-color: #fff5f7;
  counter-reset: number 0
}

.post ol li {
  position: relative;
  padding-left: 2.08333vw;
  font-size: 2rem;
  line-height: 1.19;
  letter-spacing: .06944vw;
  text-align: left
}

.post ol li+li {
  margin-top: .69444vw
}

.post ol li:before {
  position: absolute;
  top: -.13889vw;
  left: 0;
  display: inline-block;
  counter-increment: number 1;
  content: counter(number) "";
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: .06944vw;
  color: #D33C64
}

.post table {
  width: 100%;
  margin: 4.16667vw 0;
  text-align: center
}

.post table th {
  font-size: 1.8rem;
  font-weight: 700;
  padding: .90278vw;
  border: solid .06944vw #d5e2e3;
  background-color: #fff5f7
}

.post table td {
  padding: .90278vw;
  border: solid .06944vw #d5e2e3;
  background-color: #fff;
  font-size: 1.6rem
}

@media print,
screen and (max-width:768px) {
  .post {
    padding: 0 5.33333vw
  }

  .post>h1 {
    margin: 5.33333vw 0;
    font-size: 2rem;
    line-height: 1.35;
    letter-spacing: .26667vw
  }

  .post h2 {
    position: relative;
    margin-top: 10.66667vw;
    padding: 0 0 2.66667vw;
    font-size: 1.6rem
  }

  .post h2:before {
    width: 6.4vw;
    height: .53333vw
  }

  .post h2:after {
    width: 81.86667vw;
    height: .53333vw
  }

  .post h3 {
    margin-top: 8vw;
    padding-left: 1.86667vw;
    font-size: 1.6rem;
    border-left: 1.33333vw solid #288192
  }

  .post h4 {
    margin-top: 5.33333vw;
    font-size: 1.4rem
  }

  .post p {
    margin-top: 2.66667vw;
    font-size: 1.4rem;
    line-height: 1.7;
    letter-spacing: .18667vw
  }

  .post strong {
    font-size: 1.8rem
  }

  .post ul {
    margin: 5.33333vw 0;
    padding: 8vw 5.33333vw
  }

  .post ul li {
    padding-left: 6.66667vw;
    font-size: 1.4rem
  }

  .post ul li+li {
    margin-top: 2.66667vw
  }

  .post ul li:before {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    content: "";
    width: 4.8vw;
    height: 5.06667vw;
    background: url(../img/arrow_circle.png) no-repeat;
    background-size: cover
  }

  .post ol {
    margin: 5.33333vw 0;
    padding: 8vw 5.33333vw
  }

  .post ol li {
    padding-left: 5.33333vw;
    font-size: 1.4rem
  }

  .post ol li+li {
    margin-top: 2.66667vw
  }

  .post ol li:before {
    position: absolute;
    top: -.8vw;
    left: 0;
    font-size: 1.6rem
  }

  .post table {
    margin: 8vw 0
  }

  .post table th {
    font-size: 1.5rem;
    padding: 1.86667vw;
    border: solid .26667vw #d5e2e3
  }

  .post table td {
    padding: 1.86667vw;
    border: solid .26667vw #d5e2e3;
    font-size: 1.4rem
  }
}

.headline {
  width: 57.77778vw;
  padding: 3.47222vw 0
}

.headline .charaset {
  display: flex;
  align-items: center;
  gap: 1.38889vw
}

.headline .charaset time {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.49;
  letter-spacing: .05556vw;
  text-align: left
}

.headline .tag-item {
  flex-grow: 0;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: .69444vw;
  text-align: left
}

.headline .tag-item div {
  display: inline-block;
  padding: .20833vw .83333vw;
  border-radius: 69.375vw;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.49;
  letter-spacing: .05556vw
}

.headline .tag-item .pink {
  border: solid .06944vw #D33C64;
  background-color: #fff2f3;
  color: #D33C64
}

.headline .tag-item .cha {
  border: solid .06944vw #c7911e;
  background-color: #fff6e4;
  color: #c7911e
}

.headline .tag-item .blue {
  border: solid .06944vw #3aaece;
  background-color: #dbf7ff;
  color: #1ea2c7
}

.headline .page-ttl {
  margin-top: 1.38889vw;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: .125vw;
  text-align: left;
  color: #118195
}

@media print,
screen and (max-width:768px) {
  .headline {
    width: 100%;
    padding: 8vw 0 5.33333vw
  }

  .headline .charaset {
    gap: 2.13333vw
  }

  .headline .charaset time {
    font-size: 1.4rem;
    line-height: 1.7;
    letter-spacing: .18667vw
  }

  .headline .tag-item {
    gap: 2.13333vw
  }

  .headline .tag-item div {
    padding: .53333vw 1.86667vw;
    font-size: 1.2rem;
    line-height: 1.98;
    letter-spacing: .16vw
  }

  .headline .page-ttl {
    margin-top: 2.66667vw;
    font-size: 2rem;
    line-height: 1.35;
    letter-spacing: .26667vw
  }
}

.eyecatch {
  position: relative;
  height: 38.47222vw;
  padding: 4.16667vw 0 0 4.16667vw
}

.eyecatch .eyecatch-ttl {
  position: relative;
  z-index: 2;
  display: inline-block;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.28;
  color: #0971b2;
  padding: 2.77778vw;
  background-color: rgba(255, 255, 255, .8)
}

.eyecatch .eyecatch-hospi {
  position: relative;
  z-index: 2;
  margin-top: 3.125vw;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.29;
  color: #30364d
}

.eyecatch .eyecatch-name {
  position: relative;
  z-index: 2;
  margin-top: 1.38889vw;
  font-size: 3.6rem;
  font-weight: 500;
  line-height: .59;
  color: #30364d
}

.eyecatch .eyecatch-img {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0
}

@media print,
screen and (max-width:768px) {
  .eyecatch {
    height: 59.73333vw;
    padding: 4.8vw 0 0 4.8vw
  }

  .eyecatch .eyecatch-ttl {
    font-size: 2rem;
    line-height: 1.52;
    padding: 3.2vw 3.73333vw
  }

  .eyecatch .eyecatch-hospi {
    margin-top: 2.13333vw;
    font-size: 1.4rem;
    line-height: 1.5
  }

  .eyecatch .eyecatch-name {
    margin-top: 1.33333vw;
    font-size: 1.8rem;
    line-height: 1.12
  }
}

.mokuji {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: .83333vw;
  margin: 6.25vw auto;
  padding: 4.16667vw 4.16667vw 2.08333vw;
  border: solid 1px #f7b2c0;
  background-color: #fff5f7
}

.mokuji .mokuji-ttl {
  position: absolute;
  top: 2.08333vw;
  left: 2.08333vw;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.19;
  letter-spacing: .06944vw;
  text-align: left
}

.mokuji .mokuji-list a {
  font-size: 2rem;
  line-height: 1.19;
  letter-spacing: .06944vw;
  text-align: left;
  text-decoration: underline
}

.mokuji .mokuji-list a:hover {
  text-decoration: none
}

@media print,
screen and (max-width:768px) {
  .mokuji {
    gap: 1.33333vw;
    margin: 8vw auto;
    padding: 12vw 10.66667vw 6.66667vw
  }

  .mokuji .mokuji-ttl {
    top: 6.13333vw;
    left: 6.13333vw;
    font-size: 1.4rem;
    line-height: 1.7;
    letter-spacing: .18667vw
  }

  .mokuji .mokuji-list a {
    font-size: 1.4rem;
    line-height: 1.7;
    letter-spacing: .18667vw
  }
}

.profile {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2.08333vw;
  margin: 4.16667vw 0;
  padding: 2.08333vw 2.08333vw;
  border: solid 1px #288192;
  background-color: #FDFFFF
}

.profile .profile-img {
  width: 6.94444vw
}

.profile .profile-wrap {
  display: flex;
  flex-flow: column;
  gap: 1.04167vw;
  justify-content: center
}

.profile .profile-txt {
  font-size: 1.5rem;
  font-weight: 500;
  text-align: left
}

.profile .profile-name {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: .75;
  text-align: left;
  color: #1c608b
}

@media print,
screen and (max-width:768px) {
  .profile {
    gap: 5.33333vw;
    margin: 8vw 0 0;
    padding: 5.33333vw
  }

  .profile .profile-img {
    width: 24vw
  }

  .profile .profile-wrap {
    gap: 2.13333vw
  }

  .profile .profile-txt {
    font-size: 1.3rem
  }

  .profile .profile-name {
    font-size: 1.6rem;
    line-height: 1.13
  }
}

.return {
  padding: 2.77778vw 0;
  border-bottom: .13889vw solid #d5e2e3
}

#pagetop .return {
  border: none
}

.return .return-btn {
  text-align: center
}

.return .return-btn a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 23.61111vw;
  height: 5.55556vw;
  margin: 0 auto;
  padding: 0 1.38889vw 0 2.08333vw;
  border-radius: 69.375vw;
  border: solid .06944vw #515151;
  background-color: rgba(255, 255, 253, .8);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.69;
  letter-spacing: .16667vw
}

.return .return-btn a:hover {
  text-decoration: underline
}

.return .return-btn a:after {
  content: "";
  width: 1.38889vw;
  height: 1.38889vw;
  background: url(../img/arrow_circle_down.png) no-repeat;
  background-size: cover
}

@media print,
screen and (max-width:768px) {
  .return {
    padding: 5.33333vw 5.33333vw 10.66667vw;
    border-bottom: .26667vw solid #d5e2e3
  }

  .return .return-btn {
    text-align: center
  }

  .return .return-btn a {
    width: 100%;
    height: 20.53333vw;
    padding: 0 5.33333vw 0 8vw;
    font-size: 1.4rem;
    line-height: 1.93;
    letter-spacing: .56vw
  }

  .return .return-btn a:after {
    width: 4vw;
    height: 4vw
  }
}

.shared {
  width: 100%;
  padding: 2.77778vw 0;
  border-bottom: .13889vw solid #d5e2e3
}

.shared .shared-ttl {
  font-size: 2rem;
  font-weight: 700;
  text-align: left
}

.shared .shared-wrap {
  margin-top: 2.08333vw;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4.16667vw
}

.shared .shared-item {
  width: 2.08333vw;
  height: 2.08333vw
}

@media print,
screen and (max-width:768px) {
  .shared {
    padding: 6.66667vw 5.33333vw;
    border-bottom: .26667vw solid #d5e2e3
  }

  .shared .shared-ttl {
    font-size: 1.4rem
  }

  .shared .shared-wrap {
    margin-top: 6.66667vw;
    gap: 10.66667vw
  }

  .shared .shared-item {
    width: 6.66667vw;
    height: 6.66667vw
  }
}

.popular_article,
.related_article {
  width: 100%;
  padding: 2.77778vw 0;
  border-bottom: .13889vw solid #d5e2e3
}

.article-ttl {
  font-size: 2rem;
  font-weight: 700;
  text-align: left
}

.article-list {
  margin-top: 2.08333vw
}

.article-list>a {
  display: flex;
  justify-content: space-between;
  gap: 2.08333vw
}

.article-list>a:hover span {
  text-decoration: underline
}

.article-img {
  width: 9.72222vw
}

.article-wrap {
  width: 45.83333vw;
  text-align: left;
  font-size: 2rem;
  font-weight: 500
}

.article-wrap time {
  font-size: 1.6rem;
  color: #646464
}

@media print,
screen and (max-width:768px) {

  .popular_article,
  .related_article {
    padding: 5.33333vw 5.33333vw;
    border-bottom: .26667vw solid #d5e2e3
  }

  .article-ttl {
    font-size: 1.4rem
  }

  .article-list {
    margin-top: 4vw
  }

  .article-list>a {
    gap: 5.33333vw
  }

  .article-img {
    width: 19.2vw
  }

  .article-wrap {
    width: 64.8vw;
    font-size: 1.2rem
  }

  .article-wrap time {
    font-size: 1.2rem
  }
}

.sidebar-inner {
  width: 100%;
  padding: 1.38889vw 0;
  border-top: .13889vw solid #d5e2e3
}

.sidebar-inner:last-child {
  border-bottom: .13889vw solid #d5e2e3
}

.sidebar-inner h3 {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: left;
  color: #565656
}

@media print,
screen and (max-width:768px) {
  .sidebar-inner {
    padding: 5.33333vw 5.33333vw;
    border-top: .26667vw solid #d5e2e3
  }

  .sidebar-inner:last-child {
    border-bottom: .26667vw solid #d5e2e3
  }

  .sidebar-inner h3 {
    font-size: 1.4rem
  }
}

.side-profile {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.38889vw;
  margin-top: 1.38889vw;
  padding: 0
}

.side-profile .side-profile-img {
  width: 6.25vw
}

.side-profile .side-profile-wrap {
  display: flex;
  flex-flow: column;
  gap: .69444vw;
  justify-content: center
}

.side-profile .side-profile-txt {
  font-size: 1.5rem;
  line-height: 1.47;
  text-align: left;
  color: #555
}

.side-profile .side-profile-name {
  font-size: 2rem;
  font-weight: 500;
  line-height: .9;
  text-align: left;
  color: #1c608b
}

@media print,
screen and (max-width:768px) {
  .side-profile {
    gap: 2.66667vw;
    margin-top: 2.66667vw
  }

  .side-profile .side-profile-img {
    width: 24vw
  }

  .side-profile .side-profile-wrap {
    gap: 2.66667vw
  }

  .side-profile .side-profile-txt {
    font-size: 1.3rem
  }

  .side-profile .side-profile-name {
    font-size: 1.6rem
  }
}

.side-popular_article,
.side-related_article {
  width: 100%
}

.side-article-list {
  margin-top: 1.38889vw
}

.side-article-list>a {
  display: flex;
  justify-content: space-between;
  gap: 1.38889vw
}

.side-article-list>a:hover span {
  text-decoration: underline
}

.side-article-img {
  width: 6.25vw
}

.side-article-wrap {
  width: 15.55556vw;
  text-align: left;
  font-size: 1.5rem;
  font-weight: 500
}

.side-article-wrap time {
  font-size: 1.4rem;
  color: #646464
}

@media print,
screen and (max-width:768px) {
  .side-article-list {
    margin-top: 4vw
  }

  .side-article-list>a {
    gap: 2.66667vw
  }

  .side-article-img {
    width: 19.2vw
  }

  .side-article-wrap {
    width: 64.8vw;
    font-size: 1.2rem
  }

  .side-article-wrap time {
    font-size: 1.2rem
  }
}

.page_list {
  width: 85vw;
  margin: 0 auto
}

@media print,
screen and (max-width:768px) {
  .page_list {
    width: 100%;
    margin: 0 auto
  }
}

.archive {
  width: 85vw;
  margin: 0 auto
}

.archive-ttl {
  padding: 4.16667vw 0;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: .125vw
}

.archive-box {
  border-top: .13889vw solid #d5e2e3;
  border-bottom: .13889vw solid #d5e2e3
}

@media print,
screen and (max-width:768px) {
  .archive {
    width: 100%
  }

  .archive-ttl {
    padding: 5.33333vw 4.8vw;
    font-size: 2rem;
    line-height: 1.35;
    letter-spacing: .26667vw
  }

  .archive-box {
    border-top: .26667vw solid #d5e2e3;
    border-bottom: .26667vw solid #d5e2e3
  }
}

.archive-list {
  display: flex;
  flex-flow: column;
  gap: 1.38889vw;
  padding: 2.08333vw
}

.archive-list li a {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2.77778vw
}

.archive-list li a:hover span {
  text-decoration: underline
}

.archive-img {
  width: 12.5vw
}

.archive-wrap {
  width: 64.93056vw;
  font-size: 2.4rem;
  font-weight: 500;
  text-align: left
}

.archive-wrap time {
  font-size: 2rem;
  font-weight: 500;
  text-align: left;
  color: #646464
}

@media print,
screen and (max-width:768px) {
  .archive-list {
    gap: 4vw;
    padding: 4.8vw
  }

  .archive-list li a {
    gap: 5.33333vw
  }

  .archive-img {
    width: 19.2vw
  }

  .archive-wrap {
    width: 64.8vw;
    font-size: 1.2rem
  }

  .archive-wrap time {
    font-size: 1.2rem
  }
}

.pageguidance {
  padding: 2.08333vw 2.08333vw 0;
  font-size: 2rem;
  font-weight: 700;
  text-align: left
}

.pageguidance span {
  margin: 0 .69444vw
}

@media print,
screen and (max-width:768px) {
  .pageguidance {
    padding: 4vw 4vw 0;
    font-size: 1.2rem;
    line-height: 1.98;
    letter-spacing: .16vw
  }

  .pageguidance span {
    margin: 0 1.33333vw
  }
}

.pagenation {
  padding: 4.16667vw 0;
  border-top: .13889vw solid #d5e2e3
}

.pagenation ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.38889vw
}

.pagenation li a {
  width: 2.77778vw;
  height: 3.19444vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  border-radius: .34722vw;
  border: solid .13889vw #3aaece;
  background-color: #FDFFFF;
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  color: #1ea2c7
}

.pagenation li a:hover {
  text-decoration: underline
}

.pagenation li span {
  width: 2.77778vw;
  height: 3.19444vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  color: #332020
}

@media print,
screen and (max-width:768px) {
  .pagenation {
    padding: 5.33333vw 0;
    border-top: .26667vw solid #d5e2e3
  }

  .pagenation ul {
    gap: 4vw
  }

  .pagenation li a {
    width: 8vw;
    height: 9.06667vw;
    border-radius: .8vw;
    border: solid .26667vw #3aaece;
    font-size: 1.4rem;
    text-align: center
  }

  .pagenation li span {
    width: 8vw;
    height: 9.06667vw;
    border-radius: .8vw;
    font-size: 1.4rem;
    text-align: center
  }
}

.counseling {
  max-width: 832px;
  margin: 0 auto;
  padding: 0 7vw;
  box-sizing: content-box
}

@media print,
screen and (max-width:768px) {
  .counseling {
    width: 100%;
    padding: 0
  }
}

.soudan {
  padding-bottom: 6.94444vw
}

.soudan-ttl {
  margin: 4.16667vw 0;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: .125vw;
  text-align: left;
  color: #118195
}

.soudan-img {
  margin: 6.94444vw auto;
  text-align: center
}

.soudan-txt {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .06944vw;
  text-align: left
}

@media print,
screen and (max-width:768px) {
  .soudan {
    padding: 0 5.33333vw 13.33333vw
  }

  .soudan-ttl {
    margin: 10.66667vw 0;
    font-size: 2rem;
    line-height: 1.35;
    letter-spacing: 1px
  }

  .soudan-img {
    margin: 13.33333vw 2.66667vw
  }

  .soudan-txt {
    font-size: 1.4rem;
    line-height: 1.7;
    letter-spacing: .18667vw
  }
}

.soudan-box {
  margin: 4.16667vw 0
}

.soudan-box h2 {
  margin-bottom: 1.38889vw;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: left
}

.soudan-box .soudan-inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 2.77778vw;
  padding: 3.125vw 0 3.47222vw;
  text-align: center
}

#denwa .soudan-inner {
  border: solid .06944vw #5fdff6;
  background-color: #FDFFFF
}

#line .soudan-inner {
  border: solid .06944vw #06c755;
  background-color: #ebfff3
}

#mail .soudan-inner {
  border: solid .06944vw #fb849c;
  background-color: #fff5f7
}

.soudan-box p {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .06944vw
}

.soudan-box .tel-btn {
  position: relative;
  padding-left: 2.08333vw;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: normal;
  color: #118195;
  font-family: "Roboto", sans-serif;
  font-weight: 800
}

.soudan-box .tel-btn a {
  color: #118195
}

.soudan-box .tel-btn:before {
  position: absolute;
  top: 15px;
  left: 0;
  content: "";
  display: inline-block;
  width: 1.94444vw;
  height: 2.5vw;
  background: url(../img/ico_denwa.png) no-repeat;
  background-size: cover;
  vertical-align: middle
}

.soudan-box .line-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .69444vw;
  border-radius: 999px;
  background-color: #06c755;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.13;
  letter-spacing: .08333vw;
  color: #332020;
  padding: 1.771vw 3.14vw
}

.soudan-box .line-btn a:before {
  content: "";
  display: inline-block;
  width: 2.08333vw;
  height: 2.01389vw;
  background: url(../img/ico_soudan2.png) no-repeat;
  background-size: cover;
  vertical-align: middle
}

.soudan-box .mail-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 69.375vw;
  background-color: #C32E52;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.13;
  letter-spacing: .08333vw;
  color: #fff;
  padding: 1.771vw 3.14vw
}

.soudan-box .mail-btn a:before {
  content: "";
  display: inline-block;
  width: 2.08333vw;
  height: 1.59722vw;
  background: url(../img/ico_soudan3.png) no-repeat;
  background-size: cover;
  vertical-align: middle
}

.soudan-box .line-btn a:hover,
.soudan-box .mail-btn a:hover {
  opacity: .8
}

@media print,
screen and (max-width:768px) {
  .soudan-box {
    margin: 8vw 0
  }

  .soudan-box h2 {
    margin-bottom: 4.8vw;
    font-size: 1.6rem
  }

  .soudan-box .soudan-inner {
    align-items: flex-start;
    gap: 5.33333vw;
    padding: 8vw 6.66667vw;
    text-align: left
  }

  .soudan-box p {
    font-size: 1.5rem;
    line-height: 1.59;
    letter-spacing: .2vw
  }

  .soudan-box .san {
    display: block;
    margin-left: 20.8vw
  }

  .soudan-box .tel-btn {
    padding-left: 5.33333vw;
    font-size: 3.6rem;
    line-height: .89;
    font-weight: 700
  }

  .soudan-box .tel-btn:before {
    width: 5.33333vw;
    height: 6.93333vw
  }

  .soudan-box .line-btn a {
    width: 74.66667vw;
    height: 14.66667vw;
    font-size: 1.9rem;
    line-height: 1.35;
    letter-spacing: .26667vw
  }

  .soudan-box .line-btn a:before {
    width: 5.86667vw;
    height: 5.6vw
  }

  .soudan-box .mail-btn a {
    width: 74.66667vw;
    height: 13.86667vw;
    font-size: 1.9rem;
    line-height: 1.35;
    letter-spacing: .26667vw
  }

  .soudan-box .mail-btn a:before {
    width: 4.8vw;
    height: 3.73333vw
  }
}

.fnavi {
  padding: 0;
  margin: 0;
  display: flex;
  gap: 1em;
  justify-content: center;
  flex-wrap: wrap
}

.fnavi li {
  display: inline
}

ruby {
  ruby-position: over;
  ruby-align: center;
  ruby-merge: separate
}

ruby rt {
  font-size: .6em;
  line-height: 1;
  letter-spacing: .02em;
  white-space: nowrap
}

ruby rp {
  display: none
}

@media(max-width:480px) {
  ruby rt {
    font-size: .68em
  }
}

@supports not (ruby-position:over) {
  ruby rt {
    font-size: .6em;
    vertical-align: super
  }
}

.img-responsive {
  max-width: 100%;
  height: auto
}

.search-form-1 {
  margin: 40px 0
}

.search-form-1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 2px solid #0971B2;
  border-radius: 8px
}

.search-form-1 label {
  width: 100%
}

.search-form-1 input {
  width: calc(100% - 4px);
  height: 60px;
  padding: 5px 15px;
  border: none;
  box-sizing: border-box;
  font-size: 1.8rem;
  outline: none;
  margin-left: 2px
}

.search-form-1 input:focus {
  outline: 2px solid #332020 !important
}

.search-form-1 input::placeholder {
  color: #666
}

.search-form-1 button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 70px;
  height: 64px;
  border: none;
  background-color: #0971B2;
  cursor: pointer
}

.search-form-1 button::after {
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z' fill='%23fff'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  content: ''
}

.search-form-1 button:hover {
  background-color: #D33C64
}

.search-form-1 button:focus {
  background-color: #D33C64
}

@media print,
screen and (max-width:768px) {
  .search-form-1 {
    margin: 26px 0 40px
  }

  .search-form-1 {
    border-radius: 6px
  }

  .search-form-1 input {
    height: 50px;
    font-size: 1.6rem
  }

  .search-form-1 button {
    width: 60px;
    height: 54px
  }
}