﻿.single main{
   width: 73%;
}
.views-ranking h2{
   margin: 30px 0 30px;
}
aside.sidebar .archive h2{
   margin: 70px 0 30px;
}
* html .clearfix {
   height: 1%
}

.clearfix {
   display: block
}

p {
   margin: 0;
   padding: 0
}

ol,
ul {
   list-style: none;
   margin: 0;
   padding: 0
}

input,
textarea {
   margin: 0;
   font-size: 100%;
   resize: none
}

input[type="text"],
input[type="date"],
input[type="email"],
input[type="number"],
input[type="url"] {
   word-break: normal;
   white-space: nowrap;
   -webkit-appearance: none;
   -moz-appearance: none;
   -ms-appearance: none;
   -o-appearance: none;
   appearance: none
}

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

dl,
dt,
dd,
th,
td {
   margin: 0;
   padding: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
   font-weight: normal;
   margin: 0;
   padding: 0
}
#footer .c-menu-list{
   display: flex;
   flex-wrap: wrap;
   gap: 50px;
   flex-direction: row-reverse;
}
@media only screen and (max-width: 1024px) {
   #footer .c-menu-list{
      gap: 30px;
   }
}
@media only screen and (max-width: 767px) {
   #footer .c-menu-list{
      margin-top: 10px;
      gap: 5px 5px;
          justify-content: flex-end;
   }
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
dialog {
   margin: 0;
   padding: 0;
   border: 0;
   outline: 0;
   font-size: 100%;
   vertical-align: baseline;
   background: transparent
}

img {
   margin: 0;
   padding: 0;
   vertical-align: middle;
   border: 0;
   max-width: 100%;
   height: auto
}

table img {
   margin: 0;
   padding: 0;
   vertical-align: middle;
   border: 0
}

article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
   display: block
}
aside.sidebar{
   z-index: 1;
}
nav ul {
   list-style: none
}

*,
*:before,
*:after {
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   -ms-box-sizing: border-box;
   -o-box-sizing: border-box;
   box-sizing: border-box;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale
}

*:focus {
   outline: none !important
}

label,
select,
button {
   cursor: pointer
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
   select::-ms-expand {
      display: none
   }
}

@media screen\0 {
   select::-ms-expand {
      display: none
   }
}

a {
   outline: none;
   transition: 0.3s;
   color: #262626;
   text-decoration: none
}

@media only screen and (min-width: 1025px) {
   a:hover {
      text-decoration: none;
      opacity: 0.5
   }
}

@media (hover: hover) and (pointer: fine) {
   a:hover {
      color: red
   }
}

.ffN {
   font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ W3", "メイリオ", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.ffM {
   font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif
}

.ffYG {
   font-family: "游ゴシック体", "游ゴシック", "YuGothic", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif
}

.ffYM {
   font-family: "游明朝体", "游明朝", "YuMincho", "Yu Mincho", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif
}

.ffNoto {
   font-family: 'Noto Sans JP', sans-serif
}

.ffNU {
   font-family: 'Nunito', sans-serif
}

.screen-reader-text {
   clip: rect(1px, 1px, 1px, 1px);
   position: absolute !important;
   white-space: nowrap;
   height: 1px;
   width: 1px;
   overflow: hidden
}

.screen-reader-text:focus {
   background-color: #f1f1f1;
   border-radius: 3px;
   box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
   clip: auto !important;
   color: #21759b;
   display: block;
   font-size: 14px;
   font-size: 0.875rem;
   font-weight: bold;
   height: auto;
   left: 5px;
   line-height: normal;
   padding: 15px 23px 14px;
   text-decoration: none;
   top: 5px;
   width: auto;
   z-index: 100000
}

html {
   font-size: 62.5%;
   -webkit-text-size-adjust: 100%;
   -moz-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
   -o-text-size-adjust: 100%;
   text-size-adjust: 100%
}

body {
   font-family: 'Noto Sans JP', sans-serif;
   font-size: 16px;
   font-size: 1.6rem;
   width: 100%;
   color: #262626;
   background-color: #EDF9FF;
   margin: 0;
   padding: 0;
   line-height: 1.6;
   letter-spacing: 0;
   height: 100%;
   word-break: break-word
}

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

   .sp,
   .SP {
      display: none !important
   }
}

@media only screen and (max-width: 767px) {

   .pc,
   .PC {
      display: none !important
   }
}
footer .wcm {
    max-width: 1050px;
    padding: 0 25px;
    margin: auto;
}
.wcm02 {
   max-width: 800px;
   padding: 0 25px;
   margin: auto
}

.alignnone {
   margin: 5px 20px 20px 0
}

.aligncenter,
div.aligncenter {
   display: block;
   margin: 5px auto 5px auto
}

.alignright {
   float: right;
   margin: 5px 0 20px 20px
}

.alignleft {
   float: left;
   margin: 5px 20px 20px 0
}

a img.alignright {
   float: right;
   margin: 5px 0 20px 20px
}

a img.alignnone {
   margin: 5px 20px 20px 0
}

a img.alignleft {
   float: left;
   margin: 5px 20px 20px 0
}

a img.aligncenter {
   display: block;
   margin-left: auto;
   margin-right: auto
}

.wp-caption {
   background: #fff;
   border: 1px solid #f0f0f0;
   max-width: 96%;
   padding: 5px 3px 10px;
   text-align: center
}

.wp-caption.alignnone {
   margin: 5px 20px 20px 0
}

.wp-caption.alignleft {
   margin: 5px 20px 20px 0
}

.wp-caption.alignright {
   margin: 5px 0 20px 20px
}

.wp-caption img {
   border: 0 none;
   height: auto;
   margin: 0;
   max-width: 98.5%;
   padding: 0;
   width: auto
}

.wp-caption p.wp-caption-text {
   font-size: 11px;
   line-height: 17px;
   margin: 0;
   padding: 0 4px 5px
}

.leftCol {
   width: 70%;
   float: left
}

.rightCol {
   width: 30%;
   float: right
}

.cmsContent {
   -webkit-text-size-adjust: none;
   -ms-text-size-adjust: none;
   word-wrap: break-word
}

.cmsContent:before,
.cmsContent:after {
   content: " ";
   display: table
}

.cmsContent:after {
   clear: both
}

.cmsContent ul,
.cmsContent ol {
   padding-left: 20px
}

.cmsContent>ul,
.cmsContent>ol {
   margin-bottom: 20px
}

.cmsContent ul[style*="list-style-type: circle;"] li {
   list-style-type: circle
}

.cmsContent ul[style*="list-style-type: square;"] li {
   list-style-type: square
}

.cmsContent ul li {
   list-style: disc
}

.cmsContent ol[style*="list-style-type: lower-roman;"] li {
   list-style-type: lower-roman
}

.cmsContent ol[style*="list-style-type: lower-alpha;"] li {
   list-style-type: lower-alpha
}

.cmsContent ol[style*="list-style-type: lower-greek;"] li {
   list-style-type: lower-greek
}

.cmsContent ol[style*="list-style-type: upper-alpha;"] li {
   list-style-type: upper-alpha
}

.cmsContent ol[style*="list-style-type: upper-roman;"] li {
   list-style-type: upper-roman
}

.cmsContent ol li {
   list-style-type: decimal
}

.cmsContent iframe {
   max-width: 100% !important
}

.cmsContent img {
   max-width: 100%;
   height: auto;
   max-height: 100%;
   border-radius: 20px
}

.cmsContent a {
   color: #09C0E2;
   font-weight: bold;
   color: #09C0E2;
   text-decoration: underline;
   display: inline-block
}

.cmsContent h3 {
   position: relative;
   font-size: 28px;
   font-size: 2.8rem;
   line-height: 46px;
   line-height: 1.64286em;
   letter-spacing: .1em;
   font-weight: 700;
   padding-top: 23px;
   margin: 80px 0 63px
}

@media (max-width: 767px) {
   .cmsContent h3 {
      font-size: 24px;
      font-size: 2.4rem;
      line-height: 36px;
      letter-spacing: 2.4px;
      padding-top: 22px;
      margin: 40px 0 37px
   }
}

.cmsContent h3:before {
   position: absolute;
   content: '';
   background: url("../images/common/icon/ico_dots.svg") no-repeat;
   background-size: 100% 100%;
   width: 38px;
   height: 6px;
   top: 0;
   left: 0
}

@media (max-width: 767px) {
   .cmsContent h3:before {
      width: 31px;
      height: 5px
   }
}

.cmsContent h4 {
   font-size: 20px;
   font-size: 2rem;
   line-height: 38px;
   border-bottom: dotted 4px #09C0E2;
   letter-spacing: 2px;
   font-weight: bold;
   padding-bottom: 13px;
   margin: 71px 0 44px
}

@media (max-width: 767px) {
   .cmsContent h4 {
      line-height: 32px;
      margin: 55px 0 36px
   }
}

.cmsContent h5 {
   font-size: 18px;
   font-size: 1.8rem;
   line-height: 26px;
   font-weight: bold;
   padding-left: 38px;
   position: relative;
   letter-spacing: 0.9px;
   margin: 56px 0 36px
}

@media (max-width: 767px) {
   .cmsContent h5 {
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 22px;
      line-height: 1.46667em;
      letter-spacing: .05em;
      font-weight: 700;
      padding-left: 34px;
      margin: 48px 0 27px
   }
}

.cmsContent h5:before {
   position: absolute;
   content: '';
   background: url("../images/common/icon/ico_circle_checked.svg") no-repeat;
   background-size: 100% 100%;
   width: 28px;
   height: 28px;
   top: 0;
   left: 0
}

@media (max-width: 767px) {
   .cmsContent h5:before {
      width: 24px;
      height: 24px
   }
}

.cmsContent blockquote {
   background: #fff;
   padding: 35px 50px;
   -webkit-border-radius: 40px;
   -moz-border-radius: 40px;
   -ms-border-radius: 40px;
   -o-border-radius: 40px;
   border-radius: 40px;
   margin: 56px 0
}

@media (max-width: 767px) {
   .cmsContent blockquote {
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px;
      -ms-border-radius: 20px;
      -o-border-radius: 20px;
      border-radius: 20px;
      padding: 25px 30px;
      margin: 38px 0
   }
}

.cmsContent blockquote p {
   margin-bottom: 0
}

.cmsContent p {
   font-size: 15px;
   font-size: 1.5rem;
   line-height: 32px;
   line-height: 2.13333em;
   letter-spacing: .05em;
   font-weight: 400;
   margin-bottom: 30px
}

@media (max-width: 767px) {
   .cmsContent p {
      line-height: 28px;
      margin-bottom: 30px
   }
}

.cmsContent span[style*="text-decoration: underline;"] {
   text-decoration: none !important;
   background-image: linear-gradient(to right, #CAEEF8, #CAEEF8);
   background-position: bottom left;
   background-repeat: no-repeat;
   background-size: 100% 10px;
   padding-bottom: 2px
}

.cmsContent .wp-block-table {
   overflow-x: inherit
}

.cmsContent table {
   border-collapse: collapse;
   border-radius: 20px;
   border-style: hidden;
   box-shadow: 0 0 0 2px #09C0E2;
   overflow: hidden;
   margin-bottom: 55px
}

.cmsContent table th,
.cmsContent table tr,
.cmsContent table td {
   border: 2px solid #09C0E2;
   padding: 12px 28px 13px
}

@media (min-width: 768px) {
   .cmsContent table tr:last-child td:first-child {
      border-bottom-left-radius: 20px
   }

   .cmsContent table tr:last-child td:last-child {
      border-bottom-right-radius: 10px
   }
}

.cmsContent table tr td:first-child {
   font-size: 15px;
   font-size: 1.5rem;
   letter-spacing: .05em;
   font-weight: 700
}

.cmsContent table tr td:not(:first-child) {
   font-size: 15px;
   font-size: 1.5rem;
   letter-spacing: .05em;
   font-weight: 400;
   background-color: #fff
}

@media (max-width: 767px) {
   .cmsContent table {
      margin-bottom: 33px
   }

   .cmsContent table tr {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      padding: 0;
      height: auto !important;
      border: 0
   }

   .cmsContent table tr td {
      width: 100% !important;
      height: auto !important;
      border: 0;
      border-bottom: 2px solid #09C0E2;
      padding: 9px 28px
   }

   .cmsContent table tr td:first-child {
      padding: 11px 28px
   }

   .cmsContent table tr:last-child td:last-child {
      border-bottom: 0
   }
}

.wp-pagenavi {
   clear: both;
   text-align: center;
   font-family: 'Nunito', sans-serif;
   font-size: 18px;
   font-size: 1.8rem;
   font-weight: bold;
   margin: 0 -10px
}

.wp-pagenavi span,
.wp-pagenavi a {
   line-height: 46px;
   display: inline-block;
   vertical-align: top;
   margin: 0 10px;
   color: #09C0E2;
   text-align: center
}

@media (max-width: 767px) {

   .wp-pagenavi span,
   .wp-pagenavi a {
      line-height: 42px
   }
}

@media only screen and (min-width: 1025px) {
   .wp-pagenavi a:hover {
      opacity: 1
   }
}

.wp-pagenavi a,
.wp-pagenavi span.current {
   -webkit-border-radius: 50%;
   -moz-border-radius: 50%;
   -ms-border-radius: 50%;
   -o-border-radius: 50%;
   border-radius: 50%;
   width: 50px;
   height: 50px;
   border: solid 2px #CAEEF8;
   background: #fff
}

@media (max-width: 767px) {

   .wp-pagenavi a,
   .wp-pagenavi span.current {
      width: 46px;
      height: 46px
   }
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
   background: #09C0E2;
   color: #fff;
   border: solid 2px #09C0E2
}

.nextpostslink {
   font-size: 0px;
   font-size: 0rem;
   position: relative;
   right: -5px;
   border: 0 !important;
   background-color: transparent !important
}

@media only screen and (min-width: 1025px) {
   .nextpostslink:hover {
      opacity: 0.7 !important;
      background: transparent !important
   }
}

.nextpostslink:before {
   position: absolute;
   content: '';
   background: url("../images/common/icon/ico_next_post.svg") no-repeat;
   background-size: 100% 100%;
   width: 21px;
   height: 19px;
   left: 50%;
   top: 50%;
   transform: translate(-50%, -50%)
}

.previouspostslink {
   font-size: 0px;
   font-size: 0rem;
   position: relative;
   left: -5px;
   border: 0 !important;
   background-color: transparent !important
}

@media only screen and (min-width: 1025px) {
   .previouspostslink:hover {
      opacity: 0.7 !important;
      background: transparent !important
   }
}

.previouspostslink:before {
   position: absolute;
   content: '';
   background: url("../images/common/icon/ico_prev_post.svg") no-repeat;
   background-size: 100% 100%;
   width: 21px;
   height: 19px;
   left: 50%;
   top: 50%;
   transform: translate(-50%, -50%)
}

.safari .breadcrumb ul li {
   vertical-align: top
}

.breadcrumb {
   background: #fff;
   padding: 10px 0 11px
}

.breadcrumb .wcm {
   max-width: 100%;
   padding: 0 80px
}

@media only screen and (max-width: 992px) {
   .breadcrumb .wcm {
      padding: 0 40px
   }
}

.breadcrumb ul {
   font-size: 0px;
   font-size: 0rem
}

.breadcrumb ul li {
   display: inline;
   vertical-align: middle;
   font-size: 12px;
   font-size: 1.2rem;
   letter-spacing: .05em;
   font-weight: 400;
   padding-right: 0;
   margin-right: 15px;
   position: relative
}

.breadcrumb ul li:after {
   content: "";
   vertical-align: middle;
   display: inline-block;
   margin-left: 11px;
   width: 6px;
   height: 6px;
   border-left: 1px solid #262626;
   border-top: 1px solid #262626;
   -webkit-transform: rotate(135deg);
   -moz-transform: rotate(135deg);
   -ms-transform: rotate(135deg);
   -o-transform: rotate(135deg);
   transform: rotate(135deg)
}

.breadcrumb ul li:last-child {
   padding-right: 0;
   margin-right: 0
}

.breadcrumb ul li:last-child:after {
   display: none
}

.breadcrumb ul a {
   vertical-align: middle
}

@media (max-width: 767px) {
   .breadcrumb .wcm {
      padding: 0 25px
   }

   .breadcrumb ul li {
      padding-right: 0;
      margin-right: 11px;
      line-height: 1.5
   }

   .breadcrumb ul li::after {
      margin-left: 7px
   }
}

.section-common-keyvisual {
   position: relative;
   overflow: hidden;
   margin-bottom: 60px;
}

.section-common-keyvisual .keyvisual-image {
   position: relative;
   background-position: 50% 0
}

.section-common-keyvisual .keyvisual-image:before {
   display: block;
   content: " ";
   width: 100%;
   padding-top: 50.78125%
}

.section-common-keyvisual .keyvisual-image>.content {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0
}

.section-common-keyvisual .keyvisual-inner {
   z-index: 2
}

.section-common-keyvisual .keyvisual-title {
   position: relative;
   font-weight: bold;
   font-size: 42px;
   font-size: 4.2rem;
   letter-spacing: .1em;
   line-height: 1.4;
   padding-bottom: 23px;
   color: #09C0E2;
   text-shadow: 3px 3px 0 #fff
}

.section-common-keyvisual .keyvisual-text {
   font-family: 'Nunito', sans-serif;
   color: #9cacb4;
   font-weight: 800;
   font-size: 20px;
   font-size: 2rem;
   letter-spacing: .2em;
   padding-top: 22px
}
.section-common-keyvisual .keyvisual-title:before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    background: #CAEEF8;
    height: 2px;
    width: 80px;
    border-radius: 10px;
}
@media (min-width: 768px) {
   .section-common-keyvisual .keyvisual-image {
      min-height: 650px
   }


   .section-common-keyvisual .keyvisual-image:after {
      position: absolute;
      content: "";
      z-index: 1;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 280px;
      background: url("../images/common/other/bg_wave.png") no-repeat 50% 100%/100% 100%
   }

   .section-common-keyvisual .keyvisual-inner {
      position: absolute;
      bottom: 37px;
      left: 0;
      right: 0;
      width: 100%;
      padding: 0 80px
   }
}

@media only screen and (min-width: 768px) and (max-width: 992px) {
   .section-common-keyvisual .keyvisual-inner {
      padding: 0 40px
   }

   .section-common-keyvisual .keyvisual-image:after {
      background-size: cover
   }

   .section-common-keyvisual .keyvisual-title {
      font-size: 38px;
      font-size: 3.8rem
   }
}

@media (max-width: 767px) {
   .section-common-keyvisual .keyvisual-image {
      min-height: 340px;
      margin-bottom: -26.4%
   }

   .section-common-keyvisual .keyvisual-image:before {
      padding-top: 90.66667%
   }

   .section-common-keyvisual .keyvisual-inner {
      position: relative;
      padding: 0 25px
   }

   .section-common-keyvisual .keyvisual-inner:after {
      position: absolute;
      content: "";
      top: 0;
      left: 0;
      width: 100%;
      height: 100px;
      background: url("../images/common/other/bg_wave_sp.png") no-repeat 50% 0/100% 100%
   }
}

@media only screen and (max-width: 767px) and (max-width: 370px) {
   .section-common-keyvisual .keyvisual-inner:after {
      height: 90px
   }
}

@media only screen and (max-width: 767px) and (max-width: 350px) {
   .section-common-keyvisual .keyvisual-inner:after {
      background-size: cover
   }
}

@media (max-width: 767px) {
   .section-common-keyvisual .keyvisual-inner:before {
      position: absolute;
      content: "";
      bottom: 0;
      left: 0;
      width: 100%;
      height: calc(100% - 100px);
      background: #edf9ff
   }
}

@media only screen and (max-width: 767px) and (max-width: 370px) {
   .section-common-keyvisual .keyvisual-inner:before {
      height: calc(100% - 90px)
   }
}

@media (max-width: 767px) {
   .section-common-keyvisual .keyvisual-inner>* {
      position: relative;
      z-index: 2
   }

   .section-common-keyvisual .keyvisual-title {
      font-size: 26px;
      font-size: 2.6rem;
      text-shadow: 2px 2px 0 #fff;
      padding: 63px 0 18px
   }
}

@media only screen and (max-width: 767px) and (max-width: 370px) {
   .section-common-keyvisual .keyvisual-title {
      font-size: 25px;
      font-size: 2.5rem
   }
}

@media only screen and (max-width: 767px) and (max-width: 350px) {
   .section-common-keyvisual .keyvisual-title {
      font-size: 24px;
      font-size: 2.4rem
   }
}

@media (max-width: 767px) {
   .section-common-keyvisual .keyvisual-text {
      font-size: 16px;
      font-size: 1.6rem;
      padding: 19px 0 28px
   }
}

.js-image,
.js-switch-image {
   display: block;
   background: #fff center center no-repeat;
   background-size: cover;
   overflow: hidden
}

.js-image img,
.js-switch-image img {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   backface-visibility: hidden
}

.img-radius {
   display: block;
   -webkit-border-radius: 40px;
   -moz-border-radius: 40px;
   -ms-border-radius: 40px;
   -o-border-radius: 40px;
   border-radius: 40px
}

@media (max-width: 767px) {
   .img-radius {
      -webkit-border-radius: 30px;
      -moz-border-radius: 30px;
      -ms-border-radius: 30px;
      -o-border-radius: 30px;
      border-radius: 30px
   }
}

.c-btn01 a {
   color: #fff;
   background-color: #09C0E2;
   border-radius: 90px;
   display: block;
   max-width: 320px;
   width: 100%;
   padding: 18px 50px 18px 30px;
   position: relative;
   -webkit-transition: .3s;
   -moz-transition: .3s;
   -ms-transition: .3s;
   -o-transition: .3s;
   transition: .3s;
   font-size: 15px;
   font-size: 1.5rem;
   letter-spacing: .05em;
   font-weight: 700
}

.c-btn01 a::before {
   content: "";
   position: absolute;
   top: 50%;
   right: 30px;
   -webkit-transform: translateY(-50%);
   -moz-transform: translateY(-50%);
   -ms-transform: translateY(-50%);
   -o-transform: translateY(-50%);
   transform: translateY(-50%);
   background-image: url("../images/common/icon/ico_btn01.svg");
   background-repeat: no-repeat;
   background-position: center;
   background-color: rgba(0, 0, 0, 0);
   background-size: contain;
   width: 10px;
   height: 16px
}

@media only screen and (min-width: 1025px) {
   .c-btn01 a:hover {
      background-color: #F8334A;
      opacity: 1
   }
}

.c-btn01.ico2 a::before {
   background-image: url("../images/common/icon/ico_btn02.svg");
   width: 16px;
   height: 16px
}

.c-btn01.fluid a {
   max-width: 100%;
   text-align: center
}

@media (max-width: 767px) {
   .c-btn01 a {
      padding: 18px 50px 20px 24px;
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: .05em;
      font-weight: 700
   }

   .c-btn01 a::before {
      right: 23px
   }

   .c-btn01.fluid a {
      text-align: left
   }
}

.c-btnct {
   display: inline-block;
   max-width: 220px;
   width: 100%;
   padding: 10px 20px;
   background-color: #09C0E2;
   color: #fff;
   border-radius: 90px;
   font-size: 15px;
   font-size: 1.5rem;
   letter-spacing: .05em;
   font-weight: 700;
   position: relative;
   -webkit-transition: .3s;
   -moz-transition: .3s;
   -ms-transition: .3s;
   -o-transition: .3s;
   transition: .3s
}

.c-btnct span {
   display: -webkit-box;
   display: -moz-box;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex;
   -webkit-align-items: center;
   -moz-align-items: center;
   -ms-align-items: center;
   align-items: center;
   -webkit-flex-wrap: wrap;
   -moz-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
   -webkit-justify-content: center;
   -moz-justify-content: center;
   -ms-justify-content: center;
   justify-content: center
}

.c-btnct span::before {
   content: "";
   display: inline-block;
   background-image: url("../images/common/icon/ico_contact.svg");
   background-repeat: no-repeat;
   background-position: center;
   background-color: rgba(0, 0, 0, 0);
   background-size: contain;
   width: 20px;
   height: 16px;
   margin-right: 10px
}

.c-btnct.fluid {
   max-width: 100%
}

@media only screen and (min-width: 1025px) {
   .c-btnct:hover {
      opacity: 1;
      background-color: #F8334A;
      color: #fff
   }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
   .c-btnct {
      max-width: 160px;
      padding: 10px
   }
}

.c-link01 a {
   color: #09C0E2;
   display: inline-block;
   font-family: 'Nunito', sans-serif;
   font-size: 18px;
   font-size: 1.8rem;
   line-height: 36px;
   line-height: 2em;
   letter-spacing: .1em;
   font-weight: 700;
   -webkit-transition: .3s;
   -moz-transition: .3s;
   -ms-transition: .3s;
   -o-transition: .3s;
   transition: .3s;
   text-transform: uppercase
}

.c-link01 a span {
   display: inline-block;
   position: relative;
   padding-right: 29px
}

.c-link01 a span:after {
   content: "";
   position: absolute;
   top: 50%;
   right: 0;
   width: 20px;
   height: 20px;
   background-image: url("../images/common/icon/ico_link01.svg");
   background-repeat: no-repeat;
   background-position: center;
   background-color: rgba(0, 0, 0, 0);
   background-size: contain;
   -webkit-transition: .3s;
   -moz-transition: .3s;
   -ms-transition: .3s;
   -o-transition: .3s;
   transition: .3s;
   margin-top: -10px
}

@media only screen and (min-width: 1025px) {
   .c-link01 a:hover {
      color: #F8334A;
      opacity: 1
   }

   .c-link01 a:hover span:after {
      background-image: url("../images/common/icon/ico_link01_hover2.svg")
   }
}

.c-anchor01 a {
   display: block;
   padding: 25px 15px 36px;
   font-size: 18px;
   font-size: 1.8rem;
   letter-spacing: .05em;
   font-weight: bold;
   background-color: #fff;
   position: relative;
   border-radius: 20px;
   text-align: center
}

.c-anchor01 a em {
   font-style: normal;
   font-size: 14px;
   font-size: 1.4rem;
   line-height: 26px;
   line-height: 1.85714em;
   letter-spacing: .05em;
   font-weight: 700
}

.c-anchor01 a:before {
   content: "";
   position: absolute;
   background: url("../images/common/icon/ico_down01.svg") no-repeat center;
   background-size: 100% 100%;
   -webkit-transition: .3s;
   -moz-transition: .3s;
   -ms-transition: .3s;
   -o-transition: .3s;
   transition: .3s
}

@media (min-width: 768px) {
   .c-anchor01 a:before {
      bottom: 0;
      left: 50%;
      -webkit-transform: translate(-50%, 50%) rotate(90deg);
      -moz-transform: translate(-50%, 50%) rotate(90deg);
      -ms-transform: translate(-50%, 50%) rotate(90deg);
      -o-transform: translate(-50%, 50%) rotate(90deg);
      transform: translate(-50%, 50%) rotate(90deg);
      width: 40px;
      height: 40px
   }

   .c-anchor01 ul {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      -ms-justify-content: center;
      justify-content: center;
      margin-left: -10px;
      margin-right: -10px
   }

   .c-anchor01 ul li {
      width: 25%;
      padding: 0 10px;
      margin-bottom: 40px
   }

   .c-anchor01 ul li a {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      -moz-align-items: center;
      -ms-align-items: center;
      align-items: center;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      -ms-justify-content: center;
      justify-content: center;
      height: 100%
   }
}

@media only screen and (min-width: 1025px) {
   .c-anchor01 a:hover {
      color: #09C0E2;
      background-color: #CAEEF8;
      opacity: 1
   }

   .c-anchor01 a:hover:before {
      background-image: url("../images/common/icon/ico_down01_hover.svg");
      -webkit-transform: translate(-50%, 65%) rotate(90deg);
      -moz-transform: translate(-50%, 65%) rotate(90deg);
      -ms-transform: translate(-50%, 65%) rotate(90deg);
      -o-transform: translate(-50%, 65%) rotate(90deg);
      transform: translate(-50%, 65%) rotate(90deg)
   }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
   .c-anchor01 a {
      font-size: 12px;
      font-size: 1.2rem
   }

   .c-anchor01 a em {
      font-size: 10px;
      font-size: 1rem
   }
}

@media (max-width: 767px) {
   .c-anchor01 a {
      text-align: left;
      font-size: 15px;
      font-size: 1.5rem;
      padding: 18px 50px 18px 30px
   }

   .c-anchor01 a em {
      font-style: normal;
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 26px;
      line-height: 2.16667em;
      letter-spacing: .05em;
      font-weight: 700
   }

   .c-anchor01 a:before {
      top: 50%;
      right: 15px;
      width: 34px;
      height: 34px;
      -webkit-transform: translateY(-50%) rotate(90deg);
      -moz-transform: translateY(-50%) rotate(90deg);
      -ms-transform: translateY(-50%) rotate(90deg);
      -o-transform: translateY(-50%) rotate(90deg);
      transform: translateY(-50%) rotate(90deg)
   }

   .c-anchor01 ul li {
      margin-bottom: 10px
   }

   .c-anchor01 ul li:last-child {
      margin-bottom: 0
   }
}

.group-anchor {
   display: -webkit-box;
   display: -moz-box;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex;
   -webkit-flex-wrap: wrap;
   -moz-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap
}

.c-block01 {
   background-color: #fff
}

.c-block01__wrap {
   max-width: 1000px;
   margin: 0 auto;
   padding: 52px 70px 52px 40px;
   display: -webkit-box;
   display: -moz-box;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex;
   -webkit-flex-wrap: wrap;
   -moz-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
   -webkit-justify-content: space-between;
   -moz-justify-content: space-between;
   -ms-justify-content: space-between;
   justify-content: space-between;
   -webkit-align-items: center;
   -moz-align-items: center;
   -ms-align-items: center;
   align-items: center
}

@media only screen and (min-width: 1025px) {
   .c-block01__wrap:hover {
      opacity: 1
   }

   .c-block01__wrap:hover .c-block01__txt {
      color: #F8334A
   }

   .c-block01__wrap:hover .c-block01__btn p {
      background-color: #F8334A;
      opacity: 1
   }

   .c-block01__wrap:hover .c-block01__btn p::before {
      -webkit-transform: translate(50%, -53%) rotate(10deg);
      -moz-transform: translate(50%, -53%) rotate(10deg);
      -ms-transform: translate(50%, -53%) rotate(10deg);
      -o-transform: translate(50%, -53%) rotate(10deg);
      transform: translate(50%, -53%) rotate(10deg)
   }
}

.c-block01__txt {
   font-size: 18px;
   font-size: 1.8rem;
   line-height: 32px;
   line-height: 1.77778em;
   letter-spacing: .05em;
   font-weight: 700;
   max-width: 544px;
   width: 62%;
   -webkit-transition: .3s;
   -moz-transition: .3s;
   -ms-transition: .3s;
   -o-transition: .3s;
   transition: .3s
}

.c-block01__txt span {
   color: #F8334A
}

.c-block01__btn {
   max-width: 320px;
   width: 35.956%
}

.c-block01__btn p {
   display: block;
   padding: 22px 20px;
   background-color: #09C0E2;
   color: #fff;
   border-radius: 90px;
   font-size: 16px;
   font-size: 1.6rem;
   letter-spacing: .05em;
   font-weight: 700;
   position: relative;
   -webkit-transition: .3s;
   -moz-transition: .3s;
   -ms-transition: .3s;
   -o-transition: .3s;
   transition: .3s
}

.c-block01__btn p span {
   display: -webkit-box;
   display: -moz-box;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex;
   -webkit-align-items: center;
   -moz-align-items: center;
   -ms-align-items: center;
   align-items: center;
   -webkit-flex-wrap: wrap;
   -moz-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
   -webkit-justify-content: center;
   -moz-justify-content: center;
   -ms-justify-content: center;
   justify-content: center
}

.c-block01__btn p span::before {
   content: "";
   display: inline-block;
   background-image: url("../images/common/icon/ico_contact.svg");
   background-repeat: no-repeat;
   background-position: center;
   background-color: rgba(0, 0, 0, 0);
   background-size: contain;
   width: 20px;
   height: 16px;
   margin-right: 10px
}

.c-block01__btn p::before {
   content: "";
   position: absolute;
   top: 50%;
   right: 0;
   display: inline-block;
   background-image: url("../images/common/icon/ico_rabbit01.png");
   background-repeat: no-repeat;
   background-position: center;
   background-color: rgba(0, 0, 0, 0);
   background-size: contain;
   width: 80px;
   height: 150px;
   -webkit-transform: translate(50%, -53%) rotate(0);
   -moz-transform: translate(50%, -53%) rotate(0);
   -ms-transform: translate(50%, -53%) rotate(0);
   -o-transform: translate(50%, -53%) rotate(0);
   transform: translate(50%, -53%) rotate(0);
   -webkit-transition: .3s;
   -moz-transition: .3s;
   -ms-transition: .3s;
   -o-transition: .3s;
   transition: .3s
}

@media only screen and (max-width: 992px) {
   .c-block01__wrap {
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column
   }

   .c-block01__txt,
   .c-block01__btn {
      max-width: 100%;
      width: 100%
   }

   .c-block01__txt {
      margin-bottom: 30px
   }
}

@media (max-width: 767px) {
   .c-block01__wrap {
      padding: 28px 25px 40px
   }

   .c-block01__txt {
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 26px;
      line-height: 1.73333em;
      letter-spacing: .05em;
      font-weight: 700;
      margin-bottom: 28px
   }

   .c-block01__btn p {
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: .05em;
      font-weight: 700;
      padding: 18px 36px 20px 10px
   }

   .c-block01__btn p span::before {
      margin-right: 12px
   }

   .c-block01__btn p::before {
      -webkit-transform: translate(-15px, -55%);
      -moz-transform: translate(-15px, -55%);
      -ms-transform: translate(-15px, -55%);
      -o-transform: translate(-15px, -55%);
      transform: translate(-15px, -55%);
      width: 59px;
      height: 110px
   }
}

@media only screen and (max-width: 767px) and (max-width: 350px) {
   .c-block01__btn p::before {
      -webkit-transform: translate(0, -55%);
      -moz-transform: translate(0, -55%);
      -ms-transform: translate(0, -55%);
      -o-transform: translate(0, -55%);
      transform: translate(0, -55%)
   }
}

.c-block02__wrap {
   display: -webkit-box;
   display: -moz-box;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex;
   box-shadow: 0px 4px 0px 0px #91ddf4;
   border-radius: 40px;
   overflow: hidden;
   transform: translateZ(0)
}

.c-block02__img {
   max-width: 100%;
   width: 100%
}

.c-block02__img figure,
.c-block02__img picture {
   display: block;
   margin: 0;
   line-height: 0;
   position: relative
}

.c-block02__img figure:before,
.c-block02__img picture:before {
   display: block;
   content: " ";
   width: 100%;
   padding-top: 30.30303%
}

.c-block02__img figure>.content,
.c-block02__img picture>.content {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0
}

.c-block02__img figure img,
.c-block02__img picture img {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   -o-object-fit: cover;
   -webkit-transition: .3s;
   -moz-transition: .3s;
   -ms-transition: .3s;
   -o-transition: .3s;
   transition: .3s
}

.c-block02__ttl {
   max-width: 38.89%;
   width: 100%;
   padding-left: 60px;
   display: -webkit-box;
   display: -moz-box;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex;
   -webkit-flex-direction: column;
   -moz-flex-direction: column;
   -ms-flex-direction: column;
   flex-direction: column;
   -webkit-justify-content: center;
   -moz-justify-content: center;
   -ms-justify-content: center;
   justify-content: center;
   background-color: #fff;
   position: relative
}

.c-block02__ttl .ttl_en {
   color: #09C0E2;
   text-transform: uppercase;
   font-family: 'Nunito', sans-serif;
   font-size: 34px;
   font-size: 3.4rem;
   letter-spacing: .2em;
   font-weight: 700
}

.c-block02__ttl .ttl_en:first-letter {
   color: #F8334A
}

.c-block02__ttl .ttl_jp {
   font-size: 16px;
   font-size: 1.6rem;
   letter-spacing: .1em;
   font-weight: 700;
   margin-top: -5px
}

.c-block02__ttl::before {
   content: "";
   position: absolute;
   top: 50%;
   right: 40px;
   width: 40px;
   height: 40px;
   -webkit-transform: translate(0, -50%) rotate(0);
   -moz-transform: translate(0, -50%) rotate(0);
   -ms-transform: translate(0, -50%) rotate(0);
   -o-transform: translate(0, -50%) rotate(0);
   transform: translate(0, -50%) rotate(0);
   background-image: url("../images/common/icon/ico_down01.svg");
   background-repeat: no-repeat;
   background-position: center;
   background-color: rgba(0, 0, 0, 0);
   background-size: contain;
   -webkit-transition: .3s;
   -moz-transition: .3s;
   -ms-transition: .3s;
   -o-transition: .3s;
   transition: .3s
}

@media only screen and (min-width: 1025px) {
   .c-block02 .c-block02__wrap:hover {
      opacity: 1;
      color: #262626
   }

   .c-block02 .c-block02__wrap:hover .c-block02__img figure,
   .c-block02 .c-block02__wrap:hover .c-block02__img picture {
      overflow: hidden
   }

   .c-block02 .c-block02__wrap:hover .c-block02__img figure img,
   .c-block02 .c-block02__wrap:hover .c-block02__img picture img {
      -webkit-transform: scale(1.05);
      -moz-transform: scale(1.05);
      -ms-transform: scale(1.05);
      -o-transform: scale(1.05);
      transform: scale(1.05)
   }

   .c-block02 .c-block02__wrap:hover .c-block02__ttl {
      background-color: #CAEEF8
   }

   .c-block02 .c-block02__wrap:hover .c-block02__ttl .ttl_jp {
      color: #262626
   }

   .c-block02 .c-block02__wrap:hover .c-block02__ttl::before {
      background-image: url("../images/common/icon/ico_down01_hover.svg");
      background-repeat: repeat;
      background-position: left top;
      background-color: none;
      background-size: auto
   }

   .c-block02.shadow .c-block02__wrap:hover .c-block02__img:after {
      background: url("../images/common/other/bg_shadow_on.png") no-repeat center right/cover
   }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
   .c-block02__ttl:before {
      right: 25px
   }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
   .c-block02__wrap {
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column
   }

   .c-block02__ttl {
      max-width: 100%;
      padding: 28px 86px 20px 40px
   }
}

@media (max-width: 767px) {
   .c-block02__wrap {
      display: block;
      border-radius: 30px
   }

   .c-block02__ttl {
      max-width: 100%;
      padding: 24px 70px 24px 30px
   }
}

@media only screen and (max-width: 767px) and (max-width: 350px) {
   .c-block02__ttl {
      padding-right: 54px;
      padding-left: 20px
   }
}

@media (max-width: 767px) {
   .c-block02__ttl .ttl_en {
      font-size: 26px;
      font-size: 2.6rem;
      line-height: 1.2
   }
}

@media only screen and (max-width: 767px) and (max-width: 350px) {
   .c-block02__ttl .ttl_en {
      font-size: 24px;
      font-size: 2.4rem
   }
}

@media (max-width: 767px) {
   .c-block02__ttl .ttl_jp {
      font-size: 14px;
      font-size: 1.4rem;
      margin-top: 0
   }
}

@media only screen and (max-width: 767px) and (max-width: 350px) {
   .c-block02__ttl .ttl_jp {
      font-size: 13px;
      font-size: 1.3rem
   }
}

@media (max-width: 767px) {
   .c-block02__ttl::before {
      width: 34px;
      height: 34px;
      right: 30px;
      -webkit-transform: translate(0, -47%) rotate(0);
      -moz-transform: translate(0, -47%) rotate(0);
      -ms-transform: translate(0, -47%) rotate(0);
      -o-transform: translate(0, -47%) rotate(0);
      transform: translate(0, -47%) rotate(0)
   }
}

@media only screen and (max-width: 767px) and (max-width: 350px) {
   .c-block02__ttl::before {
      right: 15px
   }
}

@media only screen and (min-width: 992px) {
   .c-block02.shadow .c-block02__img {
      position: relative;
      width: 64.815%
   }

   .c-block02.shadow .c-block02__img figure,
   .c-block02.shadow .c-block02__img picture {
      position: relative
   }

   .c-block02.shadow .c-block02__img figure:before,
   .c-block02.shadow .c-block02__img picture:before {
      display: block;
      content: " ";
      width: 100%;
      padding-top: 28.57143%
   }

   .c-block02.shadow .c-block02__img figure>.content,
   .c-block02.shadow .c-block02__img picture>.content {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0
   }

   .c-block02.shadow .c-block02__img:after {
      position: absolute;
      content: "";
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: url("../images/common/other/bg_shadow.png") no-repeat center right/cover
   }

   .c-block02.shadow .c-block02__ttl {
      width: 35.185%;
      padding-left: 20px
   }
}

@media (max-width: 767px) {
   .c-block02.shadow .c-block02__img picture {
      position: relative
   }

   .c-block02.shadow .c-block02__img picture:before {
      display: block;
      content: " ";
      width: 100%;
      padding-top: 33.84615%
   }

   .c-block02.shadow .c-block02__img picture>.content {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0
   }

   .c-block02.shadow .c-block02__ttl {
      padding-top: 12px;
      padding-bottom: 23px
   }

   .c-block02.shadow .c-block02__ttl:before {
      margin-top: -6px
   }
}

.c-block03 {
   margin: 40px 0
}

.c-block03__wrap {
   display: -webkit-box;
   display: -moz-box;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex;
   box-shadow: 0px 4px 0px 0px #91ddf4;
   border-radius: 40px;
   overflow: hidden;
   transform: translateZ(0)
}

.c-block03__img {
   max-width: 100%;
   width: 100%
}

.c-block03__img figure,
.c-block03__img picture {
   display: block;
   margin: 0;
   line-height: 0;
   position: relative
}

.c-block03__img figure:before,
.c-block03__img picture:before {
   display: block;
   content: " ";
   width: 100%;
   padding-top: 31.25%
}

.c-block03__img figure>.content,
.c-block03__img picture>.content {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0
}

.c-block03__img figure img,
.c-block03__img picture img {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   -o-object-fit: cover;
   -webkit-transition: .3s;
   -moz-transition: .3s;
   -ms-transition: .3s;
   -o-transition: .3s;
   transition: .3s
}

.c-block03__ttl {
   width: 38.89%;
   padding-left: 60px;
   display: -webkit-box;
   display: -moz-box;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex;
   -webkit-flex-direction: column;
   -moz-flex-direction: column;
   -ms-flex-direction: column;
   flex-direction: column;
   -webkit-justify-content: center;
   -moz-justify-content: center;
   -ms-justify-content: center;
   justify-content: center;
   background-color: #fff;
   position: relative
}

.c-block03__ttl h3 {
   font-size: 26px;
   font-size: 2.6rem;
   line-height: 36px;
   line-height: 1.38462em;
   letter-spacing: .1em;
   font-weight: 700
}

.c-block03__ttl::before {
   content: "";
   position: absolute;
   top: 50%;
   right: 40px;
   width: 40px;
   height: 40px;
   -webkit-transform: translate(0, -50%) rotate(0);
   -moz-transform: translate(0, -50%) rotate(0);
   -ms-transform: translate(0, -50%) rotate(0);
   -o-transform: translate(0, -50%) rotate(0);
   transform: translate(0, -50%) rotate(0);
   background-image: url("../images/common/icon/ico_down01.svg");
   background-repeat: no-repeat;
   background-position: center;
   background-color: rgba(0, 0, 0, 0);
   background-size: contain;
   -webkit-transition: .3s;
   -moz-transition: .3s;
   -ms-transition: .3s;
   -o-transition: .3s;
   transition: .3s
}

.c-block03__ttl span {
   font-size: 18px;
   font-size: 1.8rem;
   line-height: 36px;
   line-height: 2em;
   letter-spacing: .1em;
   font-weight: 700
}

.c-block03__ttl em {
   font-style: normal
}

.c-block03__ttl .red {
   color: #F8334A
}

.c-block03__ttl .blue {
   color: #09C0E2
}

@media only screen and (min-width: 1025px) {
   .c-block03 .c-block03__wrap:hover {
      opacity: 1;
      color: #262626;
      background-color: #09c0e2
   }

   .c-block03 .c-block03__wrap:hover .c-block03__img figure,
   .c-block03 .c-block03__wrap:hover .c-block03__img picture {
      overflow: hidden
   }

   .c-block03 .c-block03__wrap:hover .c-block03__img figure img,
   .c-block03 .c-block03__wrap:hover .c-block03__img picture img {
      -webkit-transform: scale(1.05);
      -moz-transform: scale(1.05);
      -ms-transform: scale(1.05);
      -o-transform: scale(1.05);
      transform: scale(1.05)
   }

   .c-block03 .c-block03__wrap:hover .c-block03__ttl {
      background-color: #CAEEF8
   }

   .c-block03 .c-block03__wrap:hover .c-block03__ttl .ttl_jp {
      color: #262626
   }

   .c-block03 .c-block03__wrap:hover .c-block03__ttl::before {
      background-image: url("../images/common/icon/ico_down01_hover.svg");
      background-repeat: repeat;
      background-position: left top;
      background-color: none;
      background-size: auto
   }

   .c-block03.shadow .c-block03__wrap:hover .c-block03__img:after {
      background: url("../images/common/other/bg_shadow_on.png") no-repeat center right -46px/cover
   }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
   .c-block03__ttl:before {
      right: 25px
   }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
   .c-block03__wrap {
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column
   }

   .c-block03__ttl {
      max-width: 100%;
      width: 100%;
      padding: 28px 86px 20px 40px
   }
}

@media (max-width: 767px) {
   .c-block03 {
      margin: 30px 0
   }

   .c-block03__wrap {
      display: block;
      border-radius: 30px
   }

   .c-block03__ttl {
      max-width: 100%;
      width: 100%;
      padding: 24px 70px 24px 30px;
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 28px;
      line-height: 1.55556em;
      letter-spacing: .1em;
      font-weight: 400
   }
}

@media only screen and (max-width: 767px) and (max-width: 350px) {
   .c-block03__ttl {
      padding-right: 54px;
      padding-left: 20px
   }
}

@media (max-width: 767px) {
   .c-block03__ttl .ttl_en {
      font-size: 26px;
      font-size: 2.6rem;
      line-height: 1.2
   }
}

@media only screen and (max-width: 767px) and (max-width: 350px) {
   .c-block03__ttl .ttl_en {
      font-size: 24px;
      font-size: 2.4rem
   }
}

@media (max-width: 767px) {
   .c-block03__ttl .ttl_jp {
      font-size: 14px;
      font-size: 1.4rem;
      margin-top: 0
   }
}

@media only screen and (max-width: 767px) and (max-width: 350px) {
   .c-block03__ttl .ttl_jp {
      font-size: 13px;
      font-size: 1.3rem
   }
}

@media (max-width: 767px) {
   .c-block03__ttl h3 {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 28px;
      line-height: 1.55556em;
      letter-spacing: .1em;
      font-weight: 700
   }

   .c-block03__ttl span {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 28px;
      line-height: 2em;
      letter-spacing: .1em;
      font-weight: 700
   }

   .c-block03__ttl::before {
      width: 34px;
      height: 34px;
      right: 30px;
      -webkit-transform: translate(0, -47%) rotate(0);
      -moz-transform: translate(0, -47%) rotate(0);
      -ms-transform: translate(0, -47%) rotate(0);
      -o-transform: translate(0, -47%) rotate(0);
      transform: translate(0, -47%) rotate(0)
   }
}

@media only screen and (max-width: 767px) and (max-width: 350px) {
   .c-block03__ttl::before {
      right: 15px
   }
}

@media only screen and (min-width: 992px) {
   .c-block03.shadow .c-block03__img {
      position: relative;
      width: 59.26%
   }

   .c-block03.shadow .c-block03__img figure,
   .c-block03.shadow .c-block03__img picture {
      position: relative
   }

   .c-block03.shadow .c-block03__img figure:before,
   .c-block03.shadow .c-block03__img picture:before {
      display: block;
      content: " ";
      width: 100%;
      padding-top: 31.25%
   }

   .c-block03.shadow .c-block03__img figure>.content,
   .c-block03.shadow .c-block03__img picture>.content {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0
   }

   .c-block03.shadow .c-block03__img:after {
      position: absolute;
      content: "";
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: url("../images/common/other/bg_shadow.png") no-repeat center right -46px/cover
   }

   .c-block03.shadow .c-block03__ttl {
      width: 40.742%;
      padding-left: 0
   }
}

@media (max-width: 767px) {
   .c-block03.shadow .c-block03__img picture {
      position: relative
   }

   .c-block03.shadow .c-block03__img picture:before {
      display: block;
      content: " ";
      width: 100%;
      padding-top: 33.84615%
   }

   .c-block03.shadow .c-block03__img picture>.content {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0
   }

   .c-block03.shadow .c-block03__ttl {
      padding-top: 9px;
      padding-bottom: 23px
   }

   .c-block03.shadow .c-block03__ttl:before {
      margin-top: -6px
   }
}

.c-list-facility {
   display: -webkit-box;
   display: -moz-box;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex;
   -webkit-flex-wrap: wrap;
   -moz-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
   margin-left: -10px;
   margin-right: -10px
}

.c-list-facility .item {
   width: 25%;
   padding: 0 10px;
   margin-bottom: 40px
}

.c-list-facility .item-ttl {
   text-align: center;
   font-weight: bold;
   letter-spacing: .05em;
   margin-bottom: 19px;
   display: table;
   width: 100%
}

.c-list-facility .item-ttl>* {
   display: table-cell;
   vertical-align: bottom
}

.c-list-facility .item-pic {
   border-radius: 40px
}

.c-list-facility .item-pic img {
   display: block;
   width: 100%;
   border-radius: 40px
}

@media (max-width: 767px) {
   .c-list-facility {
      margin-left: -2.129%;
      margin-right: -2.129%
   }

   .c-list-facility .item {
      width: 50%;
      padding: 0 2.129%;
      margin-bottom: 20px
   }

   .c-list-facility .item-ttl {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 20px;
      line-height: 1.42857em;
      margin-bottom: 10px
   }

   .c-list-facility .item-ttl small {
      font-size: 12px;
      font-size: 1.2rem
   }

   .c-list-facility .item-pic {
      border-radius: 20px
   }

   .c-list-facility .item-pic img {
      border-radius: 20px
   }
}

@media only screen and (max-width: 370px) {
   .c-list-facility .item-ttl {
      font-size: 12px;
      font-size: 1.2rem
   }

   .c-list-facility .item-ttl small {
      font-size: 10px;
      font-size: 1rem
   }
}

.c-txt01 {
   font-size: 15px;
   font-size: 1.5rem;
   line-height: 32px;
   line-height: 2.13333em;
   letter-spacing: .05em
}

.c-txt01 em {
   font-style: normal;
   background-image: -webkit-linear-gradient(30deg, #CAEEF8 0%, #CAEEF8 100%);
   background-image: -o-linear-gradient(30deg, #CAEEF8 0%, #CAEEF8 100%);
   background-image: linear-gradient(30deg, #CAEEF8 0%, #CAEEF8 100%);
   background-repeat: no-repeat;
   background-size: 100% 8px;
   background-position: 0 100%;
   padding-bottom: 1px
}

.c-txt01 em.kakko {
   background-size: 90% 8px;
   background-position: 50% 100%
}

@media (max-width: 767px) {
   .c-txt01 {
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 28px;
      line-height: 1.86667em
   }
}

.c-noted {
   position: relative;
   font-size: 12px;
   font-size: 1.2rem;
   line-height: 20px;
   line-height: 1.66667em;
   letter-spacing: .05em;
   text-indent: -1em;
   padding-left: 1em;
   margin-left: 0.7em
}

.c-noted:before {
   content: "※"
}

.c-ttl01 {
   text-align: left;
   position: relative;
   padding: 22px 0 0 0;
   margin-bottom: 60px
}

.c-ttl01:before {
   position: absolute;
   content: "";
   top: 0;
   left: 0;
   width: 38px;
   height: 6px;
   background-image: url("../images/common/icon/icn_dot01.svg");
   background-repeat: no-repeat;
   background-position: center;
   background-color: rgba(0, 0, 0, 0);
   background-size: 100% 100%;
   margin: 0 auto
}

.c-ttl01-jp {
   font-size: 34px;
   font-size: 3.4rem;
   line-height: 58px;
   line-height: 1.70588em;
   letter-spacing: .1em;
   font-weight: bold;
   display: block
}

.c-ttl01-en {
   color: #09C0E2;
   font-family: 'Nunito', sans-serif;
   font-size: 20px;
   font-size: 2rem;
   line-height: 30px;
   line-height: 1.5em;
   letter-spacing: .2em;
   font-weight: bold;
   display: block;
   margin-top: 7px;
   padding-left: 5px
}

.c-ttl01-en:first-letter {
   color: #F8334A
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
   .c-ttl01-jp {
      font-size: 30px;
      font-size: 3rem
   }
}

@media (max-width: 767px) {
   .c-ttl01 {
      padding: 22px 0 0 0;
      margin-bottom: 36px
   }

   .c-ttl01:before {
      width: 31px;
      height: 5px
   }

   .c-ttl01-jp {
      font-size: 24px;
      font-size: 2.4rem;
      line-height: 36px;
      line-height: 1.5em
   }

   .c-ttl01-en {
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 30px;
      line-height: 2em;
      margin-top: 5px
   }
}

.c-ttl02 {
   font-weight: bold;
   font-size: 24px;
   font-size: 2.4rem;
   letter-spacing: .1em;
   background: url("../images/common/other/bg_bdr.png") repeat-x 0 100%/auto 4px;
   padding-bottom: 21px
}

.c-ttl02 em {
   font-size: 16px;
   font-size: 1.6rem;
   letter-spacing: .1em;
   font-weight: 700;
   font-style: normal
}

@media (max-width: 767px) {
   .c-ttl02 {
      font-size: 20px;
      font-size: 2rem;
      line-height: 32px;
      line-height: 1.6em;
      padding-bottom: 17px
   }

   .c-ttl02 em {
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: .1em;
      font-weight: 700
   }
}

@media only screen and (max-width: 767px) and (max-width: 370px) {
   .c-ttl02 {
      font-size: 19px;
      font-size: 1.9rem;
      line-height: 30px;
      line-height: 1.57895em
   }
}

.c-ttl03 {
   display: -webkit-box;
   display: -moz-box;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex;
   -webkit-flex-wrap: wrap;
   -moz-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
   -webkit-align-items: center;
   -moz-align-items: center;
   -ms-align-items: center;
   align-items: center
}

.c-ttl03 .ttl-second {
   font-family: 'Nunito', sans-serif;
   color: #09C0E2;
   font-weight: bold;
   max-width: 148px;
   width: 100%
}

@media (max-width: 767px) {
   .c-ttl03 .ttl-second {
      max-width: 114px
   }
}

.c-ttl03 .ttl-second .s-txt {
   display: block;
   max-width: 127px;
   min-height: 67px;
   position: relative;
   padding-top: 10px;
   font-size: 0;
   letter-spacing: 0
}

@media (max-width: 767px) {
   .c-ttl03 .ttl-second .s-txt {
      max-width: 100px;
      min-height: 50px;
      padding-top: 9px
   }
}

.c-ttl03 .ttl-second .s-txt:before {
   position: absolute;
   content: "";
   top: 0;
   right: 0;
   width: 67px;
   height: 67px;
   background: url("../images/common/other/bg_ellipse.png") no-repeat 100% 50%/100% auto
}

@media (max-width: 767px) {
   .c-ttl03 .ttl-second .s-txt:before {
      width: 50px;
      height: 50px;
      background-image: url("../images/common/other/bg_ellipse_sp.png")
   }
}

.c-ttl03 .ttl-second .txt {
   display: inline-block;
   vertical-align: middle;
   font-size: 14px;
   font-size: 1.4rem;
   letter-spacing: .1em;
   margin-right: 7px
}

.c-ttl03 .ttl-second .txt:first-letter {
   color: #F8334A
}

@media (max-width: 767px) {
   .c-ttl03 .ttl-second .txt {
      margin-right: 5px;
      font-size: 12px;
      font-size: 1.2rem
   }
}

.c-ttl03 .ttl-second .number {
   display: inline-block;
   vertical-align: middle;
   font-size: 30px;
   font-size: 3rem
}

@media (max-width: 767px) {
   .c-ttl03 .ttl-second .number {
      font-size: 20px;
      font-size: 2rem
   }
}

.c-ttl03 .ttl-primary {
   -webkit-box-flex: 1;
   -moz-box-flex: 1;
   -webkit-flex: 1;
   -ms-flex: 1;
   flex: 1;
   font-size: 18px;
   font-size: 1.8rem;
   line-height: 26px;
   line-height: 1.44444em;
   letter-spacing: .05em;
   font-weight: bold;
   margin-top: -1px
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
   .c-ttl03 .ttl-primary {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 22px;
      line-height: 1.375em
   }
}

@media (max-width: 767px) {
   .c-ttl03 .ttl-primary {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 22px;
      line-height: 1.375em
   }
}

.c-ttl03 .txt-small {
   letter-spacing: .05em
}

@media (max-width: 767px) {
   .c-ttl03 .txt-small {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.2
   }
}

.c-ttl04 {
   font-weight: bold;
   color: #09c0e2;
   font-size: 18px;
   font-size: 1.8rem;
   letter-spacing: .05em
}

@media (max-width: 767px) {
   .c-ttl04 {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 22px;
      line-height: 1.375em
   }
}

.c-ttl05 {
   position: relative;
   font-size: 34px;
   font-size: 3.4rem;
   line-height: 58px;
   line-height: 1.70588em;
   letter-spacing: .1em;
   font-weight: bold;
   color: #09C0E2;
   padding-top: 22px
}

.c-ttl05 em {
   font-style: normal;
   background-image: -webkit-linear-gradient(30deg, #CAEEF8 0%, #CAEEF8 100%);
   background-image: -o-linear-gradient(30deg, #CAEEF8 0%, #CAEEF8 100%);
   background-image: linear-gradient(30deg, #CAEEF8 0%, #CAEEF8 100%);
   background-repeat: no-repeat;
   background-size: 100% 12px;
   background-position: 0 100%
}

.c-ttl05:before {
   position: absolute;
   content: "";
   top: 0;
   left: 0;
   width: 38px;
   height: 6px;
   background: url("../images/common/icon/icn_dot01.svg") no-repeat center/100% 100%
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
   .c-ttl05 {
      font-size: 30px;
      font-size: 3rem
   }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
   .c-ttl05 {
      font-size: 22px;
      font-size: 2.2rem
   }
}

@media (max-width: 767px) {
   .c-ttl05 {
      font-size: 24px;
      font-size: 2.4rem;
      line-height: 36px;
      line-height: 1.5em
   }

   .c-ttl05 em {
      background-size: 100% 10px
   }

   .c-ttl05:before {
      width: 31px;
      height: 5px
   }
}

@media (min-width: 768px) {
   .c-tel-sp {
      pointer-events: none
   }
}

.c-tbl01 {
   border-radius: 20px;
   border: 2px solid #09C0E2
}

.c-tbl01 dl {
   border-bottom: 2px solid #09C0E2;
   width: 100%
}

.c-tbl01 dl:last-child {
   border-bottom: 0
}

@media (min-width: 768px) {
   .c-tbl01 dl {
      display: table;
      table-layout: fixed
   }

   .c-tbl01 dl:first-child dd {
      border-top-right-radius: 20px
   }

   .c-tbl01 dl:last-child dd {
      border-bottom-right-radius: 20px
   }
}

@media (max-width: 767px) {
   .c-tbl01 dl:last-child dd {
      border-bottom-left-radius: 20px;
      border-bottom-right-radius: 20px
   }
}

@media (min-width: 768px) {

   .c-tbl01 dl dt,
   .c-tbl01 dl dd {
      display: table-cell
   }
}

.c-tbl01 dl dt {
   font-size: 15px;
   font-size: 1.5rem;
   line-height: 24px;
   line-height: 1.6em;
   letter-spacing: .05em;
   font-weight: bold;
   vertical-align: top;
   padding: 14px 15px 14px 29px
}

@media (min-width: 768px) {
   .c-tbl01 dl dt {
      width: 237px
   }
}

@media (max-width: 767px) {
   .c-tbl01 dl dt {
      padding: 11px 29px
   }
}

@media only screen and (max-width: 767px) and (max-width: 350px) {
   .c-tbl01 dl dt {
      padding: 11px 18px
   }
}

.c-tbl01 dl dd {
   font-size: 15px;
   font-size: 1.5rem;
   line-height: 24px;
   line-height: 1.6em;
   letter-spacing: .05em;
   background: #fff
}

@media (min-width: 768px) {
   .c-tbl01 dl dd {
      border-left: 2px solid #09C0E2
   }
}

@media (max-width: 767px) {
   .c-tbl01 dl dd {
      border-top: 2px solid #09C0E2
   }
}

.c-tbl01 dl .dt-rows {
   width: 100%;
   border-bottom: 1px solid #09C0E2;
   padding: 13px 20px 13px 30px
}

@media (max-width: 767px) {
   .c-tbl01 dl .dt-rows {
      padding: 9px 20px 9px 28px
   }
}

@media only screen and (max-width: 767px) and (max-width: 350px) {
   .c-tbl01 dl .dt-rows {
      padding: 9px 18px
   }
}

.c-tbl01 dl .dt-rows:last-child {
   border-bottom: 0
}

.c-menu {
   display: -webkit-box;
   display: -moz-box;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex;
   -webkit-flex-wrap: wrap;
   -moz-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap
}

.c-menu .menu-item {
   position: relative;
   width: 36.8%;
   padding-left: 40px;
   padding-right: 40px
}

.c-menu .menu-ttl {
   margin-bottom: 15px;
   font-size: 16px;
   font-size: 1.6rem;
   line-height: 36px;
   line-height: 2.25em;
   letter-spacing: .05em;
   font-weight: bold
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
   .c-menu .menu-item {
      padding-left: 20px;
      padding-right: 20px
   }

   .c-menu .menu-item:before {
      bottom: 0
   }

   .c-menu .menu-ttl {
      font-size: 15px;
      font-size: 1.5rem
   }
}

@media (min-width: 768px) {
   .c-menu .menu-item:before {
      position: absolute;
      content: "";
      top: 6px;
      left: 0;
      right: 0;
      bottom: 9px;
      border-left: 1px solid #d1d7d9;
      pointer-events: none
   }

   .c-menu .menu-item:nth-child(3n-1) {
      width: 31.5%
   }

   .c-menu .menu-item:nth-child(3n) {
      width: 31.7%
   }

   .c-menu .menu-item:nth-child(3n):before {
      border-right: 1px solid #d1d7d9
   }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) and (orientation: landscape) {
   .c-menu .menu-item {
      padding: 0 20px
   }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
   .c-menu .menu-item {
      padding: 0 20px
   }
}

@media (max-width: 767px) {
   .c-menu .menu-item {
      width: 100%;
      border-top: 1px solid #d1d7d9;
      padding: 24px 0 22px
   }

   .c-menu .menu-item:last-of-type {
      border-bottom: 1px solid #d1d7d9
   }

   .c-menu .menu-ttl {
      margin-bottom: 8px;
      font-size: 15px;
      font-size: 1.5rem
   }
}

.c-menu-list a {
   display: block;
   position: relative;
   padding-left: 26px;
   font-size: 15px;
   font-size: 1.5rem;
   line-height: 40px;
   line-height: 2.66667em;
   letter-spacing: .05em;
   font-weight: 500
}

.c-menu-list a:before {
   position: absolute;
   content: "";
   background-image: url("../images/common/icon/ico_arrow.svg");
   background-repeat: no-repeat;
   background-position: center;
   background-size: 16px 16px;
   top: 50%;
   left: 0;
   width: 16px;
   height: 16px;
   transform: translateY(-50%)
}

@media only screen and (min-width: 1025px) {
   .c-menu-list a:hover {
      opacity: 1;
      color: #09C0E2
   }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
   .c-menu-list a {
      font-size: 12px;
      font-size: 1.2rem;
      padding-left: 20px;
      line-height: 2.08333em
   }

   .c-menu-list a:before {
      top: 13px;
      width: 13px;
      height: 13px;
      background-size: 13px 13px
   }
}

@media (max-width: 767px) {
   .c-menu-list a {
      padding-left: 41px;
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 34px;
      line-height: 2.42857em
   }

   .c-menu-list a:before {
      margin-top: -1px;
      left: 15px
   }
}

.jumpCony {
   position: relative;
   display: inline-block
}

.jumpCony em {
   position: absolute;
   top: 0;
   left: 0;
   max-width: 82%;
   width: 100%;
   height: 100%;
   overflow: hidden
}

.jumpCony em img {
   position: absolute;
   bottom: -60px;
   left: 0;
   width: 100%;
   height: 50%;
   max-width: 98.34%
}

.jumpCony2 {
   position: relative
}

.jumpCony2 em {
   display: block;
   position: absolute;
   bottom: 83%;
   left: 0;
   right: 0;
   max-width: 65px;
   width: 100%;
   height: 200px;
   overflow: hidden;
   margin: auto
}

.jumpCony2 em img {
   position: absolute;
   bottom: -100%;
   left: 0;
   width: 100%;
   max-width: 100%
}

@media (max-width: 767px) {
   .jumpCony2 em {
      bottom: 100%;
      max-width: 39px;
      width: 100%;
      height: 100px;
      right: 0px
   }
}

.c-ttljump {
   max-width: 800px;
   width: 100%;
   margin: 0 auto;
   color: #F8334A;
   position: relative
}

.c-ttljump>.txt {
   display: block;
   box-shadow: 0 0 0 2px #F8334A;
   border-radius: 28px;
   background-color: #fff;
   text-align: center;
   font-size: 18px;
   font-size: 1.8rem;
   letter-spacing: .05em;
   font-weight: bold;
   padding: 11px 14px 12px;
   z-index: 1;
   position: relative
}

.c-ttljump>.txt::after {
   display: inline-block;
   content: "";
   position: absolute;
   bottom: -11px;
   left: 50%;
   -webkit-transform: translateX(-50%);
   -moz-transform: translateX(-50%);
   -ms-transform: translateX(-50%);
   -o-transform: translateX(-50%);
   transform: translateX(-50%);
   border: solid #F8334A;
   border-width: 0 2px 2px 0;
   padding: 8px;
   -webkit-transform: translateX(-50%) rotate(45deg) skew(8deg, 8deg);
   -moz-transform: translateX(-50%) rotate(45deg) skew(8deg, 8deg);
   -ms-transform: translateX(-50%) rotate(45deg) skew(8deg, 8deg);
   -o-transform: translateX(-50%) rotate(45deg) skew(8deg, 8deg);
   transform: translateX(-50%) rotate(45deg) skew(8deg, 8deg);
   background-color: #fff
}

@media (max-width: 767px) {
   .c-ttljump {
      max-width: 295px
   }

   .c-ttljump .txt {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 20px;
      line-height: 1.25em;
      letter-spacing: .05em;
      font-weight: 700;
      padding: 9px 17px 11px;
      border-radius: 100px
   }
}

@media only screen and (max-width: 350px) {
   .c-ttljump {
      max-width: 90%
   }
}

.c-service {
   border-radius: 200px;
   background-color: #CAEEF8;
   display: -webkit-box;
   display: -moz-box;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex;
   -webkit-align-items: center;
   -moz-align-items: center;
   -ms-align-items: center;
   align-items: center;
   position: relative;
   padding: 20px 50px 20px 20px;
   -webkit-box-shadow: 0px 4px 0px 0px #91ddf4;
   -moz-box-shadow: 0px 4px 0px 0px #91ddf4;
   -ms-box-shadow: 0px 4px 0px 0px #91ddf4;
   -o-box-shadow: 0px 4px 0px 0px #91ddf4;
   box-shadow: 0px 4px 0px 0px #91ddf4;
   -webkit-transition: .3s;
   -moz-transition: .3s;
   -ms-transition: .3s;
   -o-transition: .3s;
   transition: .3s
}

.c-service::before {
   content: "";
   position: absolute;
   top: 50%;
   right: 30px;
   -webkit-transform: translateY(-50%);
   -moz-transform: translateY(-50%);
   -ms-transform: translateY(-50%);
   -o-transform: translateY(-50%);
   transform: translateY(-50%);
   display: inline-block;
   background-image: url("../images//common/icon/ico_arw_service.svg");
   background-repeat: repeat;
   background-position: left top;
   background-color: none;
   background-size: auto;
   width: 12px;
   height: 20px
}

.c-service img {
   margin-right: 14px
}

.c-service .txt {
   font-size: 18px;
   font-size: 1.8rem;
   line-height: 26px;
   line-height: 1.44444em;
   letter-spacing: .05em;
   font-weight: 700
}

.c-service.style2 {
   background-color: #fff0f0;
   -webkit-box-shadow: 0px 4px 0px 0px #fad8dc;
   -moz-box-shadow: 0px 4px 0px 0px #fad8dc;
   -ms-box-shadow: 0px 4px 0px 0px #fad8dc;
   -o-box-shadow: 0px 4px 0px 0px #fad8dc;
   box-shadow: 0px 4px 0px 0px #fad8dc
}

.c-service.style2::before {
   background-image: url("../images//common/icon/ico_arw_service_red.svg")
}

@media only screen and (min-width: 1025px) {
   .c-service:hover {
      opacity: 1;
      box-shadow: none;
      -webkit-transform: translateY(4px);
      -moz-transform: translateY(4px);
      -ms-transform: translateY(4px);
      -o-transform: translateY(4px);
      transform: translateY(4px);
      color: #09C0E2
   }

   .c-service:hover .txt {
      color: #09C0E2
   }

   .c-service:hover.style2 {
      color: red
   }

   .c-service:hover.style2 .txt {
      color: red
   }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
   .c-service {
      padding-right: 40px
   }

   .c-service:before {
      right: 20px
   }

   .c-service img {
      max-width: 60px
   }

   .c-service .txt {
      font-size: 16px;
      font-size: 1.6rem
   }
}

@media (max-width: 767px) {
   .c-service {
      padding: 10px 50px 10px 10px
   }

   .c-service img {
      max-width: 50px;
      margin-right: 20px
   }

   .c-service .txt {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 22px;
      line-height: 1.375em;
      letter-spacing: .05em;
      font-weight: 700
   }
}

.c-box {
   background: #fff;
   -webkit-border-radius: 40px;
   -moz-border-radius: 40px;
   -ms-border-radius: 40px;
   -o-border-radius: 40px;
   border-radius: 40px;
   padding: 26px 30px 37px
}

@media (max-width: 767px) {
   .c-box {
      -webkit-border-radius: 30px;
      -moz-border-radius: 30px;
      -ms-border-radius: 30px;
      -o-border-radius: 30px;
      border-radius: 30px;
      padding: 18px 30px 16px
   }
}

.c-box .c-ttl03 {
   position: relative;
   padding-bottom: 28px;
   margin-bottom: 27px
}

@media (max-width: 767px) {
   .c-box .c-ttl03 {
      padding-bottom: 20px;
      margin-bottom: 18px
   }
}

.c-box .c-ttl03:before {
   position: absolute;
   content: "";
   bottom: 0;
   left: 0;
   width: 100%;
   height: 2px;
   background: #CAEEF8;
   -webkit-border-radius: 10px;
   -moz-border-radius: 10px;
   -ms-border-radius: 10px;
   -o-border-radius: 10px;
   border-radius: 10px
}

.c-box .c-txt01 {
   line-height: 1.87
}

@media (max-width: 767px) {
   .c-box .c-txt01 {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 26px;
      line-height: 1.85714em
   }
}

.c-box01 .ttl {
   position: relative;
   margin-bottom: 21px;
   font-size: 18px;
   font-size: 1.8rem;
   line-height: 26px;
   line-height: 1.44444em;
   letter-spacing: .05em;
   font-weight: bold;
   color: #09C0E2
}

.c-box01 .ttl span {
   display: inline-block;
   position: relative;
   background: #fff;
   padding-right: 10px;
   z-index: 1
}

.c-box01 .ttl:before {
   position: absolute;
   content: "";
   top: 50%;
   right: 0;
   width: 100%;
   height: 2px;
   border-top: 1px solid #09C0E2
}

.c-box01 .txt01 {
   margin-top: -4px
}

.c-box01 .row+.row {
   margin-top: 28px
}

@media (max-width: 767px) {
   .c-box01 .ttl {
      margin-bottom: 23px;
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 22px;
      line-height: 1.375em;
      letter-spacing: .05em
   }

   .c-box01 .ttl::before {
      content: none
   }

   .c-box01 .row:not(:last-of-type) {
      border-bottom: 2px solid #caeef8;
      padding-bottom: 27px
   }

   .c-box01 .row+.row {
      margin-top: 31px
   }
}

@media (min-width: 768px) {
   .c-list-box {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin-left: -10px;
      margin-right: -10px
   }

   .c-list-box .box-item {
      width: 50%;
      padding: 0 10px;
      margin-bottom: 20px
   }

   .c-list-box .c-box {
      height: 100%
   }

   .c-list-box.col3 .box-item {
      width: 33.333%
   }

   .c-list-box.col3 .c-box {
      padding-bottom: 27px
   }

   .c-list-box.col3 .c-ttl03 .ttl-second {
      max-width: 132px
   }

   .c-list-box.col3 .c-ttl03 .ttl-second .s-txt {
      max-width: 115px;
      min-height: 56px;
      padding-top: 8px
   }

   .c-list-box.col3 .c-ttl03 .ttl-second .s-txt .txt {
      margin-right: 5px
   }

   .c-list-box.col3 .c-ttl03 .ttl-second .s-txt .number {
      font-size: 26px;
      font-size: 2.6rem
   }

   .c-list-box.col3 .c-ttl03 .ttl-second .s-txt:before {
      width: 56px;
      height: 56px;
      background-image: url("../images/common/other/bg_ellipse01.png")
   }
}

@media only screen and (min-width: 768px) and (max-width: 980px) {
   .c-list-box.col3 .c-ttl03 {
      display: block;
      padding-bottom: 17px
   }

   .c-list-box.col3 .c-ttl03 .ttl-primary {
      margin-top: 10px
   }
}

@media only screen and (min-width: 768px) and (max-width: 992px) {
   .c-list-box.col3 .box-item {
      width: 50%
   }

   .c-list-box.col3 .c-ttl03 {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      -moz-align-items: center;
      -ms-align-items: center;
      align-items: center
   }

   .c-list-box.col3 .c-ttl03 .ttl-primary {
      margin-top: 0
   }
}

@media (max-width: 767px) {
   .c-list-box .box-item {
      margin-bottom: 10px
   }

   .c-list-box .box-item:last-child {
      margin-bottom: 0
   }
}

.c-list-check01 li {
   position: relative;
   padding: 0 0 0 38px;
   margin-bottom: 10px;
   font-size: 15px;
   font-size: 1.5rem;
   line-height: 28px;
   line-height: 1.86667em;
   letter-spacing: .05em;
   font-weight: bold
}

.c-list-check01 li:last-child {
   margin-bottom: 0
}

.c-list-check01 li:before {
   position: absolute;
   content: "";
   top: 0;
   left: 0;
   width: 28px;
   height: 28px;
   background-image: url("../images/common/icon/ico_checked.svg");
   background-repeat: no-repeat;
   background-position: center;
   background-color: rgba(0, 0, 0, 0);
   background-size: 100% 100%
}

@media (max-width: 767px) {
   .c-list-check01 li {
      line-height: 1.47;
      padding-left: 34px;
      margin-bottom: 11px
   }

   .c-list-check01 li:before {
      width: 24px;
      height: 24px
   }
}

.c-list-dot01 li {
   position: relative;
   padding: 0 0 0 12px;
   font-size: 15px;
   font-size: 1.5rem;
   line-height: 28px;
   line-height: 1.86667em;
   letter-spacing: .05em
}

@media (max-width: 767px) {
   .c-list-dot01 li {
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 24px;
      line-height: 1.6em
   }
}

.c-list-dot01 li:last-child {
   margin-bottom: 0
}

.c-list-dot01 li:before {
   position: absolute;
   content: "";
   top: 11px;
   left: 0;
   width: 6px;
   height: 6px;
   background: #09C0E2;
   -webkit-border-radius: 50%;
   -moz-border-radius: 50%;
   -ms-border-radius: 50%;
   -o-border-radius: 50%;
   border-radius: 50%
}

.c-flex .photo {
   overflow: hidden
}

.c-flex .photo img {
   display: block;
   width: 100%
}

@media (min-width: 768px) {
   .c-flex {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-align-items: flex-start;
      -moz-align-items: flex-start;
      -ms-align-items: flex-start;
      align-items: flex-start
   }

   .c-flex .info {
      width: 62.962%;
      padding-right: 7%
   }

   .c-flex .info .c-txt01 {
      margin-top: 61px
   }

   .c-flex .photo {
      width: 37.038%;
      border-radius: 40px
   }
}

@media (max-width: 767px) {
   .c-flex .info .c-txt01 {
      margin-top: 27px
   }

   .c-flex .photo {
      margin-top: 39px;
      border-radius: 30px
   }

   .c-flex .txt01 {
      order: 4
   }
}

.c-flex01 {
   display: -webkit-box;
   display: -moz-box;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex;
   -webkit-flex-wrap: wrap;
   -moz-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
   -webkit-align-items: flex-start;
   -moz-align-items: flex-start;
   -ms-align-items: flex-start;
   align-items: flex-start
}

.c-flex01 .info {
   width: 64%;
   padding-right: 6%
}

.c-flex01 .photo {
   width: 36%;
   margin-top: 5px;
   overflow: hidden
}

.c-flex01 .photo img {
   display: block;
   width: 100%;
   border-radius: 40px
}

@media (max-width: 767px) {
   .c-flex01 {
      -webkit-flex-direction: column-reverse;
      -moz-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
      flex-direction: column-reverse
   }

   .c-flex01 .info {
      width: 100%;
      margin-top: 27px;
      padding-right: 0
   }

   .c-flex01 .photo {
      width: 100%
   }

   .c-flex01 .photo img {
      border-radius: 30px
   }
}

.c-flex02 {
   counter-reset: number
}

.c-flex02>.item {
   position: relative
}

.c-flex02>.item .c-ttl02 {
   position: relative
}

.c-flex02>.item .c-ttl02:before {
   position: absolute;
   counter-increment: number;
   content: counter(number, decimal-leading-zero);
   left: -80px;
   bottom: -67px;
   z-index: -1;
   font-size: 200px;
   font-size: 20rem;
   font-weight: 600;
   color: #fff;
   line-height: 1;
   font-family: 'Nunito', sans-serif
}

.c-flex02>.item+.item {
   margin-top: 99px
}

.c-flex02 .c-ttl02 {
   margin-bottom: 43px
}

.c-flex02 .c-btn01 {
   margin-top: 35px
}

@media only screen and (min-width: 768px) and (max-width: 1180px) {
   .c-flex02>.item .c-ttl02:before {
      left: -25px
   }
}

@media (max-width: 767px) {
   .c-flex02>.item .c-ttl02:before {
      bottom: -17px;
      left: -26px;
      font-size: 120px;
      font-size: 12rem
   }

   .c-flex02>.item+.item {
      margin-top: 58px
   }

   .c-flex02 .c-ttl02 {
      margin-bottom: 34px
   }

   .c-flex02 .c-btn01 {
      margin-top: 27px
   }

   .c-flex02 .c-btn01 a {
      max-width: 100%;
      padding-left: 23px;
      padding-bottom: 20px;
      font-size: 14px;
      font-size: 1.4rem
   }

   .c-flex02 .c-btn01 a:before {
      right: 25px;
      width: 8px;
      height: 14px;
      background-size: 8px 14px
   }
}

.c-box-text {
   margin: 60px 0;
   background-color: #fff;
   border-radius: 40px;
   padding: 79px 60px 60px;
   position: relative
}

.c-box-text .c-ttljump {
   position: absolute;
   top: 0;
   left: 50%;
   -webkit-transform: translate(-50%, -37%);
   -moz-transform: translate(-50%, -37%);
   -ms-transform: translate(-50%, -37%);
   -o-transform: translate(-50%, -37%);
   transform: translate(-50%, -37%)
}

.c-box-text .c-ttljump em {
   bottom: 29%;
   max-width: 67px
}

@media (max-width: 767px) {
   .c-box-text {
      padding: 71px 30px 10px;
      margin: 60px 0 80px
   }

   .c-box-text .c-ttljump {
      -webkit-transform: translate(-50%, -28%);
      -moz-transform: translate(-50%, -28%);
      -ms-transform: translate(-50%, -28%);
      -o-transform: translate(-50%, -28%);
      transform: translate(-50%, -28%)
   }

   .c-box-text .c-ttljump em {
      max-width: 47px;
      bottom: 50%
   }
}

.c-list-maintenance {
   counter-reset: number
}

@media (min-width: 768px) {
   .c-list-maintenance {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin: 0 -39px
   }

   .c-list-maintenance li {
      max-width: 33.3333%;
      width: 100%;
      padding: 0 39px
   }

   .c-list-maintenance li:not(:last-child) {
      border-right: 2px solid #CAEEF8
   }

   .c-list-maintenance .ttl {
      text-align: center
   }

   .c-list-maintenance .ttl::before {
      margin: 0 auto 10px
   }
}

.c-list-maintenance li {
   counter-increment: number
}

.c-list-maintenance .ttl {
   font-size: 18px;
   font-size: 1.8rem;
   line-height: 26px;
   line-height: 1.44444em;
   letter-spacing: .05em;
   font-weight: 700;
   margin-bottom: 6px
}

.c-list-maintenance .ttl::before {
   content: counter(number, decimal-leading-zero);
   font-size: 20px;
   font-size: 2rem;
   letter-spacing: 0em;
   font-weight: 700;
   font-family: 'Nunito', sans-serif;
   width: 50px;
   height: 50px;
   display: -webkit-box;
   display: -moz-box;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex;
   -webkit-justify-content: center;
   -moz-justify-content: center;
   -ms-justify-content: center;
   justify-content: center;
   -webkit-align-items: center;
   -moz-align-items: center;
   -ms-align-items: center;
   align-items: center;
   background-image: url("../images//common/other/bg_ellipse_03.png");
   background-repeat: no-repeat;
   background-position: center;
   background-color: rgba(0, 0, 0, 0);
   background-size: contain;
   color: #09C0E2
}

.c-list-maintenance .txt {
   font-size: 15px;
   font-size: 1.5rem;
   line-height: 32px;
   line-height: 2.13333em;
   letter-spacing: .05em;
   font-weight: 400
}

@media (max-width: 767px) {
   .c-list-maintenance {
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column
   }

   .c-list-maintenance li {
      padding-bottom: 17px
   }

   .c-list-maintenance li:not(:last-child) {
      border-bottom: 2px solid #CAEEF8;
      margin-bottom: 20px
   }

   .c-list-maintenance .ttl {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      -moz-align-items: center;
      -ms-align-items: center;
      align-items: center;
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 22px;
      line-height: 1.375em;
      letter-spacing: .05em;
      font-weight: 700;
      margin-bottom: 11px
   }

   .c-list-maintenance .ttl::before {
      background-image: url("../images//common/other/bg_ellipse_03_sp.png");
      margin-right: -4px
   }

   .c-list-maintenance .txt {
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 28px;
      line-height: 1.86667em;
      letter-spacing: .05em;
      font-weight: 400
   }
}

.block-jump {
   position: relative;
   background: #fff;
   max-width: 1000px;
   width: 100%;
   margin: 135px auto 0;
   border-radius: 40px;
   padding: 0 20px 45px
}

.block-jump .c-ttljump {
   top: -21px
}

.block-jump .jumpCony2 em {
   max-width: 64px;
   bottom: 29%
}

.block-jump .inner {
   max-width: 880px;
   width: 100%;
   margin: auto
}

.block-jump .c-txt01 {
   margin-top: 18px
}

.mv-single {
   padding-top: 170px;
   margin-bottom: 39px
}

@media (max-width: 767px) {
   .mv-single {
      padding-top: 108px;
      margin-bottom: 27px
   }
}

@media (min-width: 768px) {
   .mv-single .wcm {
      margin: 0 0 0 55px
   }
}

.mv-single .title-ja {
   font-size: 42px;
   font-size: 4.2rem;
   color: #09c0e2;
   font-weight: bold;
   padding-bottom: 20px;
   margin-bottom: 20px;
   position: relative;
   letter-spacing: .1em;
   text-shadow: 3px 3px 0 #fff
}

@media (max-width: 767px) {
   .mv-single .title-ja {
      font-size: 26px;
      font-size: 2.6rem;
      padding-bottom: 16px
   }
}

.mv-single .title-ja:before {
   position: absolute;
   content: "";
   width: 80px;
   height: 2px;
   bottom: 0;
   left: 0;
   -webkit-border-radius: 10px;
   -moz-border-radius: 10px;
   -ms-border-radius: 10px;
   -o-border-radius: 10px;
   border-radius: 10px;
   background: #caeef8
}

.mv-single .title-en {
   font-family: 'Nunito', sans-serif;
   font-weight: 800;
   font-size: 20px;
   font-size: 2rem;
   color: #9cacb4;
   letter-spacing: .2em
}

@media (max-width: 767px) {
   .mv-single .title-en {
      font-size: 16px;
      font-size: 1.6rem
   }
}

.contents-wrapper {
   position: relative;
   margin-top: 145px;
}
.contents-inner{
   max-width: 1150px;
   padding: 80px 25px 0;
   margin: 0 auto;
   position: relative;
}
.col2{
   display: flex;
   justify-content: center;
   gap: 60px;
}
@media (min-width: 768px) {
   .contents-wrapper {
      min-height: 700px
   }
}

.contents-wrapper.wave-pattern::before,
.contents-wrapper.wave-pattern::after {
   content: "";
   position: absolute;
   left: 0;
   top: 0;
   width: 100%;
   height: 330px;
   background: url("../images/common/other/bg_wave_white01.png") no-repeat top/100% 330px;
   z-index: -1
}

.contents-wrapper.wave-pattern::after {
   top: auto;
   bottom: 0;
   background: url("../images/common/other/bg_wave_white01.png") no-repeat bottom/100% 330px;
   -webkit-transform: scale(-1, -1);
   -moz-transform: scale(-1, -1);
   -ms-transform: scale(-1, -1);
   -o-transform: scale(-1, -1);
   transform: scale(-1, -1)
}

.contents-wrapper.wave-pattern .main-bg {
   position: absolute;
   left: 0;
   top: 50%;
   -webkit-transform: translateY(-50%);
   -moz-transform: translateY(-50%);
   -ms-transform: translateY(-50%);
   -o-transform: translateY(-50%);
   transform: translateY(-50%);
   width: 100%;
   height: calc(100% - 658px);
   background-color: #fff;
   z-index: -1
}

@media (max-width: 767px) {
   .main-content {
      margin: 70px 0 119px;
      padding-bottom: 0;
      background-size: contain
   }

   .contents-wrapper.wave-pattern::before {
      height: 120px;
      background-image: url("../images/common/other/bg_wave_white01_sp.png");
      background-size: 100% 120px
   }
   .contents-wrapper.wave-pattern::after {
      content: "";
      position: absolute;
      height: 120px;
      background: url("../images/common/other/bg_wave_white01_sp.png") no-repeat bottom / 100% 120px;
    }
   .main-content .main-bg {
      background-color: transparent
   }
}

@media (min-width: 768px) {
   .main-content .content-left {
      float: left;
      width: 73%;
      clear: left
   }
}

@media (max-width: 767px) {
   .main-content .content-left {
      position: relative;
      padding-bottom: 120px
   }

   .main-content .content-left::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: calc(100% + 50px);
      height: calc(100% - 238px);
      background-color: #fff;
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      z-index: -1
   }

   .main-content .content-left::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 50%;
      width: calc(100% + 50px);
      height: 120px;
      background: url("../images/common/other/bg_wave_white01_sp.png") no-repeat bottom/100% 120px;
      -webkit-transform: translateX(-50%) scale(-1, -1);
      -moz-transform: translateX(-50%) scale(-1, -1);
      -ms-transform: translateX(-50%) scale(-1, -1);
      -o-transform: translateX(-50%) scale(-1, -1);
      transform: translateX(-50%) scale(-1, -1);
      z-index: -1
   }
}

@media (min-width: 768px) {
   .main-content .content-right {
      float: right;
      width: 27%;
      padding-left: 90px;
      margin-top: 5px;
      clear: right
   }
}

@media only screen and (min-width: 992px) and (max-width: 1024px) {
   .main-content .content-right {
      padding-left: 50px
   }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
   .main-content .content-right {
      padding-left: 26px
   }
}

@media (max-width: 767px) {
   .main-content .content-right {
      margin-top: -40px
   }
}

.main-content .content-right .cats-box {
   margin-bottom: 66px
}

@media (max-width: 767px) {
   .main-content .content-right .cats-box {
      margin-bottom: 47px
   }
}

.main-content .content-right .title-box-right {
   margin-bottom: 30px
}

@media (max-width: 767px) {
   .main-content .content-right .title-box-right {
      padding-bottom: 17px;
      margin-bottom: 0;
      position: relative
   }

   .main-content .content-right .title-box-right.is-open+.list-archive {
      display: block
   }

   .main-content .content-right .title-box-right:before {
      position: absolute;
      content: "";
      background: url("../images/news/bg_border.svg") repeat;
      width: 100%;
      height: 4px;
      left: 0;
      bottom: 0
   }

   .main-content .content-right .title-box-right:after {
      content: "";
      position: absolute;
      right: 1px;
      top: 11px;
      width: 14px;
      height: 14px;
      border-left: 2px solid #09c0e2;
      border-top: 2px solid #09c0e2;
      -moz-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg)
   }

   .main-content .content-right .title-box-right.hide-archives:after {
      top: 5px;
      -moz-transform: rotate(225deg);
      -webkit-transform: rotate(225deg);
      -ms-transform: rotate(225deg);
      transform: rotate(225deg)
   }
}

aside.sidebar .txt-ja {
   font-weight: bold;
   font-size: 20px;
   font-size: 2rem;
   letter-spacing: 2px;
   margin-bottom: 11px
}

@media (min-width: 768px) {
   aside.sidebar .txt-ja {
      display: block;
      line-height: 1
   }
}

@media (max-width: 767px) {
   aside.sidebar .txt-ja {
      font-size: 18px;
      font-size: 1.8rem;
      margin-right: 14px
   }
}

aside.sidebar .txt-en {
   font-family: 'Nunito', sans-serif;
   font-size: 14px;
   font-size: 1.4rem;
   color: #09c0e2;
   font-weight: bold;
   letter-spacing: 2.8px
}

@media (min-width: 768px) {
   aside.sidebar .txt-en {
      display: block;
      line-height: 1
   }
}

@media (max-width: 767px) {
   aside.sidebar .txt-en {
      font-size: 12px;
      font-size: 1.2rem;
      letter-spacing: 2.3px;
      position: relative;
      top: -2px
   }
}

aside.sidebar .txt-en strong {
   color: #f8334a
}

.main-content .content-right .list-posts {
   counter-reset: number
}

@media (max-width: 767px) {
   .main-content .content-right .list-posts {
      margin-top: 29px;
      display: none
   }
}

@media only screen and (min-width: 1025px) {
   .main-content .content-right .list-posts a:hover .date:after {
      width: 47%
   }
}

.main-content .content-right .list-posts .item-post {
   display: block;
   width: 100%;
   margin-right: 0;
   margin-bottom: 27px
}

@media (max-width: 767px) {
   .main-content .content-right .list-posts .item-post {
      margin-bottom: 20px
   }

   .main-content .content-right .list-posts .item-post .date {
      bottom: 5px
   }
}

.main-content .content-right .list-posts .item-post .cat {
   margin-bottom: 12px
}

.main-content .content-right .list-posts .item-post .img-post {
   height: 135px;
   margin-bottom: 10px;
   position: relative;
   counter-increment: number
}

.main-content .content-right .list-posts .item-post .img-post::before {
   content: counter(number);
   position: absolute;
   bottom: 10px;
   right: 10px;
   width: 40px;
   height: 40px;
   background-color: #D9C346;
   border-radius: 50%;
   z-index: 1;
   color: #fff;
   font-family: 'Nunito', sans-serif;
   font-size: 22px;
   font-size: 2.2rem;
   letter-spacing: .05em;
   font-weight: 700;
   line-height: 1;
   padding: 9px 14px
}

@media (max-width: 767px) {
   .main-content .content-right .list-posts .item-post .img-post {
      height: 115px
   }

   .main-content .content-right .list-posts .item-post .img-post::before {
      bottom: 6px;
      right: 6px;
      width: 30px;
      height: 30px;
      font-size: 15px;
      font-size: 1.5rem;
      letter-spacing: .05em;
      font-weight: 700;
      padding: 8px 11px
   }
}

.main-content .content-right .list-posts .item-post .title-post {
   margin-bottom: 3px
}

.main-content .content-right .list-posts .item-post:nth-child(2) .img-post::before {
   background-color: #A5A5A5
}

.main-content .content-right .list-posts .item-post:nth-child(3) .img-post::before {
   background-color: #B1794A
}

.list-posts {
   font-size: 0px;
   font-size: 0rem;
   margin-bottom: 20px
}

@media (min-width: 768px) {
   .list-posts {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap
   }
}

@media (max-width: 767px) {
   .list-posts {
      margin-bottom: 48px
   }
}

.list-posts a,
.list-posts .item-link {
   display: block;
   position: relative
}

@media (min-width: 768px) {

   .list-posts a,
   .list-posts .item-link {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column
   }
}

.list-posts a .line1:after,
.list-posts a .line2:after,
.list-posts .item-link .line1:after,
.list-posts .item-link .line2:after {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 0;
   height: 1px;
   -webkit-transition: .3s;
   -moz-transition: .3s;
   -ms-transition: .3s;
   -o-transition: .3s;
   transition: .3s
}

.list-posts a .line2::after,
.list-posts .item-link .line2::after {
   top: auto;
   bottom: 0
}

@media only screen and (min-width: 1025px) {

   .list-posts a:hover,
   .list-posts .item-link:hover {
      opacity: 1
   }

   .list-posts a:hover .date:after,
   .list-posts .item-link:hover .date:after {
      width: calc(100% - 95px)
   }

   .list-posts a:hover .cat,
   .list-posts .item-link:hover .cat {
      color: #fff !important
   }

   .list-posts a:hover .img-post>img,
   .list-posts .item-link:hover .img-post>img {
      opacity: 0.8;
      -webkit-transform: scale(1.05);
      -moz-transform: scale(1.05);
      -ms-transform: scale(1.05);
      -o-transform: scale(1.05);
      transform: scale(1.05)
   }

   .list-posts a:hover .line1:after,
   .list-posts a:hover .line2:after,
   .list-posts .item-link:hover .line1:after,
   .list-posts .item-link:hover .line2:after {
      width: 100%
   }
}

@media only screen and (min-width: 1025px) {

   .list-posts a.color-red:hover .date,
   .list-posts .item-link.color-red:hover .date {
      color: #f8334a
   }

   .list-posts a.color-red:hover .date::after,
   .list-posts .item-link.color-red:hover .date::after {
      background: #f8334a
   }

   .list-posts a.color-red:hover .cat,
   .list-posts .item-link.color-red:hover .cat {
      background: #f8334a
   }

   .list-posts a.color-red:hover .title-post,
   .list-posts a.color-red:hover .case-list,
   .list-posts .item-link.color-red:hover .title-post,
   .list-posts .item-link.color-red:hover .case-list {
      color: #f8334a
   }

   .list-posts a.color-red:hover .case-list li:first-child::after,
   .list-posts a.color-red:hover .case-list li:last-child::after,
   .list-posts .item-link.color-red:hover .case-list li:first-child::after,
   .list-posts .item-link.color-red:hover .case-list li:last-child::after {
      width: 100%
   }
}

@media only screen and (min-width: 1025px) {

   .list-posts a.color-green:hover .date,
   .list-posts .item-link.color-green:hover .date {
      color: #28bf6e
   }

   .list-posts a.color-green:hover .date::after,
   .list-posts .item-link.color-green:hover .date::after {
      background: #28bf6e
   }

   .list-posts a.color-green:hover .cat,
   .list-posts .item-link.color-green:hover .cat {
      background: #28bf6e
   }

   .list-posts a.color-green:hover .title-post,
   .list-posts a.color-green:hover .case-list,
   .list-posts .item-link.color-green:hover .title-post,
   .list-posts .item-link.color-green:hover .case-list {
      color: #28bf6e
   }

   .list-posts a.color-green:hover .case-list li:first-child::after,
   .list-posts a.color-green:hover .case-list li:last-child::after,
   .list-posts .item-link.color-green:hover .case-list li:first-child::after,
   .list-posts .item-link.color-green:hover .case-list li:last-child::after {
      width: 100%
   }
}

@media only screen and (min-width: 1025px) {

   .list-posts a.color-yellow:hover .date,
   .list-posts .item-link.color-yellow:hover .date {
      color: #d9ae1c
   }

   .list-posts a.color-yellow:hover .date::after,
   .list-posts .item-link.color-yellow:hover .date::after {
      background: #d9ae1c
   }

   .list-posts a.color-yellow:hover .cat,
   .list-posts .item-link.color-yellow:hover .cat {
      background: #d9ae1c
   }

   .list-posts a.color-yellow:hover .title-post,
   .list-posts a.color-yellow:hover .case-list,
   .list-posts .item-link.color-yellow:hover .title-post,
   .list-posts .item-link.color-yellow:hover .case-list {
      color: #d9ae1c
   }

   .list-posts a.color-yellow:hover .case-list li:first-child::after,
   .list-posts a.color-yellow:hover .case-list li:last-child::after,
   .list-posts .item-link.color-yellow:hover .case-list li:first-child::after,
   .list-posts .item-link.color-yellow:hover .case-list li:last-child::after {
      width: 100%
   }
}

@media only screen and (min-width: 1025px) {

   .list-posts a.color-orange:hover .date,
   .list-posts .item-link.color-orange:hover .date {
      color: #f86833
   }

   .list-posts a.color-orange:hover .date::after,
   .list-posts .item-link.color-orange:hover .date::after {
      background: #f86833
   }

   .list-posts a.color-orange:hover .cat,
   .list-posts .item-link.color-orange:hover .cat {
      background: #f86833
   }

   .list-posts a.color-orange:hover .title-post,
   .list-posts a.color-orange:hover .case-list,
   .list-posts .item-link.color-orange:hover .title-post,
   .list-posts .item-link.color-orange:hover .case-list {
      color: #f86833
   }

   .list-posts a.color-orange:hover .case-list li:first-child::after,
   .list-posts a.color-orange:hover .case-list li:last-child::after,
   .list-posts .item-link.color-orange:hover .case-list li:first-child::after,
   .list-posts .item-link.color-orange:hover .case-list li:last-child::after {
      width: 100%
   }
}

@media only screen and (min-width: 1025px) {

   .list-posts a.color-blue:hover .date,
   .list-posts .item-link.color-blue:hover .date {
      color: #1981db
   }

   .list-posts a.color-blue:hover .date::after,
   .list-posts .item-link.color-blue:hover .date::after {
      background: #1981db
   }

   .list-posts a.color-blue:hover .cat,
   .list-posts .item-link.color-blue:hover .cat {
      background: #1981db
   }

   .list-posts a.color-blue:hover .title-post,
   .list-posts a.color-blue:hover .case-list,
   .list-posts .item-link.color-blue:hover .title-post,
   .list-posts .item-link.color-blue:hover .case-list {
      color: #1981db
   }

   .list-posts a.color-blue:hover .case-list li:first-child::after,
   .list-posts a.color-blue:hover .case-list li:last-child::after,
   .list-posts .item-link.color-blue:hover .case-list li:first-child::after,
   .list-posts .item-link.color-blue:hover .case-list li:last-child::after {
      width: 100%
   }
}

@media only screen and (min-width: 1025px) {

   .list-posts a.color-brown:hover .date,
   .list-posts .item-link.color-brown:hover .date {
      color: #693203
   }

   .list-posts a.color-brown:hover .date::after,
   .list-posts .item-link.color-brown:hover .date::after {
      background: #693203
   }

   .list-posts a.color-brown:hover .cat,
   .list-posts .item-link.color-brown:hover .cat {
      background: #693203
   }

   .list-posts a.color-brown:hover .title-post,
   .list-posts a.color-brown:hover .case-list,
   .list-posts .item-link.color-brown:hover .title-post,
   .list-posts .item-link.color-brown:hover .case-list {
      color: #693203
   }

   .list-posts a.color-brown:hover .case-list li:first-child::after,
   .list-posts a.color-brown:hover .case-list li:last-child::after,
   .list-posts .item-link.color-brown:hover .case-list li:first-child::after,
   .list-posts .item-link.color-brown:hover .case-list li:last-child::after {
      width: 100%
   }
}

@media only screen and (min-width: 1025px) {

   .list-posts a.color-purple:hover .date,
   .list-posts .item-link.color-purple:hover .date {
      color: #cc66d9
   }

   .list-posts a.color-purple:hover .date::after,
   .list-posts .item-link.color-purple:hover .date::after {
      background: #cc66d9
   }

   .list-posts a.color-purple:hover .cat,
   .list-posts .item-link.color-purple:hover .cat {
      background: #cc66d9
   }

   .list-posts a.color-purple:hover .title-post,
   .list-posts a.color-purple:hover .case-list,
   .list-posts .item-link.color-purple:hover .title-post,
   .list-posts .item-link.color-purple:hover .case-list {
      color: #cc66d9
   }

   .list-posts a.color-purple:hover .case-list li:first-child::after,
   .list-posts a.color-purple:hover .case-list li:last-child::after,
   .list-posts .item-link.color-purple:hover .case-list li:first-child::after,
   .list-posts .item-link.color-purple:hover .case-list li:last-child::after {
      width: 100%
   }
}

.list-posts .item-post {
   margin-bottom: 60px
}

@media (min-width: 768px) {
   .list-posts .item-post {
      display: inline-block;
      vertical-align: top;
      width: 30.13%;
      margin-right: 4.8%
   }

   .list-posts .item-post:nth-child(3n) {
      margin-right: 0
   }
}

@media (max-width: 767px) {
   .list-posts .item-post {
      position: relative;
      margin-bottom: 27px
   }

   .list-posts .item-post:last-child {
      margin-bottom: 0
   }
}

.list-posts .item-post .img-post {
   height: 165px;
   -webkit-border-radius: 20px;
   -moz-border-radius: 20px;
   -ms-border-radius: 20px;
   -o-border-radius: 20px;
   border-radius: 20px;
   overflow: hidden;
   margin-bottom: 18px;
   position: relative;
   transform: translateZ(0)
}

@media (max-width: 767px) {
   .list-posts .item-post .img-post {
      width: 115px;
      height: 115px;
      margin-bottom: 0;
      -webkit-border-radius: 10px;
      -moz-border-radius: 10px;
      -ms-border-radius: 10px;
      -o-border-radius: 10px;
      border-radius: 10px;
      display: inline-block;
      vertical-align: top
   }
}

.list-posts .item-post .img-post img {
   object-fit: cover;
   width: 100%;
   height: 100%;
   -webkit-transition: transform 0.3s;
   -moz-transition: transform 0.3s;
   -ms-transition: transform 0.3s;
   -o-transition: transform 0.3s;
   transition: transform 0.3s
}

.list-posts .item-post .img-post .img-badge {
   max-width: 42px;
   width: 100%;
   display: block;
   position: absolute;
   top: 0;
   right: 20px;
   z-index: 1
}

@media (max-width: 767px) {
   .list-posts .item-post .img-post .img-badge {
      max-width: 34px;
      right: 10px
   }
}

.list-posts .item-post .img-post.noimg {
   border: 1px solid #d1d7d9
}

@media (min-width: 768px) {
   .list-posts .item-post .detail {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      flex: 1
   }

   .list-posts .item-post .detail .date {
      margin-top: auto
   }
}

@media (max-width: 767px) {
   .list-posts .item-post .detail {
      padding-left: 20px;
      display: inline-block;
      vertical-align: top;
      width: calc(100% - 115px);
      margin-top: 37px
   }
}

.list-posts .item-post .title-post {
   font-size: 15px;
   font-size: 1.5rem;
   line-height: 26px;
   letter-spacing: 0.8px;
   font-weight: 500;
   margin-bottom: 17px;
   -webkit-transition: .3s;
   -moz-transition: .3s;
   -ms-transition: .3s;
   -o-transition: .3s;
   transition: .3s
}

.list-posts .item-post .title-post span {
   overflow: hidden;
   width: 100%;
   -webkit-line-clamp: 2;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -o-text-overflow: ellipsis;
   text-overflow: ellipsis;
   white-space: normal
}

@media (max-width: 767px) {
   .list-posts .item-post .title-post {
      margin-bottom: 3px
   }
}

@media (max-width: 767px) {
   .list-posts .item-post .date {
      position: absolute;
      bottom: 0;
      right: 0;
      width: calc(100% - 137px)
   }
}

.cat {
   height: 30px;
   text-align: center;
   border: solid 2px;
   -webkit-border-radius: 30px;
   -moz-border-radius: 30px;
   -ms-border-radius: 30px;
   -o-border-radius: 30px;
   border-radius: 30px;
   background: #fff;
   line-height: 25px;
   font-size: 14px;
   font-size: 1.4rem;
   font-weight: bold;
   margin-bottom: 20px;
   transition: all 0.3s
}

@media (max-width: 767px) {
   .cat {
      height: 27px;
      margin-left: 135px;
      margin-bottom: 9px;
      line-height: 22px;
      position: absolute;
      right: 0;
      width: calc(100% - 135px);
      font-size: 12px;
      font-size: 1.2rem
   }
}

@media only screen and (max-width: 350px) {
   .cat {
      width: 50%;
      font-size: 10px;
      font-size: 1rem;
      line-height: 22px
   }
}

.cat.color-red {
   color: #f8334a
}

.cat.color-green {
   color: #28bf6e
}

.cat.color-yellow {
   color: #d9ae1c
}

.cat.color-orange {
   color: #f86833
}

.cat.color-blue {
   color: #1981db
}

.cat.color-brown {
   color: #693203
}

.cat.color-purple {
   color: #cc66d9
}

.cat.visible {
   visibility: hidden
}

.color-red .cat {
   border-color: #f8334a;
   color: #f8334a
}

.color-green .cat {
   border-color: #28bf6e;
   color: #28bf6e
}

.color-yellow .cat {
   border-color: #d9ae1c;
   color: #d9ae1c
}

.color-orange .cat {
   border-color: #f86833;
   color: #f86833
}

.color-blue .cat {
   border-color: #1981db;
   color: #1981db
}

.color-brown .cat {
   border-color: #693203;
   color: #693203
}

.color-purple .cat {
   border-color: #cc66d9;
   color: #cc66d9
}

@media (max-width: 767px) {
   .list-archive {
      display: none;
      margin-top: 26px
   }
}

.sidebar-list li {
   position: relative;
   margin-bottom: 10px;
}

.sidebar-list li:last-child {
   margin-bottom: 0
}

.sidebar-list li.current a {
   color: #09c0e2
}

.sidebar-list li a {
   font-size: 15px;
   font-size: 1.5rem;
   letter-spacing: .05em;
   font-weight: 500;
   color: #262626;
   padding-left: 26px;
   position: relative;
   display: block
}

.sidebar-list li a:before {
   position: absolute;
   content: "";
   background: url("../images/common/icon/ico_arrow.svg") no-repeat;
   background-size: 100% 100%;
   width: 16px;
   height: 16px;
   left: 0;
   top: 4px
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
   .sidebar-list li a {
      font-size: 12px;
      font-size: 1.2rem
   }
}

@media only screen and (min-width: 1025px) {
   .sidebar-list li a:hover {
      opacity: 1;
      color: #09C0E2
   }
}

@media (max-width: 767px) {
   .sidebar-list li a {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis
   }

   .sidebar-list li a br {
      display: none
   }
}
.single .main-content {
   background: transparent;
   padding-bottom: 0
}

.single .content-left .cat {
   display: inline-block;
   padding: 1px 0;
   max-width: 220px;
   width: 100%;
   margin-bottom: 26px
}

@media (max-width: 767px) {
   .single .content-left .cat {
      position: static;
      display: block;
      padding: 0;
      text-align: center;
      max-width: 100%;
      width: 100%;
      margin-left: 0;
      margin-bottom: 17px
   }
}

@media (max-width: 767px) {

   .single .content-left::before,
   .single .content-left:after {
      content: none
   }
}

.single .post-title {
   font-size: 28px;
   font-size: 2.8rem;
   line-height: 46px;
   line-height: 1.64286em;
   letter-spacing: .1em;
   font-weight: 700;
   margin-bottom: 17px
}

@media (max-width: 767px) {
   .single .post-title {
      font-size: 20px;
      font-size: 2rem;
      line-height: 36px;
      letter-spacing: 1px
   }
}

.single .post-date {
   display: block;
   margin-bottom: 57px;
}

@media (max-width: 767px) {
   .single .post-date {
      margin-bottom: 36px
   }
}
@media (max-width: 767px) {
   .single .post-date:before {
      width: calc(100% - 103px);
   }
}

.single .img-post {
   overflow: hidden;
   -webkit-border-radius: 20px;
   -moz-border-radius: 20px;
   -ms-border-radius: 20px;
   -o-border-radius: 20px;
   border-radius: 20px;
   margin-bottom: 100px
}

.single .img-post img {
   width: 100%
}

@media (max-width: 767px) {
   .single .img-post {
      margin-bottom: 59px
   }
}

@media (min-width: 768px) {
   .single .content-right {
      margin-top: 16px
   }
}

.single .pagingDt {
   display: flex;
   gap: 35px;
   justify-content: center;
   margin: 25px 0 80px;
   font-size: 0px;
   font-size: 0rem;
   text-align: center
}

@media (max-width: 767px) {
   .single .pagingDt {
      margin-top: 50px
   }
}

.single .pagingDt a {
   display: inline-block;
   vertical-align: middle;
}

@media (max-width: 767px) {
   .single .pagingDt a {
      margin-right: 20px
   }
}

.single .pagingDt a:last-child {
   margin-right: 0
}

.single .pagingDt a.list {
   width: 230px;
   height: 50px;
   line-height: 50px;
   text-align: center;
   background: #09c0e2;
   color: #fff;
   -webkit-border-radius: 100px;
   -moz-border-radius: 100px;
   -ms-border-radius: 100px;
   -o-border-radius: 100px;
   border-radius: 100px;
   font-size: 16px;
   font-size: 1.6rem;
   font-weight: bold;
   letter-spacing: 1.5px;
   margin-left: 15px;
}

@media (max-width: 767px) {
   .single .pagingDt a.list {
      width: 240px;
      height: 46px;
      line-height: 46px
   }
}

.single .pagingDt a.prev,
.single .pagingDt a.next {
   position: relative
}

.single .pagingDt a.prev:before,
.single .pagingDt a.next:before {
   position: absolute;
   content: ""
}

.single .pagingDt a.next::before,
.single .pagingDt a.prev::before{
   top: calc(50% + 0px);
   width: 8px;
   height: 8px;
   border-left: 2px solid #ffffff;
   border-top: 2px solid #ffffff;
}
.single .pagingDt a.next::before{
   right: 30px;
   -moz-transform: translateY(-50%) rotate(135deg);
   -webkit-transform: translateY(-50%) rotate(135deg);
   -ms-transform: translateY(-50%) rotate(135deg);
   transform: translateY(-50%) rotate(135deg);
}
.single .pagingDt a.prev:before {
   left: 30px;
   -moz-transform: translateY(-50%) rotate(315deg);
   -webkit-transform: translateY(-50%) rotate(315deg);
   -ms-transform: translateY(-50%) rotate(315deg);
   transform: translateY(-50%) rotate(315deg);
}

.single .related-posts {
   margin-top: 80px;
   clear: both
}

.single .related-posts .title-box {
   font-size: 34px;
   font-size: 3.4rem;
   font-weight: bold;
   text-align: center;
   padding-top: 24px;
   position: relative;
   margin-bottom: 38px;
   letter-spacing: 3px
}

.single .pagingDt a:hover {
   background-color: #F8334A;
   opacity: 1;
}

@media (max-width: 767px) {
   .single .related-posts .title-box {
      font-size: 24px;
      font-size: 2.4rem;
      padding-top: 20px;
      letter-spacing: 2px
   }
}

.single .related-posts .title-box:before {
   position: absolute;
   content: "";
   background: url("../images/common/icon/ico_dots.svg") no-repeat;
   background-size: 100% 100%;
   width: 38px;
   height: 6px;
   top: 0;
   left: 50%;
   transform: translate(-50%, 0)
}

@media (max-width: 767px) {
   .single .related-posts .title-box:before {
      width: 31px;
      height: 5px
   }
}

@media (max-width: 767px) {
   .single .related-posts .list-posts .item-post .detail {
      margin-top: 18px
   }
}

.empty-items {
   padding: 100px 0 100px;
   text-align: center;
   width: 100%;
   font-size: 16px;
   font-size: 1.6rem
}

.empty-items strong {
   display: block;
   margin-bottom: 20px
}

@media (max-width: 767px) {
   .empty-items {
      font-size: 15px;
      font-size: 1.5rem;
      padding: 100px 0
   }
}

@media only screen and (max-width: 374px) {
   .empty-items {
      font-size: 14px;
      font-size: 1.4rem
   }
}

@media only screen and (max-width: 350px) {
   .empty-items {
      font-size: 12px;
      font-size: 1.2rem
   }
}

#footer {
   position: relative;
   background: #ffffff;
   padding-top: 73px;
   padding-bottom: 0
}

#footer:before,
#footer:after {
   position: absolute;
   content: "";
   width: 50%;
   height: 4px;
   top: 0
}

#footer:before {
   left: 0;
   background: #F8334A
}

#footer:after {
   right: 0;
   background: #22c8f0
}

#footer .backtop {
   bottom: -10px;
   padding: 0;
   right: -140px;
   width: 120px;
   position: relative;
   position: fixed;
   border: none;
   outline: none;
   background-color: transparent;
   z-index: 10;
   -webkit-transition: .3s;
   -moz-transition: .3s;
   -ms-transition: .3s;
   -o-transition: .3s;
   transition: .3s
}

#footer .backtop:before {
   display: block;
   content: " ";
   width: 100%;
   padding-top: 100%
}

#footer .backtop>.content {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0
}

#footer .backtop img {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%
}

@media only screen and (min-width: 1025px) {
   #footer .backtop:hover {
      bottom: -2px
   }
}

#footer .copyright {
   margin-top: 46px;
   font-size: 14px;
   font-size: 1.4rem;
   letter-spacing: .05em;
   font-weight: 500;
   color: #fff;
   background-color: #09C0E2;
   text-align: center;
   padding: 20px 20px
}

#footer .copyright.mt-60 {
   margin-top: 60px
}

#footer .footerInner {
   display: -webkit-box;
   display: -moz-box;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex;
   -webkit-flex-wrap: wrap;
   -moz-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
   -webkit-justify-content: space-between;
   -moz-justify-content: space-between;
   -ms-justify-content: space-between;
   justify-content: space-between;
   margin-bottom: 53px
}

#footer .footer__txt {
   max-width: 29.8%;
   width: 100%
}

#footer .footer__infocontact {
   max-width: 63.2%;
   width: 100%
}

#footer .logofooter {
   display: block
}

#footer .company {
   font-size: 15px;
   font-size: 1.5rem;
   letter-spacing: .05em;
   font-weight: 500;
   margin: 30px 0 14px
}

#footer .info {
   font-size: 14px;
   font-size: 1.4rem;
   line-height: 28px;
   line-height: 2em;
   letter-spacing: .05em;
   font-weight: 500;
   margin-bottom: 25px
}

#footer .bnrfooter {
   display: block;
   padding-right: 10px
}

#footer .bnrfooter img {
   border-radius: 10px
}

#footer .fcontact {
   background-color: #edf9ff;
   border-radius: 20px;
   position: relative;
   padding: 60px 76px 50px
}

#footer .fcontact::before {
   content: "CONTACT";
   position: absolute;
   top: 11px;
   left: 0;
   width: 100%;
   padding: 0 20px 0 36px;
   font-family: 'Nunito', sans-serif;
   font-size: 90px;
   font-size: 9rem;
   letter-spacing: .2em;
   font-weight: 700;
   color: #fff;
   text-align: center
}

#footer .fcontact .ttl {
   font-size: 18px;
   font-size: 1.8rem;
   line-height: 28px;
   line-height: 1.55556em;
   letter-spacing: .05em;
   font-weight: 500;
   text-align: center;
   position: relative;
   margin-bottom: 10px
}

#footer .fcontact__tel {
   display: -webkit-box;
   display: -moz-box;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex;
   -webkit-align-items: center;
   -moz-align-items: center;
   -ms-align-items: center;
   align-items: center;
   -webkit-justify-content: center;
   -moz-justify-content: center;
   -ms-justify-content: center;
   justify-content: center;
   position: relative;
   margin-bottom: 12px
}

#footer .fcontact__tel .tel {
   padding: 2px 0px 2px 50px;
   position: relative;
   font-family: 'Nunito', sans-serif;
   font-size: 42px;
   font-size: 4.2rem;
   letter-spacing: 0em;
   font-weight: 700;
   color: #F8334A
}

#footer .fcontact__tel .tel:before {
   content: "";
   position: absolute;
   left: 2px;
   top: 50%;
   width: 37px;
   height: 24px;
   margin-top: -13px;
   background: url("../images//common/icon/ico_tel.svg") no-repeat center/100% 100%;
   background-size: 37px 24px
}

#footer .fcontact__tel .time {
   margin-left: 14px;
   text-align: left;
   color: #9cacb4;
   font-size: 14px;
   font-size: 1.4rem;
   line-height: 18px;
   line-height: 1.28571em;
   letter-spacing: .05em;
   font-weight: 700
}

#footer .fcontact .c-btnct {
   position: relative;
   padding: 22px 20px 22px 32px;
   font-size: 16px;
   font-size: 1.6rem;
   letter-spacing: .05em;
   font-weight: 700
}

#footer .c-menu .c-menu-list {
   display: none
}

@media only screen and (min-width: 768px) and (max-width: 1043px) {
   #footer .fcontact {
      height: 100%;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      -ms-justify-content: center;
      justify-content: center
   }

   #footer .fcontact__tel .tel {
      font-size: 32px;
      font-size: 3.2rem
   }

   #footer .c-menu-list a {
      white-space: nowrap
   }
}

@media only screen and (max-width: 991px) {
   #footer .fcontact {
      padding: 50px 35px 50px
   }

   #footer .fcontact::before {
      font-size: 50px;
      font-size: 5rem
   }

   #footer .fcontact__tel .tel {
      font-size: 22px;
      font-size: 2.2rem
   }
}

#footer .ftxt {
   font-size: 10px;
   font-size: 1rem;
   line-height: 22px;
   line-height: 2.2em;
   letter-spacing: .05em;
   font-weight: 400;
   margin: 38px 0
}

@media (max-width: 767px) {
   #footer {
      padding-top: 44px
   }

   #footer .footerInner {
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      margin-bottom: 40px
   }

   #footer .footer__txt {
      max-width: 100%
   }

   #footer .bnrfooter {
      padding-right: 0;
      margin-bottom: 25px
   }

   #footer .bnrfooter img {
      max-width: 100%;
      width: 100%
   }

   #footer .footer__infocontact {
      max-width: 100%
   }

   #footer .logofooter img {
      max-width: 151px;
      height: 50px
   }

   #footer .company {
      margin: 13px 0 9px
   }

   #footer .info {
      margin-bottom: 22px
   }

   #footer .fcontact {
      padding: 38px 30px 30px
   }

   #footer .fcontact::before {
      top: 28px;
      font-size: 50px;
      font-size: 5rem;
      line-height: 36px;
      line-height: .72em;
      letter-spacing: .2em;
      font-weight: 700;
      padding: 0 0px 0 7px
   }

   #footer .fcontact .ttl {
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 28px;
      line-height: 1.86667em;
      letter-spacing: .05em;
      font-weight: 500;
      margin-bottom: -3px
   }

   #footer .fcontact .c-btnct {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 20px;
      line-height: 1.42857em;
      padding: 9px 20px 11px 18px
   }

   #footer .fcontact .c-btnct span {
      flex-wrap: nowrap
   }

   #footer .fcontact .c-btnct span::before {
      width: 21px;
      flex: 0 0 21px;
      margin-right: 11px
   }

   #footer .fcontact__tel {
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      margin-bottom: 14px
   }

   #footer .fcontact__tel .tel {
      padding: 2px 0 2px 37px;
      font-size: 32px;
      font-size: 3.2rem;
      letter-spacing: 0em;
      font-weight: 700
   }

   #footer .fcontact__tel .tel::before {
      width: 27px;
      height: 18px;
      background-size: 27px 18px;
      margin-top: -8px
   }
}

@media only screen and (max-width: 767px) and (max-width: 370px) {
   #footer .fcontact__tel .tel {
      font-size: 30px;
      font-size: 3rem
   }
}

@media (max-width: 767px) {
   #footer .fcontact__tel .time {
      margin: -9px 0 0;
      font-size: 13px;
      font-size: 1.3rem;
      line-height: 18px;
      line-height: 1.38462em;
      letter-spacing: .05em;
      font-weight: 700
   }

   #footer .ftxt {
      margin: 28px 0;
      font-size: 10px;
      font-size: 1rem;
      line-height: 20px;
      line-height: 2em;
      letter-spacing: .05em;
      font-weight: 400
   }

   #footer .backtop {
      width: 86px
   }

   #footer .copyright {
      margin-top: 25px;
      text-align: left;
      font-size: 10px;
      font-size: 1rem;
      letter-spacing: .05em;
      font-weight: 500;
      padding: 17px 25px
   }

   #footer .copyright.mt-60 {
      margin-top: 0
   }

   #footer .c-menu {
      margin-left: -25px;
      margin-right: -25px
   }

   #footer .c-menu .menu-item {
      padding: 0
   }

   #footer .c-menu .c-menu-list {
      padding: 1px 25px 0;
      border-top: 1px solid #d1d7d9
   }

   #footer .c-menu .c-menu-list li {
      padding: 5px 0
   }

   #footer .c-menu .c-menu-list li:not(:last-child) {
      border-bottom: 1px solid #d1d7d9
   }

   #footer .c-menu .menu-ttl {
      position: relative;
      padding: 13px 60px 5px 25px
   }

   #footer .c-menu .menu-ttl:after {
      position: absolute;
      content: "";
      background-image: url("../images/common/icon/ico_arrow01.svg");
      background-repeat: no-repeat;
      width: 17px;
      height: 10px;
      top: 50%;
      right: 24px
   }

   #footer .c-menu .menu-ttl.is-active:after {
      transform: rotate(180deg)
   }
}

@media only screen and (max-width: 360px) {
   #footer .fcontact::before {
      font-size: 40px;
      font-size: 4rem
   }
}

@media only screen and (max-width: 350px) {
   #footer .fcontact {
      padding: 38px 10px 30px
   }
}

.calling {
   display: -webkit-box;
   display: -moz-box;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex;
   -webkit-flex-wrap: wrap;
   -moz-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
   -webkit-align-items: center;
   -moz-align-items: center;
   -ms-align-items: center;
   align-items: center;
   -webkit-justify-content: flex-end;
   -moz-justify-content: flex-end;
   -ms-justify-content: flex-end;
   justify-content: flex-end
}

.calling .tel_wrap span {
   display: inline-block;
   vertical-align: middle
}

.calling .tel {
   padding: 2px 0px 2px 41px;
   position: relative;
   font-family: 'Nunito', sans-serif;
   font-size: 34px;
   font-size: 3.4rem;
   letter-spacing: -.05em;
   font-weight: 700;
   color: #F8334A
}

.calling .tel:before {
   content: '';
   position: absolute;
   left: 0;
   top: 50%;
   width: 34px;
   height: 22px;
   margin-top: -10px;
   background: url("../images//common/icon/ico_tel.svg") no-repeat 0 50%;
   background-size: 34px 22px
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
   .calling .tel {
      font-size: 24px;
      font-size: 2.4rem
   }
}

.calling .time {
   margin-left: 8px;
   text-align: left;
   color: #9CACB4;
   font-size: 12px;
   font-size: 1.2rem;
   line-height: 14px;
   line-height: 1.16667em;
   letter-spacing: 0em;
   font-weight: 700
}

.calling .c-btnct {
   margin-left: 13px
}

.calling .c-btnct span::before {
   width: 18px
}

.calling .c-icofb {
   margin-left: 21px
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
   .calling .c-icofb {
      margin-left: 10px
   }
}

.calling .make {
   display: none;
   font-size: 12px
}

@media only screen and (max-width: 767px) {

   .calling .make,
   .calling .time {
      display: block
   }
}

.ttl_h1 {
   position: absolute;
   top: 15px;
   left: 30px;
   max-width: calc(100% - 790px);
   width: 100%;
   z-index: 1001;
   font-size: 10px;
   font-size: 1rem;
   letter-spacing: 0em;
   font-weight: 500
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
   .ttl_h1 {
      max-width: calc(100% - 620px)
   }
}

@media only screen and (max-width: 991px) {
   .ttl_h1 {
      display: none
   }
}

.header {
   position: relative;
   left: auto;
   top: auto;
   z-index: 1000;
   width: 100%
}

.header .inHeader {
   position: fixed;
   right: 0;
   top: 0;
   width: 100%;
   margin-left: auto;
   z-index: 2000;
   background: #fff;
   padding: 10px 39px 13px 0;
   border-radius: 0 0 0 40px
}

@media only screen and (min-width: 992px) {
   .header .inHeader {
      border-top: 2px solid #CAEEF8;
      -webkit-box-shadow: 0 0 20px rgba(0, 122, 167, 0.1);
      -moz-box-shadow: 0 0 20px rgba(0, 122, 167, 0.1);
      -ms-box-shadow: 0 0 20px rgba(0, 122, 167, 0.1);
      -o-box-shadow: 0 0 20px rgba(0, 122, 167, 0.1);
      box-shadow: 0 0 20px rgba(0, 122, 167, 0.1)
   }
}

@media only screen and (min-width: 1025px) {
   .header .inHeader {
      max-width: 722px
   }
}

@media only screen and (max-width: 1024px) {
   .header .inHeader {
      max-width: 575px
   }
}

.header p.logo {
   position: absolute;
   top: 50px;
   left: 30px;
   max-width: 181px;
   flex: 0 0 181px;
   align-self: center
}

.header .hNavi {
   margin-bottom: 0
}

@media only screen and (max-width: 991px) {
   .header {
      padding: 0 15px
   }

   .header p.logo {
      top: 25px;
      left: 25px
   }

   .header p.logo img {
      max-width: 151px
   }

   .header .inHeader {
      max-width: none;
      width: auto;
      background-color: transparent;
      border-radius: 0;
      padding: 0
   }
}

.header .header-nav {
   display: -webkit-box;
   display: -moz-box;
   display: -ms-flexbox;
   display: -webkit-flex;
   display: flex
}

.layerMenu {
   text-align: right;
   position: relative
}

.layerMenu .gNavi>li {
   display: inline-block;
   vertical-align: top;
   width: auto;
   margin-left: 3%;
   font-weight: bold;
   letter-spacing: 1px;
   position: relative
}

.layerMenu .gNavi>li>a {
   display: block;
   padding: 3px 0;
   position: relative
}

.layerMenu .gNavi>li>a:before {
   content: '';
   position: absolute;
   right: 0px;
   top: 50%;
   width: 13px;
   height: 8px;
   margin-top: -4px;
   background-image: url("../images/common/icon/ico_arw_nav.svg");
   background-repeat: no-repeat;
   background-position: center;
   background-color: rgba(0, 0, 0, 0);
   background-size: contain;
   -webkit-transition: 0.3s ease all;
   -moz-transition: 0.3s ease all;
   -ms-transition: 0.3s ease all;
   -o-transition: 0.3s ease all;
   transition: 0.3s ease all;
   display: none
}

@media only screen and (min-width: 1025px) {
   .layerMenu .gNavi>li>a:hover {
      color: #09C0E2;
      opacity: 1
   }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
   .layerMenu .gNavi>li>a {
      font-size: 12px;
      font-size: 1.2rem
   }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
   .layerMenu .gNavi>li:not(.hasSub) {
      z-index: 2
   }
}

.layerMenu .gNavi>li.hasSub a {
   padding-right: 20px
}

.layerMenu .gNavi>li.hasSub a:before {
   display: block
}

.layerMenu .gNavi>li.hasSub .plus {
   display: none
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
   .layerMenu .gNavi>li.active {
      z-index: 1
   }

   .layerMenu .gNavi>li.active::before {
      content: "";
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%
   }
}

@media only screen and (min-width: 992px) {
   .layerMenu .gNavi>li.active>a {
      color: #09C0E2
   }
}

.layerMenu .gNavi>li.active>a:before {
   -webkit-transform: rotate(-180deg);
   -moz-transform: rotate(-180deg);
   -ms-transform: rotate(-180deg);
   -o-transform: rotate(-180deg);
   transform: rotate(-180deg);
   background-image: url("../images/common/icon/ico_arw_nav_blue.svg")
}

@media only screen and (min-width: 992px) {
   .layerMenu .gNavi .navSub {
      position: absolute;
      left: 50%;
      top: 17px;
      width: 260px;
      padding-top: 25px;
      -webkit-transform: translateX(-50%);
      -moz-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      -o-transform: translateX(-50%);
      transform: translateX(-50%);
      display: none
   }

   .layerMenu .gNavi .navSub.first {
      width: 300px
   }

   .layerMenu .gNavi .navSub ul {
      padding: 10px;
      background: #CAEEF8;
      border-radius: 0 0 20px 20px
   }

   .layerMenu .gNavi .navSub ul li {
      background-color: #fff;
      border-radius: 17px;
      text-align: left;
      margin-bottom: 10px
   }

   .layerMenu .gNavi .navSub ul li:last-child {
      margin-bottom: 0
   }

   .layerMenu .gNavi .navSub ul li a {
      display: block;
      padding: 4px 10px 4px 30px;
      position: relative;
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: 0em;
      font-weight: 500;
      line-height: 1.6
   }

   .layerMenu .gNavi .navSub ul li a:before {
      content: '';
      position: absolute;
      left: 10px;
      top: 15px;
      width: 10px;
      height: 2px;
      background-image: none;
      background-color: #09C0E2;
      transform: none
   }
}

@media only screen and (min-width: 1025px) {
   .layerMenu .gNavi .navSub {
      top: 20px
   }
}

.layerMenu .close_layer {
   display: none
}

.layerMenu .logomenu {
   display: none
}

@media only screen and (max-width: 991px) {
   .layerMenu {
      position: fixed;
      right: -100%;
      top: 0;
      z-index: 1000;
      width: 100%;
      height: 100%;
      text-align: left;
      background: #EDF9FF;
      -webkit-transition: right linear 0.3s;
      -moz-transition: right linear 0.3s;
      -ms-transition: right linear 0.3s;
      -o-transition: right linear 0.3s;
      transition: right linear 0.3s
   }

   .layerMenu .logomenu {
      display: block
   }

   .layerMenu .inLayer {
      position: relative;
      height: 100%;
      padding: 25px 25px 30px;
      overflow: auto;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column
   }

   .layerMenu .hNavi {
      order: 1
   }

   .layerMenu .hNavi .calling {
      -webkit-justify-content: center;
      -moz-justify-content: center;
      -ms-justify-content: center;
      justify-content: center;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column
   }

   .layerMenu .hNavi .calling .tel {
      font-size: 32px;
      font-size: 3.2rem;
      letter-spacing: 0em;
      font-weight: 700;
      padding: 0px 0px 2px 35px
   }

   .layerMenu .hNavi .calling .tel::before {
      width: 28px;
      height: 18px;
      background-size: 28px 18px
   }

   .layerMenu .hNavi .calling .c-icofb {
      margin: 0
   }

   .layerMenu .hNavi .calling .time {
      font-size: 13px;
      font-size: 1.3rem;
      letter-spacing: .05em;
      font-weight: 700
   }

   .layerMenu .hNavi .calling .c-btnct {
      max-width: 265px;
      margin: 14px 0 20px;
      padding: 10px 20px;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      -ms-justify-content: center;
      justify-content: center;
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 20px;
      line-height: 1.42857em;
      letter-spacing: .05em;
      font-weight: 700
   }

   .layerMenu .hNavi .calling .c-btnct span {
      position: relative;
      padding-left: 30px;
      display: block
   }

   .layerMenu .hNavi .calling .c-btnct span::before {
      position: absolute;
      top: 50%;
      left: 0;
      width: 20px;
      height: 16px;
      margin: 0;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%)
   }

   .layerMenu .hNavi .calling .c-btnct em {
      font-style: normal
   }

   .layerMenu .hNavi .tel_wrap {
      text-align: center;
      line-height: normal
   }

   .layerMenu .gNavi {
      order: 0;
      margin-top: 45px;
      margin-bottom: 34px
   }

   .layerMenu .gNavi>li {
      display: block;
      width: 100%;
      font-weight: bold;
      border-top: 2px solid #CAEEF8;
      margin: 0
   }

   .layerMenu .gNavi>li:last-child {
      border-bottom: 2px solid #CAEEF8
   }

   .layerMenu .gNavi>li>a {
      padding: 18px 0 16px 0;
      -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
      -webkit-tap-highlight-color: transparent
   }

   .layerMenu .gNavi>li>a:before {
      right: 0px;
      margin-top: -4px;
      width: 17px;
      height: 10px
   }

   .layerMenu .gNavi>li>a:hover:after {
      display: none
   }

   .layerMenu .gNavi>li.hasSub>a:before {
      -webkit-transform: rotate(-180deg);
      -moz-transform: rotate(-180deg);
      -ms-transform: rotate(-180deg);
      -o-transform: rotate(-180deg);
      transform: rotate(-180deg);
      background-image: url("../images//common/icon/ico_arw_nav_sp.svg")
   }

   .layerMenu .gNavi>li.hasSub .plus {
      display: block;
      position: absolute;
      right: 0;
      top: 0;
      width: 100%;
      height: 100%;
      cursor: pointer;
      -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
      -webkit-tap-highlight-color: transparent
   }

   .layerMenu .gNavi>li.active>a:before {
      -webkit-transform: rotate(0);
      -moz-transform: rotate(0);
      -ms-transform: rotate(0);
      -o-transform: rotate(0);
      transform: rotate(0)
   }

   .layerMenu .gNavi .navSub {
      position: static;
      left: auto;
      top: auto;
      width: 100%;
      padding: 0;
      -webkit-transform: none;
      -moz-transform: none;
      -ms-transform: none;
      -o-transform: none;
      transform: none;
      margin-top: -7px;
      padding-bottom: 7px;
      display: none
   }

   .layerMenu .gNavi .navSub li:not(:last-child) {
      border-bottom: 1px solid #D1D7D9
   }

   .layerMenu .gNavi .navSub li a {
      padding-top: 8px;
      padding-bottom: 10px;
      font-size: 15px;
      font-size: 1.5rem;
      letter-spacing: .05em;
      font-weight: 500;
      line-height: 1.6;
      padding-right: 0;
      width: 100%
   }

   .layerMenu .close_layer {
      display: block;
      padding: 12px 0 10px;
      background: #BFBFBF;
      color: #fff;
      font-weight: bold;
      letter-spacing: 2px;
      text-align: center;
      cursor: pointer
   }
}

@media only screen and (min-width: 992px) {
   .layerMenu {
      position: relative !important;
      right: auto;
      top: auto
   }
}

.layerOn .layerMenu {
   right: 0
}

.hamberger {
   padding: 16px 8px 0 30px;
   line-height: 1;
   font-size: 0;
   text-align: center;
   cursor: pointer;
   display: none;
   position: relative;
   z-index: 1001
}

.hamberger__wrap {
   display: block;
   height: 22px;
   margin-bottom: 4px
}

.hamberger em {
   display: block;
   width: 30px;
   height: 2px;
   margin: 0 auto;
   margin-bottom: 8px;
   background: #09C0E2;
   -webkit-transition: 0.3s ease all;
   -moz-transition: 0.3s ease all;
   -ms-transition: 0.3s ease all;
   -o-transition: 0.3s ease all;
   transition: 0.3s ease all
}

.hamberger::before {
   content: "";
   position: absolute;
   top: 0;
   right: 0;
   width: 100px;
   height: 100px;
   background-color: #fff;
   border-radius: 0 0 0 100%;
   z-index: -1
}

.hamberger::after {
   content: "MENU";
   display: block;
   font-family: 'Nunito', sans-serif;
   font-size: 16px;
   font-size: 1.6rem;
   letter-spacing: 0em;
   font-weight: 700;
   color: #09C0E2;
   padding-right: 1px
}

.hamberger.active em {
   width: 28px
}

.hamberger.active .ham {
   -webkit-transform: rotate(30deg) translateY(8px) translateX(7px);
   -moz-transform: rotate(30deg) translateY(8px) translateX(7px);
   -ms-transform: rotate(30deg) translateY(8px) translateX(7px);
   -o-transform: rotate(30deg) translateY(8px) translateX(7px);
   transform: rotate(30deg) translateY(8px) translateX(7px)
}

.hamberger.active .ber {
   -webkit-transform: rotate(-30deg) translateY(1px) translateX(2px);
   -moz-transform: rotate(-30deg) translateY(1px) translateX(2px);
   -ms-transform: rotate(-30deg) translateY(1px) translateX(2px);
   -o-transform: rotate(-30deg) translateY(1px) translateX(2px);
   transform: rotate(-30deg) translateY(1px) translateX(2px)
}

.hamberger.active .ger {
   display: none
}

.hamberger.active::after {
   content: "CLOSE"
}

@media only screen and (max-width: 991px) {
   .hamberger {
      display: block;
      padding: 20px 15px 0 30px
   }

   .hamberger__wrap {
      margin-bottom: 7px
   }
}

@media only screen and (max-width: 1024px) {
   .col2 {
       gap: 50px;
   }
}

@media only screen and (max-width: 767px) {
   .col2 {
      flex-direction: column;
   }
   .single main {
      width: 100%;
   }
   .col2 {
      gap: 30px;
   }
    .contents-wrapper.wave-pattern .main-bg {
        background-color: transparent;
    }
}