@charset "UTF-8";
/* Scss Document */
/******************************************
[utility]
******************************************/
@media (min-width: 768px) {
  .mb {
    margin-bottom: 36px;
  }

  .mb2 {
    margin-bottom: 24px;
  }

  .mb3 {
    margin-bottom: 12px;
  }

  .mb-lg {
    margin-bottom: 48px;
  }

  .mb-xl {
    margin-bottom: 60px;
  }

  .mb-xxl {
    margin-bottom: 72px;
  }

  .mb-xxxl {
    margin-bottom: 84px;
  }
}
@media (max-width: 767px) {
  .mb {
    margin-bottom: 24px;
  }

  .mb2 {
    margin-bottom: 12px;
  }

  .mb3 {
    margin-bottom: 6px;
  }

  .mb-sp {
    margin-bottom: 24px;
  }

  .mb2-sp {
    margin-bottom: 12px;
  }

  .mb3-sp {
    margin-bottom: 6px;
  }

  .mb-lg {
    margin-bottom: 36px;
  }

  .mb-xl {
    margin-bottom: 48px;
  }

  .mb-xxl {
    margin-bottom: 60px;
  }

  .mb-xxxl {
    margin-bottom: 72px;
  }

  .secBg {
    padding: 48px 0;
  }

  .sec {
    background: #fff;
    border: 1px solid #e9edf0;
    padding: 24px;
    border-radius: 15px;
  }

  .sec-noBorder {
    background: #fff;
    padding: 24px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .secBg {
    padding: 60px 0;
  }

  .sec {
    background: #fff;
    border: 1px solid #e9edf0;
    padding: 24px;
    border-radius: 20px;
  }

  .sec-noBorder {
    background: #fff;
    padding: 24px;
  }

  .mb-tab {
    margin-bottom: 36px;
  }

  .mb2-tab {
    margin-bottom: 24px;
  }

  .mb3-tab {
    margin-bottom: 12px;
  }
}
@media screen and (min-width: 992px) {
  .secBg {
    padding: 72px 0;
  }

  .sec {
    background: #fff;
    border: 1px solid #e9edf0;
    padding: 36px;
    border-radius: 20px;
  }

  .sec-noBorder {
    background: #fff;
    padding: 36px;
  }
}
.background50lr {
  background: linear-gradient(90deg, #f9f6ef 0%, #f9f6ef 50%, #fff 50%, #fff 100%);
}

.background50rl {
  background: linear-gradient(-90deg, #f9f6ef 0%, #f9f6ef 50%, #fff 50%, #fff 100%);
}

.backgroundY50tb {
  background: linear-gradient(180deg, #f9f6ef 0%, #f9f6ef 50%, #fff 50%, #fff 100%);
}

.backgroundY50bt {
  background: linear-gradient(-180deg, #f9f6ef 0%, #f9f6ef 50%, #fff 50%, #fff 100%);
}

.bnrBox {
  position: relative;
  width: 100%;
  height: auto;
}
.bnrBox > div:first-child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.bnrBox > div:last-child {
  overflow: hidden;
}
.bnrBox > div:last-child img {
  width: 100%;
  height: auto;
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
}
.bnrBox > div:last-child img:hover {
  -webkit-transform: scale(1.2, 1.2);
  transform: scale(1.2, 1.2);
}

@media (min-width: 768px) {
  .infoBnr {
    border: 3px double #333;
    padding: 1rem;
    text-align: center;
  }
  .infoBnr div:nth-child(1) {
    border-right: 1px solid #333;
    padding: 1rem;
    font-weight: bold;
  }
  .infoBnr div:nth-child(2) a {
    padding: 1rem;
    color: #333;
  }
  .infoBnr div:nth-child(2) a:hover {
    color: #333;
    text-decoration: none;
  }
  .infoBnr div:nth-child(2) small {
    display: block;
  }
  .infoBnr div:nth-child(3) a {
    position: relative;
    display: block;
    background: #333333;
    padding: 1.5rem;
    color: #fff;
  }
  .infoBnr div:nth-child(3) a:after {
    position: absolute;
    display: block;
    content: ">";
    top: 50%;
    transform: translateY(-50%);
    right: 1rem;
  }
  .infoBnr div:nth-child(3) a:hover {
    background: rgba(51, 51, 51, 0.7);
  }

  .priceTbl {
    display: table;
  }
  .priceTbl li {
    display: table-cell;
    vertical-align: middle;
    line-height: 1em;
    border-bottom: 1px solid #e9edf0;
    padding-bottom: 1em;
  }
  .priceTbl li:nth-child(1) {
    width: 50%;
    height: auto;
  }
  .priceTbl li:nth-child(1) span {
    display: block;
    margin-top: 10px;
    font-size: 0.75em;
  }
  .priceTbl li:nth-child(2) {
    width: 50%;
    height: auto;
    text-align: right;
  }

  .companyTbl {
    width: 100%;
  }
  .companyTbl th {
    width: 30%;
    padding: 1em 0;
    border-bottom: 1px solid #e9edf0;
    box-sizing: border-box;
  }
  .companyTbl th div {
    background: #5dc1cf;
    padding: 0.615em 1em;
    color: #fff;
    font-weight: bold;
  }
  .companyTbl td {
    width: 70%;
    padding: 1em;
    border-bottom: 1px solid #e9edf0;
    box-sizing: border-box;
  }
  .companyTbl td p {
    margin-bottom: 15px;
    border-bottom: 1px solid #e9edf0;
    padding-bottom: 15px;
  }
  .companyTbl td p:last-child {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
  }
  .companyTbl a:link {
    text-decoration: underline;
  }

  .companyTbl2 {
    width: 100%;
  }
  .companyTbl2 th {
    width: 30%;
    padding: 1em;
    border-bottom: 1px solid #e9edf0;
    box-sizing: border-box;
  }
  .companyTbl2 th div {
    font-weight: bold;
  }
  .companyTbl2 td {
    width: 70%;
    padding: 1em;
    border-bottom: 1px solid #e9edf0;
    box-sizing: border-box;
  }
  .companyTbl2 td p {
    margin-bottom: 15px;
    border-bottom: 1px solid #e9edf0;
    padding-bottom: 15px;
  }
  .companyTbl2 td p:last-child {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
  }
  .companyTbl2 a:link {
    text-decoration: underline;
  }

  .titleBoxBig {
    width: 100%;
    min-width: 750px;
    height: auto;
    min-height: 540px;
    background: url("https://placehold.jp/cfcfcf/ffffff/1920x1080.jpg") no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
  }
  .titleBoxBig div {
    height: 540px;
  }
  .titleBoxBig h3 {
    color: #fff;
    position: relative;
    text-align: center;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.9);
  }

  .shadowBox-l,
  .shadowBox-r {
    position: relative;
  }

  .shadowBox-l:after {
    display: block;
    position: absolute;
    content: "";
    width: 100%;
    top: 30px;
    bottom: -30px;
    left: -30px;
    background: rgba(0, 0, 0, 0.05);
  }

  .shadowBox-r:after {
    display: block;
    position: absolute;
    content: "";
    width: 100%;
    top: 30px;
    bottom: -30px;
    left: 30px;
    background: rgba(0, 0, 0, 0.05);
  }

  .shadowBox-l-inner,
  .shadowBox-r-inner {
    position: relative;
    z-index: 1;
    overflow: hidden;
  }

  a:hover .shadowBox-l-inner img,
  a:hover .shadowBox-r-inner img {
    transform: scale(1.1);
    transration: 1s;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
  }

  .shadowBox-l-inner img,
  .shadowBox-r-inner img {
    transition-duration: 1s;
  }

  .shadowBox-inner-box {
    position: absolute;
    background: rgba(254, 254, 254, 0.8);
    padding: 30px;
    right: 30px;
    bottom: -30px;
    left: 30px;
    box-sizing: border-box;
    z-index: 2;
    text-align: center;
  }
  .shadowBox-inner-box h4 {
    border-bottom: 1px solid #333;
    padding-bottom: 15px;
    margin-bottom: 15px;
  }

  .titleLarge-box {
    position: relative;
    display: block;
    text-align: center;
  }
  .titleLarge-box p {
    position: relative;
    display: block;
    width: 100%;
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-size: 5.5rem;
    line-height: 4.4rem;
    background: linear-gradient(120deg, rgba(245, 245, 245, 0.7) 0%, rgba(234, 234, 234, 0.7) 100%);
    -webkit-background-clip: text;
    color: transparent;
    font-weight: 600;
    overflow-wrap: break-word;
  }
  .titleLarge-box h3 {
    display: block;
    width: 100%;
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 2px;
  }

  .centerLine-title {
    position: relative;
    text-align: center;
    padding-top: 9rem;
  }

  .centerLine-title:before {
    content: "";
    display: block;
    width: .07143rem;
    height: 7.14286rem;
    position: absolute;
    top: 0px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: #000;
  }

  .recruit--bnr a {
    display: block;
    width: 100%;
    height: 520px;
    background-image: url("https://placehold.jp/cfcfcf/ffffff/750x464.png");
    background-size: cover;
    background-position: center center;
    /*
    filter: grayscale(100%);
    */
    color: #fff;
  }

  .recruit--bnr a:hover .recruit--bnr--inner {
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    border: 1px solid #000;
    color: #fff;
    transition: 1s;
  }

  .recruit--bnr--inner {
    width: 60%;
    height: auto;
    padding: 30px;
    border: 1px solid #fff;
    transition: 1s;
    background: rgba(255, 255, 255, 0.7);
    color: #333;
  }

  .recruit--bnr--inner p {
    line-height: 1em;
  }

  .recruit--bnr--inner p:first-child {
    letter-spacing: .5rem;
    margin-bottom: 15px;
  }

  .recruit--bnr--inner p:nth-child(2) {
    letter-spacing: .5rem;
  }

  .number--4column {
    padding: 0 15px;
  }

  .number--4column-number {
    display: inline-block;
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-size: 4.5rem;
    line-height: 3.5rem;
    padding-top: 30px;
    border-top: 1px solid #333;
  }
}
@media (max-width: 767px) {
  .infoBnr {
    border: 3px double #333;
    padding: 1rem;
    text-align: center;
    margin-left: 0;
    margin-right: 0;
  }
  .infoBnr div:nth-child(1) {
    border-right: none;
    padding: 0 1rem 1rem 1rem;
    font-weight: bold;
  }
  .infoBnr div:nth-child(2) {
    border-top: 1px solid #333;
    padding-top: 1rem;
  }
  .infoBnr div:nth-child(2) a {
    display: block;
    width: 100%;
    padding: 0 1rem 1rem 1rem;
    color: #333;
  }
  .infoBnr div:nth-child(2) a:hover {
    color: #333;
    text-decoration: none;
  }
  .infoBnr div:nth-child(2) small {
    display: block;
  }
  .infoBnr div:nth-child(3) a {
    position: relative;
    display: block;
    background: #333333;
    padding: 1.5rem;
    color: #fff;
  }
  .infoBnr div:nth-child(3) a:after {
    position: absolute;
    display: block;
    content: ">";
    top: 50%;
    transform: translateY(-50%);
    right: 1rem;
  }
  .infoBnr div:nth-child(3) a:hover {
    background: rgba(51, 51, 51, 0.7);
  }

  .priceTbl {
    display: table;
  }
  .priceTbl li {
    display: table-cell;
    vertical-align: middle;
    line-height: 1em;
    border-bottom: 1px solid #e9edf0;
    padding-bottom: 1em;
  }
  .priceTbl li:nth-child(1) {
    width: 50%;
    height: auto;
  }
  .priceTbl li:nth-child(1) span {
    display: block;
    margin-top: 5px;
    font-size: 0.75em;
  }
  .priceTbl li:nth-child(2) {
    width: 50%;
    height: auto;
    text-align: right;
  }

  .companyTbl {
    width: 100%;
  }
  .companyTbl th {
    display: block;
    padding: 1em 0 0 0;
    box-sizing: border-box;
  }
  .companyTbl th div {
    border-left: 3px solid #5dc1cf;
    padding: 0 0 0 .3rem;
    font-weight: bold;
  }
  .companyTbl td {
    display: block;
    padding: 1em 0;
    border-bottom: 1px solid #e9edf0;
    box-sizing: border-box;
  }
  .companyTbl td p {
    margin-bottom: 10px;
    border-bottom: 1px solid #e9edf0;
    padding-bottom: 10px;
  }
  .companyTbl td p:last-child {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
  }
  .companyTbl a:link {
    text-decoration: underline;
  }

  .companyTbl2 {
    width: 100%;
  }
  .companyTbl2 th {
    display: block;
    padding: 1em 0 0 0;
    box-sizing: border-box;
  }
  .companyTbl2 th div {
    padding: 0;
    font-weight: bold;
  }
  .companyTbl2 td {
    display: block;
    padding: .5em 0 1em 0;
    border-bottom: 1px solid #e9edf0;
    box-sizing: border-box;
  }
  .companyTbl2 td p {
    margin-bottom: 10px;
    border-bottom: 1px solid #e9edf0;
    padding-bottom: 10px;
  }
  .companyTbl2 td p:last-child {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
  }
  .companyTbl2 a:link {
    text-decoration: underline;
  }

  .titleBoxBig {
    width: 100%;
    min-width: 320px;
    height: auto;
    min-height: 232px;
    background: url(https://placehold.jp/cfcfcf/ffffff/1920x1080.jpg) no-repeat center center;
    background-size: cover;
  }
  .titleBoxBig div {
    height: 232px;
  }
  .titleBoxBig h3 {
    color: #fff;
    position: relative;
    text-align: center;
    text-shadow: 0 0 3px rgba(0, 0, 0, 0.8);
  }

  .loopSliderWrap {
    top: 0;
    left: 0;
    height: 116px;
    overflow: hidden;
    position: absolute;
  }

  .loopSlider {
    margin: 0 auto;
    width: 100vw;
    height: 116px;
    text-align: left;
    position: relative;
    overflow: hidden;
  }

  .loopSlider ul {
    height: 116px;
    float: left;
    overflow: hidden;
  }

  .loopSlider ul li {
    width: auto;
    height: 116px;
    float: left;
    display: inline;
    overflow: hidden;
  }

  .shadowBox-l, .shadowBox-r {
    position: relative;
  }

  .shadowBox-l:after {
    display: block;
    position: absolute;
    content: "";
    width: 100%;
    top: 10px;
    bottom: -10px;
    left: -10px;
    background: rgba(0, 0, 0, 0.05);
  }

  .shadowBox-r:after {
    display: block;
    position: absolute;
    content: "";
    width: 100%;
    top: 10px;
    bottom: -10px;
    left: 10px;
    background: rgba(0, 0, 0, 0.05);
  }

  .shadowBox-l-inner,
  .shadowBox-r-inner {
    position: relative;
    z-index: 1;
    overflow: hidden;
  }

  a:hover .shadowBox-l-inner img,
  a:hover .shadowBox-r-inner img {
    transform: scale(1.1);
    transration: 1s;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
  }

  .shadowBox-l-inner img,
  .shadowBox-r-inner img {
    transition-duration: 1s;
  }

  .shadowBox-inner-box {
    position: absolute;
    background: rgba(254, 254, 254, 0.8);
    padding: 10px;
    right: 10px;
    bottom: -10px;
    left: 10px;
    box-sizing: border-box;
    z-index: 2;
    text-align: center;
  }
  .shadowBox-inner-box h4 {
    border-bottom: 1px solid #333;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }

  .imgBox03, .imgBox04 {
    margin-left: -10px;
    margin-right: -10px;
  }

  .imgBox03 div:first-child, .imgBox04 div:first-child {
    padding: 0 !important;
  }

  .imgBox03 div:last-child, .imgBox04 div:last-child {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }

  .titleLarge-box {
    position: relative;
    display: block;
    text-align: center;
  }
  .titleLarge-box p {
    position: relative;
    display: block;
    width: 100%;
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-size: 3.5rem;
    line-height: 2.8rem;
    background: linear-gradient(120deg, rgba(245, 245, 245, 0.7) 0%, rgba(234, 234, 234, 0.7) 100%);
    -webkit-background-clip: text;
    color: transparent;
    font-weight: 600;
    overflow-wrap: break-word;
  }
  .titleLarge-box h3 {
    display: block;
    width: 100%;
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 2px;
  }

  .centerLine-title {
    position: relative;
    text-align: center;
    padding-top: 4.5rem;
  }

  .centerLine-title:before {
    content: "";
    display: block;
    width: .07143rem;
    height: 3.57143rem;
    position: absolute;
    top: 0px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: #000;
  }

  .recruit--bnr a {
    display: block;
    width: 100%;
    height: 232px;
    background-image: url("https://placehold.jp/cfcfcf/ffffff/1920x1080.png");
    background-size: cover;
    background-position: center center;
    /*
    filter: grayscale(100%);
    */
    color: #fff;
  }

  .recruit--bnr a:hover .recruit--bnr--inner {
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    border: 1px solid #000;
    transition: 1s;
  }

  .recruit--bnr--inner {
    width: 80%;
    height: 40%;
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid #fff;
    color: #333;
    transition: 1s;
  }

  .recruit--bnr--inner p {
    line-height: 1em;
  }

  .recruit--bnr--inner p:first-child {
    letter-spacing: .5rem;
    margin-bottom: 5px;
  }

  .recruit--bnr--inner p:nth-child(2) {
    letter-spacing: .5rem;
  }

  .number--4column-number {
    display: inline-block;
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-weight: 500;
    font-size: 3rem;
    line-height: 1.5rem;
    padding-top: 20px;
    border-top: 1px solid #333;
  }
}
.answer-box {
  margin-top: 12px;
}

@media screen and (max-width: 991px) and (min-width: 768px) {
  .infoBnr {
    border: 3px double #333;
    padding: 1rem;
    text-align: center;
  }
  .infoBnr div:nth-child(1) {
    border-right: none;
    padding: 0 1rem 1rem 1rem;
    font-weight: bold;
  }
  .infoBnr div:nth-child(2) {
    border-top: 1px solid #333;
    padding-top: 1rem;
  }
  .infoBnr div:nth-child(2) a {
    display: block;
    width: 100%;
    padding: 0 1rem 1rem 1rem;
    color: #333;
  }
  .infoBnr div:nth-child(2) a:hover {
    color: #333;
    text-decoration: none;
  }
  .infoBnr div:nth-child(2) small {
    display: block;
  }
  .infoBnr div:nth-child(3) a {
    position: relative;
    display: block;
    background: #333333;
    padding: 1.5rem;
    color: #fff;
  }
  .infoBnr div:nth-child(3) a:after {
    position: absolute;
    display: block;
    content: ">";
    top: 50%;
    transform: translateY(-50%);
    right: 1rem;
  }
  .infoBnr div:nth-child(3) a:hover {
    background: rgba(51, 51, 51, 0.7);
  }

  .recruit--bnr a {
    height: 420px;
  }
}
@media (min-width: 992px) {
  .imgBox01 {
    position: relative;
  }

  .imgBox01-img {
    position: absolute;
    top: 0;
    right: 0;
  }

  .imgBox01-textBox {
    position: relative;
    margin-top: 50%;
    background: #f9f6ef;
    padding: 30px;
    z-index: 1;
  }

  .imgBox02 {
    position: relative;
  }

  .imgBox02-img {
    position: absolute;
    top: 0;
    left: 0;
  }

  .imgBox02-textBox {
    position: relative;
    margin-top: 50%;
    background: #f9f6ef;
    padding: 30px;
    z-index: 1;
  }

  .imgBox03-bg, .imgBox04-bg {
    padding: 33px 0;
  }

  .imgBox03:after {
    content: "";
    position: absolute;
    background: #f9f6ef;
    top: -10%;
    right: 0;
    width: 60%;
    height: 120%;
    z-index: -1;
  }

  .imgBox03-inner {
    padding-right: 30px;
  }

  .imgBox04:after {
    content: "";
    position: absolute;
    background: #f9f6ef;
    top: -10%;
    left: 0;
    width: 60%;
    height: 120%;
    z-index: -1;
  }

  .imgBox04-inner {
    text-align: right;
    padding-left: 30px;
  }
}
.second h3,
.second .h3 {
  position: relative;
  width: 100%;
  padding-bottom: 12px;
}

.second h3::before,
.second .h3::before {
  display: block;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 280px;
  height: 2px;
  background: #5dc1cf;
}

.second h3::after,
.second .h3::after {
  display: block;
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: calc(  100% - 280px );
  height: 2px;
  background: #e9edf0;
}

@media (max-width: 767px) {
  .second h3::before,
  .second .h3::before {
    width: 135px;
  }

  .second h3::after,
  .second .h3::after {
    width: calc(  100% - 135px );
  }
}
.second h4,
.second .h4 {
  border-left: 4px solid #5dc1cf;
  padding-left: 20px;
}

@media (max-width: 767px) {
  .second h4,
  .second .h4 {
    border-left: 4px solid #5dc1cf;
    padding-left: 12px;
  }
}
.second h5,
.second .h5 {
  position: relative;
  padding-left: 22px;
}

.second h5::before,
.second .h5::before {
  display: block;
  position: absolute;
  content: "";
  width: 12px;
  height: 2px;
  background: #5dc1cf;
  top: 12px;
  left: 0;
}

.titleBox01 {
  border-left: 4px solid #5dc1cf;
  padding-left: 1em;
}

.titleBox01 p {
  display: block;
  line-height: 1em;
  margin-top: 0.615em;
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}

.titleBox02 {
  display: inline-block;
  text-align: center;
}

.titleBox02 h4,
.titleBox02 h3 {
  display: block;
  border-bottom: 2px solid #5dc1cf;
  line-height: 0.85em;
  margin-bottom: 15px;
  padding-bottom: 15px;
}

.titleBox02 p {
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 0.9em;
}

.titleBox03 {
  display: block;
  text-align: center;
}

.titleBox03 h3 {
  line-height: 1em;
  margin-bottom: 15px;
}

.titleBox03 p {
  display: inline-block;
  line-height: 1em;
  border-bottom: 2px solid #5dc1cf;
  padding-bottom: 10px;
}

.titleBox04 {
  position: relative;
  display: block;
  text-align: center;
  color: #5dc1cf;
  padding-bottom: 30px;
}

.titleBox04:after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 80px;
  content: '';
  border-bottom: 2px solid #5dc1cf;
}

.titleBox04 span {
  display: block;
  font-size: 1rem;
  margin-top: 0.625rem;
}

.ttlSlash {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.ttlSlash:before,
.ttlSlash:after {
  content: '';
  width: 3px;
  height: 40px;
  background-color: #5dc1cf;
}

.ttlSlash:before {
  margin-right: 30px;
  transform: rotate(-35deg);
}

.ttlSlash:after {
  margin-left: 30px;
  transform: rotate(35deg);
}

.ttlLine {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.ttlLine:before,
.ttlLine:after {
  content: '';
  width: 70px;
  height: 3px;
  background-color: #5dc1cf;
}

.ttlLine:before {
  margin-right: 20px;
}

.ttlLine:after {
  margin-left: 20px;
}

.ttlArrow {
  position: relative;
  display: inline-block;
  padding-bottom: 0.5em;
  border-bottom: 2px solid #5dc1cf;
}

.ttlArrow::before,
.ttlArrow::after {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  content: '';
  border: 15px solid transparent;
}

.ttlArrow::before {
  border-top: 15px solid #5dc1cf;
}

.ttlArrow::after {
  margin-top: -3px;
  border-top: 15px solid #fff;
}

.ttlBrackets {
  position: relative;
  display: inline-block;
  padding: 0.26666em 1em;
}

.ttlBrackets::before {
  position: absolute;
  content: '';
  top: 0;
  right: 0.615em;
  width: 0.615em;
  height: 100%;
  border: solid 2px #5dc1cf;
  border-left: none;
}

.ttlBrackets::after {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 0.615em;
  height: 100%;
  border: solid 2px #5dc1cf;
  border-right: none;
}

@media (max-width: 767px) {
  .titleBox04 {
    position: relative;
    display: block;
    text-align: center;
    color: #5dc1cf;
    padding-bottom: 15px;
  }

  .titleBox04:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    width: 80px;
    content: '';
    border-bottom: 2px solid #5dc1cf;
  }

  .titleBox04 span {
    display: block;
    font-size: 0.875rem;
    margin-top: 0.625rem;
  }
}
.title01::after {
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  content: "";
  width: 78px;
  border-bottom: 2px solid #5dc1cf;
}

@media (max-width: 767px) {
  .title01 {
    position: relative;
    display: block;
    text-align: center;
    padding-bottom: 15px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .title01 {
    position: relative;
    display: block;
    text-align: center;
    padding-bottom: 20px;
  }
}
@media (min-width: 992px) {
  .title01 {
    position: relative;
    display: block;
    text-align: center;
    padding-bottom: 30px;
  }
}
@media (max-width: 767px) {
  .title02::after {
    content: '';
    display: block;
    margin: 15px 0 0 0;
    width: 78px;
    height: 2px;
    background-color: #5dc1cf;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .title02::after {
    content: '';
    display: block;
    margin: 20px 0 0 0;
    width: 78px;
    height: 2px;
    background-color: #5dc1cf;
  }
}
@media (min-width: 992px) {
  .title02::after {
    content: '';
    display: block;
    margin: 30px 0 0 0;
    width: 78px;
    height: 2px;
    background-color: #5dc1cf;
  }
}
.title-bdb {
  display: inline-block;
  border-bottom: 2px solid #5dc1cf;
  padding-bottom: 15px;
}

.btnStyle-01-bg,
.btnStyle-01-bg::after {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.btnStyle-01-bg {
  min-width: 220px;
  height: 46px;
  background: none;
  border: 2px solid #000;
  cursor: pointer;
  color: #000;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0 1em;
  position: relative;
}

.btnStyle-01-bg::before,
.btnStyle-01-bg::after {
  background: #000;
  content: '';
  position: absolute;
  z-index: -1;
}

.btnStyle-01-bg:hover {
  color: #fff;
}

.btnStyle-01::after {
  height: 100%;
  left: 0;
  top: 0;
  width: 0;
}

.btnStyle-01:hover:after {
  width: 100%;
}

.btnStyle-02 {
  max-width: 270px;
  text-align: center;
  padding: 1em;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  margin: 0 auto;
}

.btnStyle-02:before {
  content: "";
  position: absolute;
  width: 0;
  background: #000;
  left: 45%;
  height: 2px;
  bottom: 0;
  transition: all .3s;
  opacity: 0.7;
}

.btnStyle-02:hover:before {
  width: 100%;
  left: 0;
}

.btnStyle-03-bg {
  min-width: 270px;
  text-align: center;
  display: block;
  position: relative;
  text-decoration: none;
  color: #fff;
  text-transform: capitalize;
  padding: 1em;
  overflow: hidden;
  background: #000;
  margin: auto;
  border-radius: 5px;
}

.btnStyle-03-bg.btnStyle-03 {
  transition: all 0.2s linear 0s;
}
.btnStyle-03-bg.btnStyle-03:before {
  content: "\f30b";
  font-family: "Font Awesome 5 Free";
  font-size: 15px;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  right: 0;
  top: 0;
  opacity: 0;
  height: 100%;
  width: 40px;
  transition: all 0.2s linear 0s;
}
.btnStyle-03-bg.btnStyle-03:hover {
  text-indent: -20px;
  color: #fff;
}
.btnStyle-03-bg.btnStyle-03:hover:before {
  opacity: 1;
  text-indent: 0px;
}

.btn-arrow a {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  height: 46px;
  color: #fff;
  text-align: center;
  background-color: #5dc1cf;
  border: 2px solid #5dc1cf;
  transform: rotate(0.04deg);
  letter-spacing: .1em;
  margin-left: auto;
  margin-right: auto;
  border-radius: 3em;
  transition: 1s;
}

.btn-arrow a span {
  padding: 0 1.5em;
}

.btn-arrow a:hover {
  color: #5dc1cf;
  background-color: #fff;
  transition: 1s;
}

.btn-arrow a:hover::after {
  right: 1em;
  border-top: 2px solid #5dc1cf;
  border-right: 2px solid #5dc1cf;
}

.btn-arrow a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1.5em;
  margin: auto;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: all .4s ease-out;
}

.btn-arrow-border a {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  height: 46px;
  color: #5dc1cf;
  text-align: center;
  background-color: #fff;
  border: 2px solid #5dc1cf;
  transform: rotate(0.04deg);
  letter-spacing: .1em;
  margin-left: auto;
  margin-right: auto;
  border-radius: 3em;
  transition: 1s;
}

.btn-arrow-border a span {
  padding: 0 1.5em;
}

.btn-arrow-border a:hover {
  color: #fff;
  background-color: #5dc1cf;
  transition: 1s;
}

.btn-arrow-border a:hover::after {
  right: 1em;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.btn-arrow-border a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1.5em;
  margin: auto;
  width: 10px;
  height: 10px;
  border-top: 2px solid #5dc1cf;
  border-right: 2px solid #5dc1cf;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: all .4s ease-out;
}

.pill-button {
  font-weight: 600;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 220px;
  height: 46px;
  padding: 0 23px;
  border-radius: 46px;
  border: 2px solid #5dc1cf;
  background: #5dc1cf;
  color: #fff;
  transition: 1s;
}
.pill-button > a {
  font-weight: bold;
  color: #fff;
}
.pill-button:hover {
  background: #fff;
  color: #5dc1cf;
  transition: 1s;
}
.pill-button:hover a {
  color: #5dc1cf;
}
.pill-button span {
  display: block;
  width: 100%;
  text-align: center;
}

.pill-button-border {
  font-weight: 600;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 220px;
  height: 46px;
  padding: 0 23px;
  border-radius: 46px;
  border: 2px solid #5dc1cf;
  color: #5dc1cf;
  transition: 1s;
}
.pill-button-border span {
  display: block;
  width: 100%;
  text-align: center;
}

.pill-button-border:hover {
  background: #5dc1cf;
  color: #fff;
  transition: 1s;
}

.square-button {
  font-weight: 600;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 46px;
  padding: 0 23px;
  border: 2px solid #5dc1cf;
  background: #5dc1cf;
  color: #fff;
}
.square-button:hover {
  background: #fff;
  color: #5dc1cf;
}

.square-button-border {
  font-weight: 600;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 46px;
  padding: 0 23px;
  border: 2px solid #5dc1cf;
  color: #5dc1cf;
}
.square-button-border :hover {
  background: #5dc1cf;
  color: #fff;
}

a.btn-longArrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 260px;
  height: 62px;
  background: #5dc1cf;
  color: #fff;
  transition: 1s;
}

a:hover.btn-longArrow {
  background: #5dc1cf;
  color: #fff;
  transition: 1s;
}

a.btn-longArrow::after {
  display: block;
  content: "";
  background: url("../img/btn-arrow01.svg") no-repeat;
  background-size: contain;
  width: 34px;
  height: 6px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 16px;
  transition: .5s;
}

a:hover.btn-longArrow::after {
  display: block;
  content: "";
  background: url("../img/btn-arrow01.svg") no-repeat;
  background-size: contain;
  width: 34px;
  height: 6px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 6px;
  transition: .5s;
}

.lineDot-yellow {
  position: relative;
  width: 2px;
  height: 60px;
  background: #fecb79;
}

.lineDot-yellow::before {
  display: block;
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 3px;
  background: #fecb79;
  top: 0;
  left: -2px;
}

.lineDot-yellow::after {
  display: block;
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 3px;
  background: #fecb79;
  bottom: 0;
  left: -2px;
}

@media (max-width: 767px) {
  .column3--percent--box {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
  }

  .column3--percent--box img {
    border-radius: 10px 10px 0 0;
  }

  .column3--percent--box p:nth-child(2) {
    padding: 0 10px;
  }

  .column3--percent--box p:nth-child(3) {
    padding: 0 10px 10px 10px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .column3--percent--box {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
  }

  .column3--percent--box img {
    display: none;
  }

  .column3--percent--box p:nth-child(2) {
    padding: 0 20px;
  }

  .column3--percent--box p:nth-child(3) {
    padding: 0 20px 20px 20px;
  }
}
@media (min-width: 992px) {
  .column3--percent li {
    padding-right: 45px;
    padding-left: 45px;
  }

  .column3--percent--box {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
  }

  .column3--percent--box img {
    border-radius: 10px 10px 0 0;
  }

  .column3--percent--box p:nth-child(2) {
    padding: 0 20px;
  }

  .column3--percent--box p:nth-child(3) {
    padding: 0 20px 20px 20px;
  }
}
@media (max-width: 767px) {
  .img-2col-01 > div:last-child {
    padding: 0 12px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .img-2col-01 > div:last-child {
    padding: 0 15px;
  }
}
@media (min-width: 992px) {
  .img-2col-01 > div:last-child {
    width: calc( 50vw - 180px );
    margin-right: 90px;
    margin-left: 90px;
  }
}
.bg-grad-blk-wht--45 {
  background: linear-gradient(-45deg, #fff 0%, #fff 50%, #000 50%, #000 100%);
}

.btn--grad {
  position: relative;
  display: inline-block;
  background-image: linear-gradient(90deg, #45aaff 0%, #005daa 100%);
  padding: 1.75rem 3.5rem;
  border-radius: 2.75rem;
  transition: 1s;
  overflow: hidden;
}
.btn--grad > span {
  position: relative;
  z-index: 2;
}
.btn--grad > span:first-child {
  margin-right: 10px;
}

.btn--grad::after {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  transition: 1s;
  opacity: 0;
  background-image: linear-gradient(90deg, #005daa 0%, #45aaff 100%);
  border-radius: 2.75rem;
}

a.btn--grad span, a:hover.btn--grad span, a:visited.btn--grad span {
  color: #fff;
  text-decoration: none;
}

.btn--grad:hover::after {
  opacity: 1;
}

@media (max-width: 991px) {
  .btn--grad {
    display: block;
    padding: 1.75rem;
    border-radius: 4.107rem;
  }
  .btn--grad > span:first-child {
    margin-right: 0;
    margin-bottom: 5px;
  }
  .btn--grad > span {
    display: block;
  }

  .btn--grad::after {
    border-radius: 4.107rem;
  }
}
.banner01 {
  position: relative;
  display: block;
  text-align: center;
}

.banner01 > div:first-child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.banner01--innner {
  width: 60%;
  height: auto;
  padding: 30px;
  background: rgba(255, 255, 255, 0.8);
  color: #333;
}

.banner01--innner p:first-child {
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  letter-spacing: .5rem;
  margin-bottom: 15px;
  text-transform: uppercase;
}

.banner01 img {
  filter: grayscale(0%);
  transition: 1s;
}

.banner01:hover img {
  filter: grayscale(100%);
  transition: 1s;
}

@media (max-width: 767px) {
  .banner01--innner {
    padding: 15px;
  }
}
/* お問い合わせ　電話番号 / フォームボタン */
@media (max-width: 767px) {
  .top-sec07-btn-bg {
    margin-left: 5px;
    margin-right: 5px;
  }

  .top-sec07-btn {
    display: block;
    width: 100%;
    height: 90px;
    background: #5dc1cf;
    border-radius: 90px;
    color: #fff;
  }

  a:hover.top-sec07-btn {
    color: #fff;
  }

  a:hover.top-sec07-btn-hover {
    background: #98d8e0;
  }

  a:hover.top-sec07-btn-hover > .top-sec07-btn-inner > .top-sec07-btn-icon {
    color: #98d8e0;
    transition: 1s;
  }

  .top-sec07-btn-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    line-height: 44px;
    background: #fff;
    color: #5dc1cf;
    text-align: center;
    font-size: 20px;
    margin-right: 7px;
    transition: 1s;
  }

  .top-sec07-btn-icon img {
    width: 24px;
    height: 24px;
  }

  .top-sec07-btn-inner-text01 {
    font-size: .75rem;
    letter-spacing: .09em;
    margin-bottom: 1px;
  }

  .top-sec07-btn-inner-tel {
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-size: 2rem;
    line-height: 1em;
  }

  .top-sec07-btn-inner-text02 {
    font-size: .75rem;
    letter-spacing: .05em;
    margin-bottom: 5px;
  }

  .top-sec07-btn-inner-form {
    font-size: 1.2rem;
    line-height: 1em;
    font-weight: bold;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .top-sec07-btn {
    display: block;
    width: 100%;
    height: 140px;
    background: #5dc1cf;
    border-radius: 30px;
    color: #fff;
  }

  a:hover.top-sec07-btn {
    color: #fff;
  }

  a:hover.top-sec07-btn-hover {
    background: #98d8e0;
  }

  a:hover.top-sec07-btn-hover > .top-sec07-btn-inner > .top-sec07-btn-icon {
    color: #98d8e0;
    transition: 1s;
  }

  .top-sec07-btn-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    line-height: 56px;
    background: #fff;
    color: #5dc1cf;
    text-align: center;
    font-size: 28px;
    margin-right: 10px;
    transition: 1s;
  }

  .top-sec07-btn-icon img {
    width: 36px;
    height: 36px;
  }

  .top-sec07-btn-inner-text01 {
    letter-spacing: .08em;
    margin-bottom: 1px;
  }

  .top-sec07-btn-inner-tel {
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-size: 2.875rem;
    line-height: 1em;
  }

  .top-sec07-btn-inner-text02 {
    margin-bottom: 5px;
  }

  .top-sec07-btn-inner-form {
    font-size: 1.75rem;
    line-height: 1em;
    font-weight: bold;
    letter-spacing: .06em;
  }
}
@media (min-width: 992px) {
  .top-sec07-btn-bg li:first-child {
    padding-right: 5px;
  }

  .top-sec07-btn-bg li:last-child {
    padding-left: 5px;
  }

  .top-sec07-btn {
    display: block;
    width: 100%;
    height: 140px;
    background: #5dc1cf;
    border-radius: 30px;
    color: #fff;
  }

  a:hover.top-sec07-btn {
    color: #fff;
  }

  a:hover.top-sec07-btn-hover {
    background: #98d8e0;
  }

  a:hover.top-sec07-btn-hover > .top-sec07-btn-inner > .top-sec07-btn-icon {
    color: #98d8e0;
    transition: 1s;
  }

  .top-sec07-btn-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    line-height: 56px;
    background: #fff;
    color: #5dc1cf;
    text-align: center;
    font-size: 28px;
    margin-right: 10px;
    transition: 1s;
  }

  .top-sec07-btn-icon img {
    width: 36px;
    height: 36px;
  }

  .top-sec07-btn-inner-text01 {
    letter-spacing: .1em;
    margin-bottom: 1px;
  }

  .top-sec07-btn-inner-tel {
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-size: 2.875rem;
    line-height: 1em;
  }

  .top-sec07-btn-inner-text02 {
    margin-bottom: 5px;
  }

  .top-sec07-btn-inner-form {
    font-size: 1.75rem;
    line-height: 1em;
    font-weight: bold;
    letter-spacing: .1em;
  }
}
@media (max-width: 767px) {
  .bdb-over-bg-r {
    margin-right: -5px !important;
    margin-left: -5px !important;
  }

  .bdb-over-r:before {
    display: block;
    content: "";
    width: 1px;
    height: 40px;
    background: #000;
    margin: -20px auto 10px;
  }

  .bdb-over-r {
    text-align: center;
  }
}
@media (min-width: 768px) {
  .bdb-over-r:after {
    display: block;
    content: "";
    width: 100%;
    width: calc( 100% + 30px);
    height: 1px;
    background: #000;
    margin: 30px 0 0 -30px;
  }

  .bdb-over-r {
    display: block;
    width: 70%;
    text-align: right;
  }
}
@media (max-width: 767px) {
  .bdb-over-bg-l {
    margin-right: -5px !important;
    margin-left: -5px !important;
  }

  .bdb-over-l:before {
    display: block;
    content: "";
    width: 1px;
    height: 40px;
    background: #000;
    margin: -20px auto 10px;
  }

  .bdb-over-l {
    text-align: center;
  }
}
@media (min-width: 768px) {
  .bdb-over-l:after {
    display: block;
    content: "";
    width: 100%;
    width: calc( 100% + 30px);
    height: 1px;
    background: #000;
    margin: 30px 0 0;
  }

  .bdb-over-l {
    display: block;
    width: 70%;
    margin-left: 30%;
  }
}
.sec-box01-bg {
  padding-top: 48px;
}

.sec-box01 {
  position: relative;
  padding: 30px 30px 48px;
}

.sec-box01::after {
  display: block;
  content: "";
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #f2f2f2;
  z-index: -1;
}

.sec-box01-img {
  margin-top: -78px;
}

@media (max-width: 767px) {
  .companyTbl3 {
    width: 100%;
  }

  .companyTbl3 tr th {
    display: block;
    width: 38.4%;
  }

  .companyTbl3 tr td {
    display: block;
    width: 100%;
    margin-bottom: 1em;
  }

  .companyTbl3 tr th div {
    position: relative;
    display: block;
    color: #5dc1cf;
    border-bottom: 2px solid #5dc1cf;
    padding: 0 1em 1em 1em;
  }

  .companyTbl3 tr th div::after {
    display: block;
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 2px;
    height: 38.4%;
    background: #5dc1cf;
  }

  .companyTbl3 td {
    padding: 1em;
    border-bottom: 1px solid #e9edf0;
  }
}
@media (min-width: 768px) {
  .companyTbl3 {
    width: 100%;
  }

  .companyTbl3 tr th {
    width: 30%;
  }

  .companyTbl3 tr td {
    width: 70%;
  }

  .companyTbl3 tr {
    display: flex;
    align-items: stretch;
  }

  .companyTbl3 tr th div {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
    color: #5dc1cf;
    padding: 1em;
    border-bottom: 2px solid #5dc1cf;
    margin-right: 1em;
  }

  .companyTbl3 tr th div::after {
    display: block;
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 2px;
    height: 38.4%;
    background: #5dc1cf;
  }

  .companyTbl3 td {
    display: flex;
    align-items: center;
    padding: 1em;
    border-bottom: 1px solid #e9edf0;
  }
}
/* yes no chart ここから*/
@media (min-width: 992px) {
  .yesno {
    height: 400px;
    position: relative;
    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.07);
    margin: 0 0 40px;
    clear: both;
    overflow: hidden;
  }

  .yesno ul {
    overflow: hidden;
    padding: 0 0 0 25px;
  }

  .yesno ul li {
    list-style: none;
    float: left;
    text-align: center;
    display: block;
    color: #fff;
    background-color: #066;
    line-height: 200px;
    font-size: 120%;
    width: 320px;
    margin: 0 20px 0 0;
  }

  .positionFit {
    position: absolute;
    left: 0px;
    top: 70px;
    width: 710px;
  }

  .positionFit p {
    background: #eee none repeat scroll 0 0;
    padding: 10px 25px;
    margin: 0 25px;
  }

  .yesno ul li a {
    background-color: #3498db;
    color: #fff;
    display: block;
    height: 100%;
    text-decoration: none;
    width: 100%;
    font-size: 28px;
  }

  .no-bg {
    background: #48cc83 !important;
  }

  .yesno ul li a:hover {
    background-color: #298dcf;
  }

  .yesno .material-icons {
    background: rgba(0, 0, 0, 0.1) none repeat scroll 0 0;
    border-radius: 50%;
    font-size: 30px;
    padding: 10px 10px 8px;
    vertical-align: middle;
    margin: 0 10px 0 0;
  }
}
/* yes no chart ここまで*/
/* スタッフ紹介　ここから */
@media (min-width: 768px) {
  .staff-box-bg {
    background: #fff;
    box-shadow: 0 0 18px #ccc;
  }

  .staff-position {
    position: absolute;
    background: #333;
    color: #fff;
    top: 0;
    left: 0;
    padding: 6px 12px;
  }

  .staff-box-inner {
    padding: 24px;
  }

  .staffTbl {
    width: 100%;
  }

  .staff-tbl-bg {
    background: #f2f2f2;
    padding: 24px;
  }

  .staffTbl tr th {
    width: 9em;
  }

  .staffTbl tr th div {
    display: inline-block;
    width: 9em;
    text-align: center;
    font-weight: 400 !important;
    background: #333;
    color: #fff;
    border-radius: 1em;
    padding: 0 1em;
    line-height: 2em;
  }

  .staffTbl tr td {
    padding: 1em;
  }

  .staffTbl tr {
    border-bottom: 1px dashed #333;
    margin-bottom: 1em;
  }
}
@media (max-width: 767px) {
  .staff-box-bg {
    background: #fff;
    box-shadow: 0 0 18px #ccc;
  }

  .staff-position {
    position: absolute;
    background: #333;
    color: #fff;
    top: 0;
    left: 0;
    padding: 6px 12px;
  }

  .staff-box-inner {
    padding: 12px;
  }

  .staff-tbl-bg {
    background: #f2f2f2;
    padding: 12px;
  }

  .staffTbl {
    width: 100%;
  }

  .staffTbl tr th {
    display: block;
  }

  .staffTbl tr th div {
    display: block;
    width: 9em;
    margin: 0 auto;
    text-align: center;
    font-weight: 400 !important;
    background: #333;
    color: #fff;
    border-radius: 1em;
    padding: 0 1em;
    line-height: 2em;
  }

  .staffTbl tr td {
    display: block;
    padding: 1em 0;
    text-align: center;
  }

  .staffTbl tr {
    display: block;
    border-bottom: 1px dashed #333;
    margin-bottom: 1em;
  }

  .staffTbl tr:last-child {
    margin-bottom: 0;
  }
}
/* スタッフ紹介　ここまで */
/* flow-box　ここから */
@media (max-width: 767px) {
  .flow-line-box {
    position: relative;
    background: #fff;
    border: 1px solid #e9edf0;
    padding: 24px 12px 12px;
    border-radius: 6px;
    box-shadow: 0 0 18px #ccc;
  }

  .flow-line {
    border-right: 5px dotted #e9edf0;
    width: 5px;
    height: 48px;
    margin: 0 auto;
  }

  .flow-line-title {
    position: absolute;
    top: -21px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 180px;
    height: 42px;
    border-radius: 21px;
    background: #5dc1cf;
    color: #fff;
    padding: 0 .7em;
    font-size: 1.2rem;
  }
}
@media (min-width: 768px) {
  .flow-line-box {
    position: relative;
    background: #fff;
    border: 1px solid #e9edf0;
    padding: 36px;
    border-radius: 6px;
    box-shadow: 0 0 18px #ccc;
  }

  .flow-line {
    border-right: 5px dotted #e9edf0;
    width: 5px;
    height: 72px;
    margin: 0 auto;
  }

  .flow-line-title {
    position: absolute;
    top: -21px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 180px;
    height: 42px;
    border-radius: 21px;
    background: #5dc1cf;
    color: #fff;
    padding: 0 1em;
    font-size: 1.5rem;
  }
}
/* flow-box　ここまで */
/* snsシェアボタン　ここから */
@media (max-width: 991px) {
  .sns-share-btn li {
    width: 80%;
    margin: 0 auto 12px;
  }

  .sns-share-btn li:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 992px) {
  .sns-share-btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
  }

  .sns-share-btn li {
    width: 20%;
  }
}
.sns-share-btn li a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  color: #fff;
}

.sns-share-btn-facebook {
  background: #3b579d;
  border-radius: 6px;
}

.sns-share-btn-twitter {
  background: #1da1f2;
  border-radius: 6px;
}

.sns-share-btn-note {
  background: #49c8b3;
  border-radius: 6px;
}

.sns-share-btn-instagram {
  background: #CF2E92;
  border-radius: 6px;
}

.sns-share-btn-line {
  background: #00B900;
  border-radius: 6px;
}

.sns-share-btn-icon img {
  width: 24px;
  height: 24px;
}

.sns-share-btn li a span {
  padding-right: 10px;
}

/* snsシェアボタン　ここまで */
@media (max-width: 991px) {
  .bg-cont01 {
    background: url("http://placehold.jp/cfcfcf/ffffff/2000x520.jpg") top center no-repeat;
    background-size: 160% auto;
    background-color: #e8e0d1;
    padding: 30% 0 60px;
  }

  .box-right {
    width: 95%;
    margin-left: auto;
  }

  .box-right-inner {
    width: 100%;
    height: auto;
    background: #fff;
    padding: 50px 18px;
    box-shadow: 0 0 18px #ccc;
  }

  .box-left {
    width: 95%;
  }

  .box-left-inner {
    width: 100%;
    height: auto;
    background: #fff;
    padding: 50px 18px;
    box-shadow: 0 0 18px #ccc;
  }
}
@media (min-width: 992px) {
  .bg-cont01 {
    background: url("http://placehold.jp/cfcfcf/ffffff/2000x520.jpg") top center no-repeat;
    background-size: 100% auto;
    background-color: #e8e0d1;
    padding: 15% 0 100px;
  }

  .box-right {
    width: calc( 50vw + 555px);
    margin-left: auto;
  }

  .box-right-inner {
    width: 100%;
    height: auto;
    background: #fff;
    padding: 36px;
    box-shadow: 0 0 18px #ccc;
  }

  .box-left {
    width: calc( 50vw + 555px);
  }

  .box-left-inner {
    width: 100%;
    height: auto;
    background: #fff;
    padding: 36px;
    box-shadow: 0 0 18px #ccc;
  }
}
@media (min-width: 768px) {
  .bg01 {
    background: url("../img/bg01.png") no-repeat left bottom;
    background-size: 100% auto;
  }
}
@media (max-width: 767px) {
  .bg01 {
    background: url("../img/bg01.png") no-repeat left bottom;
    background-size: 200%;
  }
}
/* table01ここから */
@media (max-width: 767px) {
  .table01 {
    width: 100%;
  }

  .table01 th {
    display: block;
    font-weight: normal;
    padding: 1em;
    border-bottom: 2px solid #5dc1cf;
  }

  .table01 td {
    display: block;
    padding: 1em;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .table01 {
    width: 100%;
  }

  .table01 th {
    display: block;
    font-weight: normal;
    padding: 1em;
    border-bottom: 2px solid #5dc1cf;
  }

  .table01 td {
    display: block;
    padding: 1em;
    border-bottom: 1px solid #5dc1cf;
  }
}
@media (min-width: 992px) {
  .table01 {
    width: 100%;
    border-collapse: separate !important;
    border-spacing: 5px !important;
  }

  .table01 th {
    width: 30%;
    font-weight: normal;
    padding: 1em;
    border-bottom: 2px solid #5dc1cf;
  }

  .table01 td {
    width: 70%;
    padding: 1em;
    border-bottom: 1px solid #5dc1cf;
  }
}
/* table01ここまで */
/* btn01ここから */
.btn01-bg {
  display: inline-block;
  width: 300px;
}

a.btn01 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  background: repeating-linear-gradient(45deg, #fff, #fff 3px, #f2c643 3px, #f2c643 30px);
  color: #efb813;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: relative;
}

a.btn01 span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  background: #fff;
  border: 1px solid #f2c643;
  position: absolute;
  top: -6px;
  left: -6px;
  transition-duration: 0.2s;
}

a.btn01:hover span {
  left: 0;
  top: 0;
}

a:hover.btn01 {
  color: #efb813;
}

/* btn01ここまで */
/* btn02ここから */
.btn02 a {
  display: inline-block;
  position: relative;
  padding: 1em 1em 1em 50px;
  color: #333;
  transition: 0.3s;
}

.btn02 a::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  border: 1px solid #333;
  border-radius: 50vh;
  transition: 0.3s;
}

.btn02 a::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  transition: 0.3s;
}

.btn02 a:hover {
  text-decoration: underline;
}

.btn02 a:hover::before {
  background-color: #333;
}

.btn02 a:hover::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

/* btn02ここまで */
/* heading01ここから */
.heading01 span {
  display: flex;
  align-items: center;
  color: #5dc1cf;
  font-size: .5em;
  text-transform: uppercase;
  margin-bottom: 30px;
}

.heading01 span::before {
  content: '';
  display: inline-block;
  margin-right: 20px;
  width: 40px;
  height: 5px;
  background-color: #5dc1cf;
}

/* heading01ここまで */
/* header-tpl01ここから */
@media (max-width: 991px) {
  .header-tpl01-bg {
    position: fixed;
    z-index: 3;
    top: 0;
    width: 100%;
  }

  .header-tpl01 {
    display: flex;
    align-items: center;
    width: 100%;
    height: 80px;
    padding: 0 0 0 10px;
    background: #fff;
  }

  .header-tpl01-logo img {
    width: auto;
    height: 45px;
  }
}
@media (max-width: 320px) {
  .header-tpl01-logo img {
    width: auto;
    height: 35px;
  }
}
@media (min-width: 992px) {
  .header-tpl01-bg {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 3;
    background: #fff;
  }

  .header-tpl01 {
    width: 100%;
    height: 80px;
  }

  .header-tpl01-logo {
    padding-left: 10px;
  }

  a.header-tpl01-contact {
    background: #5dc1cf;
    height: 80px;
    padding: 0 30px;
    color: #fff;
  }

  a:hover.header-tpl01-contact {
    color: #fff;
    background: #339eac;
  }

  .header-tpl01-contact-icon {
    margin-right: 6px;
  }

  a.header-tpl01-contact > span > .header-tpl01-contact-icon {
    color: #f2c643;
    transition: 1s;
  }

  a:hover.header-tpl01-contact > span > .header-tpl01-contact-icon {
    color: #efb813;
    transition: 1s;
  }

  .header-tpl01-contact > span:last-child {
    font-weight: bold;
  }

  a.header-tpl01-contact02 {
    background: #06c755;
    height: 80px;
    padding: 0 30px;
    color: #fff;
  }

  a.header-tpl01-contact02 span {
    font-weight: bold;
  }

  a:hover.header-tpl01-contact02 {
    color: #fff;
    background: #059540;
  }

  .header-tpl01-contact-icon img {
    width: 24px;
    height: auto;
  }

  a:hover.header-tpl01-contact02 > span > .header-tpl01-contact-icon {
    color: #ec4340;
    transition: 1s;
  }

  .header-tpl01-contact > span:last-child {
    font-weight: bold;
  }

  a.header-tpl01-tel {
    color: #333;
    margin-right: 24px;
  }

  a:hover.header-tpl01-tel {
    color: #333;
  }

  .header-tpl01-tel-icon img {
    width: 24px;
    height: auto;
  }

  .header-tpl01-tel > span:last-child {
    font-size: 24px;
    font-weight: bold;
  }

  .header-tpl01-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
  }

  .header-tpl01-nav li {
    flex: 1 1 auto;
  }

  .header-tpl01-nav li a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
  }

  .header-tpl01-nav li a {
    position: relative;
    text-decoration: none;
  }

  .header-tpl01-nav li a::after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background: #5dc1cf;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
  }

  .header-tpl01-nav li a:hover::after {
    transform: scale(1, 1);
  }
}
.header-tpl01_mv_slide_image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  animation: header-tpl01-slider 24s linear infinite;
}

.header-tpl01_mv_slide_image:nth-child(1) {
  background-image: url("../img/top-mv01.jpg");
  animation-delay: -2s;
}

.header-tpl01_mv_slide_image:nth-child(2) {
  background-image: url("../img/top-mv02.jpg");
  animation-delay: 6s;
}

.header-tpl01_mv_slide_image:nth-child(3) {
  background-image: url("../img/top-mv03.jpg");
  animation-delay: 14s;
}

.header-tpl01_mv_slide_image:nth-child(4) {
  background-image: url("../img/top-mv04.jpg");
  animation-delay: 22s;
}

.header-tpl01_mv_slide_image:nth-child(5) {
  background-image: url("../img/top-mv05.jpg");
  animation-delay: 30s;
}

@media screen and (max-width: 991px) and (min-width: 768px) {
  .header-tpl01_mv_ttl {
    padding-left: 24px;
  }
}
@media (max-width: 991px) {
  .header-tpl01_mv_slide {
    position: relative;
    width: 100%;
    height: calc( 100dvh - 80px );
    overflow: hidden;
    margin-top: 80px;
  }

  .header-tpl01_mv_slide_image_ttl {
    display: flex;
    align-items: center;
    height: calc( 100dvh - 80px );
    padding-left: 12px;
  }
}
@media (min-width: 992px) {
  .header-tpl01_mv_slide {
    position: relative;
    width: 100%;
    height: calc( 100dvh - 140px );
    overflow: hidden;
    margin-top: 140px;
  }

  .header-tpl01_mv_slide_image_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc( 100dvh - 140px );
    width: 50vw;
  }
}
@keyframes header-tpl01-slider {
  0% {
    opacity: 0;
  }
  4.16% {
    opacity: 1;
  }
  33.33% {
    opacity: 1;
  }
  41.66% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@media (max-width: 991px) {
  .header-tpl01_mv {
    width: auto;
    height: calc( 100dvh - 80px );
    background: url("../img/top-mv.jpg") no-repeat center center;
    background-size: cover;
    margin-top: 80px;
  }

  .header-tpl01_mv_ttl {
    display: flex;
    align-items: center;
    height: calc( 100dvh - 80px );
    padding-left: 12px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .header-tpl01_mv_ttl {
    padding-left: 24px;
  }
}
@media (min-width: 992px) {
  .header-tpl01_mv {
    width: auto;
    height: calc( 100dvh - 130px );
    background: url("../img/top-mv.jpg") no-repeat center center;
    background-size: cover;
    margin-top: 130px;
  }

  .header-tpl01_mv_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc( 100dvh - 130px );
    width: 50vw;
  }
}
/* header-tpl01ここまで */
/* header-tpl02ここから */
@media (max-width: 767px) {
  .header-tpl02-bg {
    position: fixed;
    top: 0;
    width: 100%;
    height: 80px;
    padding: 0 12px;
    background: #fff;
    z-index: 3;
  }

  .header-tpl02 {
    height: 80px;
    display: flex;
    align-items: center;
  }

  .header-tpl02-logo img {
    width: auto;
    height: 50px;
  }
}
@media (max-width: 320px) {
  .header-tpl02-logo img {
    width: auto;
    height: 30px;
  }
}
@media (min-width: 992px) {
  .header-tpl02-bg {
    position: fixed;
    top: 0;
    width: 100%;
    height: 130px;
    padding: 10px;
    background: #fff;
    z-index: 1;
  }

  .header-tpl02 {
    display: flex;
    align-items: center;
    margin: 10px 0 24px 0;
  }

  .header-tpl02-logo {
    position: absolute;
    top: 35px;
    left: 10px;
  }

  .header-tpl02-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }

  .header-tpl02-nav li a {
    position: relative;
    display: block;
    font-weight: bold;
    margin-right: 24px;
  }

  .header-tpl02-nav li a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #5dc1cf;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
  }

  .header-tpl02-nav li a:hover::after {
    transform: scale(1, 1);
  }

  a.header-tpl02-contact {
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #5dc1cf;
    color: #fff;
    padding: 0 1.5em;
    margin-right: 24px;
    border-radius: 20px;
    font-weight: 600;
    margin-left: auto;
  }

  a:hover.header-tpl02-contact {
    color: #fff;
    opacity: .5;
  }

  a.header-tpl02-contact > span:first-child {
    margin-right: 6px;
  }

  .header-tpl02-contact-icon img {
    width: 20px;
    height: auto;
  }

  .header-tpl02-tel {
    display: flex;
    align-items: flex-end;
    font-size: 1.5rem;
    font-weight: 600;
    margin-right: 14px;
    line-height: 1em;
    height: 40px;
  }

  .header-tpl02-tel-icon img {
    width: 24px;
    height: auto;
  }

  .header-tpl02-tel small {
    display: block;
    font-size: 10px;
    margin-top: -6px;
    margin-bottom: -5px;
  }
}
.header-tpl02_mv_slide_image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  animation: header-tpl02-slider 24s linear infinite;
}

.header-tpl02_mv_slide_image:nth-child(1) {
  background-image: url("../img/top-mv01.jpg");
  animation-delay: -2s;
}

.header-tpl02_mv_slide_image:nth-child(2) {
  background-image: url("../img/top-mv02.jpg");
  animation-delay: 6s;
}

.header-tpl02_mv_slide_image:nth-child(3) {
  background-image: url("../img/top-mv03.jpg");
  animation-delay: 14s;
}

.header-tpl02_mv_slide_image:nth-child(4) {
  background-image: url("../img/top-mv04.jpg");
  animation-delay: 22s;
}

.header-tpl02_mv_slide_image:nth-child(5) {
  background-image: url("../img/top-mv05.jpg");
  animation-delay: 30s;
}

@media screen and (max-width: 991px) and (min-width: 768px) {
  .header-tpl02_mv_ttl {
    padding-left: 24px;
  }
}
@media (max-width: 991px) {
  .header-tpl02_mv_slide {
    position: relative;
    width: 100%;
    height: calc( 100dvh - 80px );
    overflow: hidden;
    margin-top: 80px;
  }

  .header-tpl02_mv_slide_image_ttl {
    display: flex;
    align-items: center;
    height: calc( 100dvh - 80px );
    padding-left: 12px;
  }
}
@media (min-width: 992px) {
  .header-tpl02_mv_slide {
    position: relative;
    width: 100%;
    height: calc( 100dvh - 130px );
    overflow: hidden;
    margin-top: 130px;
  }

  .header-tpl02_mv_slide_image_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc( 100dvh - 130px );
    width: 50vw;
  }
}
@keyframes header-tpl02-slider {
  0% {
    opacity: 0;
  }
  4.16% {
    opacity: 1;
  }
  33.33% {
    opacity: 1;
  }
  41.66% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@media (max-width: 991px) {
  .header-tpl02_mv {
    width: auto;
    height: calc( 100dvh - 80px );
    background: url("../img/top-mv.jpg") no-repeat center center;
    background-size: cover;
    margin-top: 80px;
  }

  .header-tpl02_mv_ttl {
    display: flex;
    align-items: center;
    height: calc( 100dvh - 80px );
    padding-left: 12px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .header-tpl02_mv_ttl {
    padding-left: 24px;
  }
}
@media (min-width: 992px) {
  .header-tpl02_mv {
    width: auto;
    height: calc( 100dvh - 130px );
    background: url("../img/top-mv.jpg") no-repeat center center;
    background-size: cover;
    margin-top: 130px;
  }

  .header-tpl02_mv_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc( 100dvh - 130px );
    width: 50vw;
  }
}
/* header-tpl02ここまで */
/* header-tpl03ここから */
@media (max-width: 767px) {
  .header-tpl03-bg {
    position: fixed;
    top: 0;
    width: 100%;
    height: 80px;
    padding: 0 12px;
    background: #fff;
    z-index: 3;
  }

  .header-tpl03 {
    height: 80px;
    display: flex;
    align-items: center;
  }

  .header-tpl03-logo img {
    width: auto;
    height: 50px;
  }
}
@media (max-width: 320px) {
  .header-tpl03-logo img {
    width: auto;
    height: 35px;
  }
}
@media (min-width: 992px) {
  .header-tpl03-bg {
    position: fixed;
    top: 0;
    width: 100%;
    height: 80px;
    padding: 10px;
    background: #fff;
    box-shadow: 0 0 18px #ccc;
    border-radius: 0 0 12px 0;
    z-index: 3;
  }

  .header-tpl03 {
    display: flex;
    align-items: center;
  }

  .header-tpl03-logo {
    margin-right: auto;
  }

  .header-tpl03-nav {
    display: flex;
    align-items: center;
  }

  .header-tpl03-nav li a {
    position: relative;
    margin-right: 18px;
  }

  .header-tpl03-nav li a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #5dc1cf;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
  }

  .header-tpl03-nav li a:hover::after {
    transform: scale(1, 1);
  }

  a.header-tpl03-contact {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    background: #5dc1cf;
    color: #fff;
    padding: 0 1.5em;
    margin-right: 24px;
    border-radius: 25px;
    font-weight: 600;
  }

  a:hover.header-tpl03-contact {
    color: #fff;
    opacity: .5;
  }

  .header-tpl03-contact-icon {
    margin-right: 6px;
  }

  .header-tpl03-contact-icon img {
    width: 24px;
    height: auto;
  }

  .header-tpl03-tel {
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 600;
    margin-right: 14px;
    line-height: 1em;
    height: 40px;
    margin-right: 100px;
  }

  .header-tpl03-tel-icon {
    margin-right: 3px;
  }

  .header-tpl03-tel-icon img {
    width: 24px;
  }
}
.header-tpl03_mv_slide_image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  animation: header-tpl03-slider 24s linear infinite;
}

.header-tpl03_mv_slide_image:nth-child(1) {
  background-image: url("../img/top-mv01.jpg");
  animation-delay: -2s;
}

.header-tpl03_mv_slide_image:nth-child(2) {
  background-image: url("../img/top-mv02.jpg");
  animation-delay: 6s;
}

.header-tpl03_mv_slide_image:nth-child(3) {
  background-image: url("../img/top-mv03.jpg");
  animation-delay: 14s;
}

.header-tpl03_mv_slide_image:nth-child(4) {
  background-image: url("../img/top-mv04.jpg");
  animation-delay: 22s;
}

.header-tpl03_mv_slide_image:nth-child(5) {
  background-image: url("../img/top-mv05.jpg");
  animation-delay: 30s;
}

@media screen and (max-width: 991px) and (min-width: 768px) {
  .header-tpl03_mv_ttl {
    padding-left: 24px;
  }
}
@media (max-width: 991px) {
  .header-tpl03_mv_slide {
    position: relative;
    width: 100%;
    height: calc( 100dvh - 80px );
    overflow: hidden;
    margin-top: 80px;
  }

  .header-tpl03_mv_slide_image_ttl {
    display: flex;
    align-items: center;
    height: calc( 100dvh - 80px );
    padding-left: 12px;
  }
}
@media (min-width: 992px) {
  .header-tpl03_mv_slide {
    position: relative;
    width: 100%;
    height: 100dvh;
    overflow: hidden;
    margin-top: -80px;
  }

  .header-tpl03_mv_slide_image_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100dvh;
    width: 50vw;
  }
}
@keyframes header-tpl03-slider {
  0% {
    opacity: 0;
  }
  4.16% {
    opacity: 1;
  }
  33.33% {
    opacity: 1;
  }
  41.66% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@media (max-width: 991px) {
  .header-tpl03_mv {
    width: auto;
    height: calc( 100dvh - 80px );
    background: url("../img/top-mv.jpg") no-repeat center center;
    background-size: cover;
    margin-top: 80px;
  }

  .header-tpl03_mv_ttl {
    display: flex;
    align-items: center;
    height: calc( 100dvh - 80px );
    padding-left: 12px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .header-tpl03_mv_ttl {
    padding-left: 24px;
  }
}
@media (min-width: 992px) {
  .header-tpl03_mv {
    width: auto;
    height: 100dvh;
    background: url("../img/top-mv.jpg") no-repeat center center;
    background-size: cover;
    margin-top: -80px;
  }

  .header-tpl03_mv_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100dvh;
    width: 50vw;
  }
}
/* header-tpl03ここまで */
/* service-contentここから */
.wrapper-container {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.wrapper-container .service-content-bg:nth-child(2n+1) {
  flex-direction: row-reverse;
}

.service-content-bg {
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 250px 0;
}

.service-content-img {
  position: relative;
  z-index: 1;
  width: 50%;
}

.service-content {
  position: relative;
  z-index: 1;
  width: 45%;
  background: #fff;
  box-shadow: 0 0 18px #ccc;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  top: 150px;
}

.service-content-area {
  padding: 40px;
}

.service-content-bg::after {
  content: '';
  position: absolute;
  width: 70%;
  height: 23em;
  background: #f3f3f3;
  right: 10%;
  top: 20%;
  z-index: 0;
}

@media (max-width: 767px) {
  .service-content-bg {
    margin: 0 0 50px 0;
  }

  .service-content-img {
    width: 100%;
  }

  .service-content {
    width: 100%;
    top: 0;
  }
}
/* service-content ここまで */
/* visual-img-bg ここから */
.visual-img-bg {
  position: relative;
  height: 55vh;
  background: url("https://placehold.jp/cfcfcf/ffffff/1076x432.jpg") no-repeat center;
  background-size: cover;
  margin: 0 0 200px 25%;
}

.visual-img-bg::after {
  content: '';
  position: absolute;
  top: 20%;
  left: -32%;
  width: 100%;
  height: 55vh;
  background: #f3f3f3;
  z-index: -1;
}

@media (max-width: 767px) {
  .visual-img-bg, .visual-img-bg::after {
    height: 20vh;
  }

  .visual-img-bg {
    margin: 0 0 100px 25%;
  }
}
/* visual-img-bg ここまで */
/* リクルートバナー　ここから */
@media (max-width: 991px) {
  .top-recruit-banner a {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 232px;
    background: url("https://placehold.jp/cfcfcf/ffffff/1920x540.jpg") no-repeat center center;
    background-size: cover;
    color: #fff;
    text-decoration: none;
  }

  .top-recruit-banner a:hover {
    color: #fff;
  }

  .top-recruit-banner a::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: black;
    opacity: 0;
    z-index: 0;
    transition: 1s;
  }

  .top-recruit-banner a:hover::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 1;
    z-index: 1;
    transition: 1s;
  }

  .top-recruit-banner-title {
    position: relative;
    z-index: 2;
  }

  .top-recruit-banner-title h3 {
    font-size: 2rem;
  }

  .top-recruit-banner-title p {
    font-weight: bold;
  }
}
@media (min-width: 992px) {
  .top-recruit-banner a {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 540px;
    background: url("https://placehold.jp/cfcfcf/ffffff/1920x540.jpg") no-repeat center center;
    background-size: cover;
    color: #fff;
    text-decoration: none;
  }

  .top-recruit-banner a:hover {
    color: #fff;
  }

  .top-recruit-banner a::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: black;
    opacity: 0;
    z-index: 0;
    transition: 1s;
  }

  .top-recruit-banner a:hover::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 1;
    z-index: 1;
    transition: 1s;
  }

  .top-recruit-banner-title {
    position: relative;
    z-index: 2;
  }

  .top-recruit-banner-title h3 {
    font-size: 4.5rem;
  }

  .top-recruit-banner-title p {
    font-weight: bold;
  }
}
/* リクルートバナー　ここまで */
/* フッターバナー SP TAB ここから */
@media (max-width: 991px) {
  .footer-banner-sp-bg {
    position: fixed;
    bottom: 0;
    z-index: 3;
  }

  .footer-banner-sp {
    display: flex;
  }

  .footer-banner-sp a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 60px;
    color: #fff;
    font-size: 12px;
  }

  .footer-banner-sp img {
    display: block;
    width: 22px;
    margin: 0 auto;
  }

  .footer-banner-sp a:nth-child(1) {
    background: #F4B5CA;
  }

  .footer-banner-sp a:nth-child(2) {
    background: #fff;
    color: #333;
    font-size: 14px;
    font-weight: 600;
  }

  .footer-banner-sp a:hover:nth-child(2) {
    color: #333;
  }

  .footer-banner-sp a:nth-child(2) img {
    width: 30px;
    margin-bottom: 3px;
  }

  .footer-banner-sp a:nth-child(3) {
    background: #00b900;
  }

  .footer-banner-sp a:hover {
    color: #fff;
  }
}
/* フッターバナー SP TAB ここまで */
/* ポイントボックス　ここから */
@media (min-width: 768px) {
  .point-box-bg {
    display: flex;
    justify-content: center;
  }

  .point-box-bg > div {
    width: 30%;
    margin-right: 5%;
  }

  .point-box-bg > div:nth-child(3n) {
    margin-right: 0;
  }

  .point-box {
    position: relative;
    padding: 0 18px 18px;
    box-shadow: 0 0 18px #ccc;
    border-radius: 6px;
  }

  .point-circle {
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 120px;
    height: 120px;
    background: #f2c643;
    color: #fff;
    border-radius: 60px;
  }

  .point-circle > span:last-child {
    font-size: 2.3rem;
    font-weight: bold;
    margin-left: 6px;
  }

  .point-img {
    margin-right: -18px;
    margin-left: -18px;
    border-radius: 6px 6px 0 0;
    overflow: hidden;
  }

  .point-img img {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .point-box-bg {
    padding-right: 12px;
    padding-left: 12px;
  }

  .point-box-bg > div {
    margin-bottom: 52px;
  }

  .point-box-bg > div:last-child {
    margin-bottom: 0;
  }

  .point-box {
    position: relative;
    padding: 0 12px 12px;
    box-shadow: 0 0 18px #ccc;
    border-radius: 6px;
  }

  .point-circle {
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80px;
    height: 80px;
    background: #f2c643;
    color: #fff;
    border-radius: 40px;
  }

  .point-circle > span:last-child {
    font-size: 1.5rem;
    font-weight: bold;
    margin-left: 6px;
  }

  .point-img {
    margin-right: -12px;
    margin-left: -12px;
    border-radius: 6px 6px 0 0;
    overflow: hidden;
  }
}
.point-title {
  text-align: center;
}

/* ポイントボックス　ここまで */
/* twobanner ここから */
@media (min-width: 768px) {
  .two-banner-bg {
    display: flex;
  }

  .two-banner {
    width: 50%;
  }

  .two-banner img {
    width: 100%;
  }

  .two-banner a {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
  }

  .two-banner a span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    color: #fff;
  }

  .two-banner a:hover span {
    color: #fff;
  }

  .two-banner a::before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    background: black;
    transition: 1s;
  }

  .two-banner a:hover::before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1;
    background: rgba(0, 0, 0, 0.5);
    transition: 1s;
  }
}
@media (max-width: 767px) {
  .two-banner-bg {
    display: block;
  }

  .two-banner-bg > div {
    margin-bottom: 10px;
  }

  .two-banner-bg > div:last-child {
    margin-bottom: 0;
  }

  .two-banner {
    width: 100%;
  }

  .two-banner a {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
  }

  .two-banner a span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    color: #fff;
  }

  .two-banner a:hover span {
    color: #fff;
  }

  .two-banner a::before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    background: black;
    transition: 1s;
  }

  .two-banner a:hover::before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1;
    background: rgba(0, 0, 0, 0.5);
    transition: 1s;
  }
}
/* twobanner ここまで */
/* CSSタブ切り替え　ここから */
.tab_container {
  background-color: #fff;
  margin: 0 auto;
}

.tab_item {
  width: calc(100%/2);
  padding: 18px 0;
  font-size: 1.2em;
  background-color: #fff;
  text-align: center;
  color: #5dc1cf;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
  cursor: pointer;
}

.tab_item:hover {
  opacity: 0.75;
}

input[name="tab_item"] {
  display: none;
}

.tab_content {
  display: none;
  clear: both;
  overflow: hidden;
}

#tab1:checked ~ #tab1_content,
#tab2:checked ~ #tab2_content,
#tab3:checked ~ #tab3_content,
#tab4:checked ~ #tab4_content {
  display: block;
}

.tab_container input:checked + .tab_item {
  position: relative;
}

.tab_container input:checked + .tab_item::after {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 3px;
  background: #5dc1cf;
}

.tab_container label {
  margin-bottom: 0 !important;
}

@media (max-width: 767px) {
  .tab_content_description {
    margin-top: 36px;
  }
}
@media (min-width: 992px) {
  .tab_content_description {
    margin-top: 48px;
  }
}
/* CSSタブ切り替え　ここまで */
.parts-mv-2nd-04 {
  position: relative;
  width: 100%;
  background: url("../img/swiper-img02.jpg") no-repeat center center;
  background-size: cover;
}

@media (max-width: 767px) {
  .parts-mv-2nd-04 {
    height: 232px;
    margin-top: 80px;
  }

  .parts-mv-2nd-04 h1 {
    position: absolute;
    right: 12px;
    bottom: 12px;
    font-size: 10px;
    color: #fff;
  }

  .parts-mv-2nd-04 h2 {
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    padding: 6px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .parts-mv-2nd-04 {
    height: 348px;
    margin-top: 80px;
  }

  .parts-mv-2nd-04 h1 {
    position: absolute;
    right: 24px;
    bottom: 24px;
    font-size: 12px;
    color: #fff;
  }

  .parts-mv-2nd-04 h2 {
    left: 24px;
    bottom: 24px;
    padding: 24px;
  }
}
@media (min-width: 992px) {
  .parts-mv-2nd-04 {
    height: 540px;
  }

  .parts-mv-2nd-04 h1 {
    position: absolute;
    right: 36px;
    bottom: 36px;
    font-size: 12px;
    color: #fff;
  }

  .parts-mv-2nd-04 h2 {
    left: 72px;
    bottom: 72px;
    padding: 36px;
  }
}
.parts-mv-2nd-04 h2 {
  position: absolute;
  color: #fff;
  background: rgba(0, 0, 0, 0.2);
  font-weight: bold;
}

@media (max-width: 767px) {
  .parts-mv-2nd-02-box {
    width: 100%;
    height: 232px;
    margin-top: 80px;
  }

  .parts-mv-2nd-02-box h1 {
    position: absolute;
    top: 12px;
    right: 12px;
    color: #fff;
    font-size: 10px;
  }

  .parts-mv-2nd-02-title {
    position: absolute;
    left: 12px;
    bottom: 12px;
    background: rgba(255, 255, 255, 0.7);
    padding: 1rem 1.6rem;
    border-radius: 6px;
  }

  .parts-mv-2nd-02-title h2 {
    font-weight: bold;
    margin-bottom: 10px;
  }

  .parts-mv-2nd-02-title h2::after {
    display: block;
    content: "";
    width: 75px;
    border-bottom: 1px solid #5dc1cf;
    padding-bottom: 10px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .parts-mv-2nd-02-box {
    width: 100%;
    height: 475px;
    margin-top: 80px;
  }

  .parts-mv-2nd-02-box h1 {
    position: absolute;
    top: 24px;
    right: 24px;
    color: #fff;
    font-size: 12px;
  }

  .parts-mv-2nd-02-title {
    position: absolute;
    left: 10%;
    bottom: 20%;
    background: rgba(255, 255, 255, 0.7);
    padding: 1rem 1.6rem;
    border-radius: 6px;
  }

  .parts-mv-2nd-02-title h2 {
    font-weight: bold;
    margin-bottom: 15px;
  }

  .parts-mv-2nd-02-title h2::after {
    display: block;
    content: "";
    width: 75px;
    border-bottom: 1px solid #5dc1cf;
    padding-bottom: 15px;
  }
}
@media (min-width: 991px) {
  .parts-mv-2nd-02-box {
    width: 100%;
    height: 660px;
    padding: 0 80px;
  }

  .parts-mv-2nd-02-box h1 {
    position: absolute;
    right: 24px;
    bottom: 24px;
    color: #fff;
    font-size: 12px;
  }

  .parts-mv-2nd-02-title {
    position: absolute;
    left: 10%;
    bottom: 20%;
    background: rgba(255, 255, 255, 0.7);
    padding: 1rem 1.6rem;
    border-radius: 6px;
  }

  .parts-mv-2nd-02-title h2 {
    font-weight: bold;
    margin-bottom: 15px;
  }

  .parts-mv-2nd-02-title h2::after {
    display: block;
    content: "";
    width: 75px;
    border-bottom: 1px solid #5dc1cf;
    padding-bottom: 15px;
  }
}
.parts-mv-2nd-02-box {
  position: relative;
  background: url("../img/top-mv02.jpg") no-repeat center center;
  background-size: cover;
}

.checkList {
  width: 100%;
}

.checkList li {
  position: relative;
  padding-bottom: 1em;
  border-bottom: 1px dashed #5dc1cf;
  margin-bottom: 1em;
  padding-left: 1.5em;
}

@media (min-width: 992px) {
  .checkList li::before {
    position: absolute;
    content: "";
    background: url("../img/icon-check.svg") no-repeat center;
    background-size: cover;
    width: 20px;
    height: 14px;
    margin-left: -1.5em;
    top: calc( 1em - 14px );
  }
}
@media (max-width: 991px) {
  .checkList li::before {
    position: absolute;
    content: "";
    background: url("../img/icon-check.svg") no-repeat center;
    background-size: cover;
    width: 14px;
    height: 10px;
    margin-left: -1.5em;
    top: calc( 1em - 10px );
  }
}
.checkList li:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .title-h3 {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .title-h3 {
    font-size: 1.75rem;
  }
}
@media (min-width: 992px) {
  .title-h3 {
    font-size: 2rem;
  }
}
.title-h3 > h3 {
  display: inline-block;
  position: relative;
  background: #FF5F6D;
  background: -webkit-linear-gradient(to right, #FFC371, #FF5F6D);
  background: linear-gradient(to right, #FFC371, #FF5F6D);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1.4em;
  padding-bottom: 24px;
}

.title-h3 {
  text-align: center;
}

.title-h3 > h3::after {
  position: absolute;
  display: block;
  content: "";
  width: 90px;
  height: 2px;
  background: #f4c57a;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

@media (max-width: 991px) {
  a.foot-btn01 > span > span:first-child,
  a.foot-btn02 > span > span:first-child {
    display: block;
    font-size: 12px;
  }

  a.foot-btn01 > span > span:last-child,
  a.foot-btn02 > span > span:last-child {
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
  }
}
@media (max-width: 320px) {
  a.foot-btn01 > span > span:first-child,
  a.foot-btn02 > span > span:first-child {
    font-size: 10px;
  }
}
@media (min-width: 992px) {
  .footer-banner a {
    text-decoration: none;
    height: 80px !important;
  }

  a.foot-btn01 > span > span:first-child,
  a.foot-btn02 > span > span:first-child {
    display: block;
    font-size: 1rem;
  }

  a.foot-btn01 > span > span:last-child,
  a.foot-btn02 > span > span:last-child {
    display: block;
    font-size: 1.4rem;
    font-weight: bold;
  }
}
.footer-banner {
  display: flex;
  position: fixed;
  bottom: -80px;
  z-index: 3;
}

.footer-banner a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50vw;
  height: 80px;
  color: #fff;
  text-align: center;
}

.footer-banner a:hover {
  color: #fff;
}

.footer-banner a span {
  position: relative;
  z-index: 2;
}

a.foot-btn01 {
  background-image: linear-gradient(90deg, #F0B14B 0%, #f5d473 100%);
  transition: 1s;
}

a.foot-btn01::after {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 50vw;
  height: 100%;
  content: "";
  transition: 1s;
  opacity: 0;
  background-image: linear-gradient(90deg, #f5d473 0%, #F0B14B 100%);
}

a.foot-btn02 {
  background-image: linear-gradient(90deg, #f4a77a 0%, #f0884b 100%);
  transition: 1s;
}

a.foot-btn02::after {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  width: 50vw;
  height: 100%;
  content: "";
  transition: 1s;
  opacity: 0;
  background-image: linear-gradient(90deg, #f0884b 0%, #f4a77a 100%);
}

a.foot-btn01:hover::after,
a.foot-btn02:hover::after {
  opacity: 1;
}

@media (max-width: 767px) {
  .support-box {
    display: block;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
  }

  .support-box > div:last-child {
    padding: 12px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .support-box {
    display: block;
    margin-left: 9px;
    margin-right: 9px;
    border-radius: 24px;
    overflow: hidden;
  }

  .support-box > div:last-child {
    padding: 24px;
  }
}
@media (min-width: 992px) {
  .support-box {
    display: flex;
    width: 100%;
    border-radius: 18px;
    overflow: hidden;
  }

  .support-box > div:first-child {
    width: 25%;
  }

  .support-box > div:last-child {
    width: 75%;
  }

  .support-box > div:last-child {
    padding: 24px;
  }
}
.support-box > div:last-child > h4 {
  color: #5dc1cf;
  margin-bottom: 12px;
}

@media (max-width: 767px) {
  .option-box-bg {
    display: block;
  }

  .option-box-bg > div {
    position: relative;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    margin-bottom: 24px;
  }

  .option-box-bg > div:last-child {
    margin-bottom: 0;
  }

  .option-box h4 {
    position: absolute;
    display: inline-block;
    top: 0;
    left: 0;
    background: #5dc1cf;
    color: #fff;
    text-align: center;
    padding: 12px;
    border-radius: 0 0 12px 0;
    z-index: 2;
  }

  .option-box p {
    padding: 12px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .option-box-bg {
    display: block;
    padding: 0 12px;
  }

  .option-box-bg > div {
    position: relative;
    width: 100%;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    margin-bottom: 24px;
  }

  .option-box-bg > div:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  .option-box h4 {
    position: absolute;
    display: inline-block;
    top: 0;
    left: 0;
    background: #5dc1cf;
    color: #fff;
    text-align: center;
    padding: 24px;
    border-radius: 0 0 18px 0;
    z-index: 2;
    overflow: hidden;
  }

  .option-box img {
    width: 100%;
  }

  .option-box p {
    padding: 24px;
  }
}
@media (min-width: 992px) {
  .option-box-bg {
    display: flex;
    flex-wrap: wrap;
  }

  .option-box-bg > div {
    position: relative;
    width: calc( ( 100% - 15% ) / 2 );
    margin-right: 5%;
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
  }

  .option-box-bg > div:first-child,
  .option-box-bg > div:nth-child(3) {
    margin-left: 5%;
  }

  .option-box-bg > div:nth-child(1),
  .option-box-bg > div:nth-child(2) {
    margin-bottom: 5%;
  }
}
.sp-fix-sns {
  display: flex;
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
}

.sp-fix-sns > a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 33.333%;
  height: 50px;
  color: #fff;
  box-sizing: border-box;
  text-align: center;
  line-height: 1.2em;
  background: #da0000;
  padding: 2px;
  transition: 1s;
}

.sp-fix-sns > a:hover {
  opacity: .8;
  transition: 1s;
}

a.sp-fix-sns-btn01 {
  background: #00acee;
  border-right: 1px solid #fff;
}

a.sp-fix-sns-btn02 {
  background: #3b5998;
  border-right: 1px solid #fff;
}

a.sp-fix-sns-btn03 {
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
}

.sp-fix-sns a,
.sp-fix-sns a:hover,
.sp-fix-sns a:link {
  color: #fff;
}

.sp-fix-sns img {
  display: block;
  margin-right: 6px;
  width: 24px;
  height: auto;
}

@media (max-width: 991px) {
  .banner-box {
    display: block;
  }

  .banner-box > div {
    text-align: center;
    border-bottom: 1px solid #e9edf0;
    padding-bottom: 24px;
    margin-bottom: 24px;
  }

  .banner-box > div:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
}
@media (min-width: 992px) {
  .banner-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
  }

  .banner-box > div:nth-child(3n)::after {
    border-right: none;
  }

  .banner-box > div {
    position: relative;
    width: calc( ( 100% - 144px ) / 3 );
    margin-right: 72px;
    margin-top: 72px;
  }

  .banner-box > div:nth-child(3n),
  .banner-box > div:last-child {
    margin-right: 0;
  }

  .banner-box > div:nth-child(1),
  .banner-box > div:nth-child(2),
  .banner-box > div:nth-child(3) {
    margin-top: 0;
  }

  .banner-box > div::before {
    position: absolute;
    content: "";
    top: -36px;
    right: 0;
    left: 0;
    border-top: 1px solid #e9edf0;
  }

  .banner-box > div:nth-child(1)::before,
  .banner-box > div:nth-child(2)::before,
  .banner-box > div:nth-child(3)::before {
    border-top: none;
  }

  .banner-box > div::after {
    position: absolute;
    content: "";
    top: 0;
    right: -36px;
    bottom: 0;
    border-right: 1px solid #e9edf0;
  }
}
@media (max-width: 767px) {
  .blk-and-wht-bg {
    margin-top: 80px;
  }

  .blk-and-wht-title {
    position: absolute;
    width: calc( 100vw - 60px );
    top: 50%;
    left: 30px;
    transform: translateY(-50%);
    color: #fff;
    font-weight: bold;
  }

  .blk-and-wht-title::before {
    content: attr(data-title);
    width: calc( 30vw - 30px);
    white-space: nowrap;
    overflow: hidden;
    position: absolute;
    top: 0px;
    left: 0px;
    color: #333;
  }

  .blk-and-wht-bg h1 {
    position: absolute;
    top: 12px;
    right: 12px;
    font-size: 10px;
    color: #fff;
  }
}
@media (max-width: 320px) {
  .blk-and-wht-title {
    position: absolute;
    width: calc( 100vw - 30px );
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    color: #fff;
    font-weight: bold;
  }

  .blk-and-wht-title::before {
    content: attr(data-title);
    width: calc( 30vw - 15px);
    white-space: nowrap;
    overflow: hidden;
    position: absolute;
    top: 0px;
    left: 0px;
    color: #333;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .blk-and-wht-title {
    position: absolute;
    width: calc( 100vw - 120px );
    top: 50%;
    left: 60px;
    transform: translateY(-50%);
    color: #fff;
    font-weight: bold;
  }

  .blk-and-wht-title::before {
    content: attr(data-title);
    width: calc( 30vw - 60px);
    white-space: nowrap;
    overflow: hidden;
    position: absolute;
    top: 0px;
    left: 0px;
    color: #333;
  }
}
@media (min-width: 992px) {
  .blk-and-wht-title {
    position: absolute;
    width: calc( 100vw - 240px );
    top: 50%;
    left: 120px;
    transform: translateY(-50%);
    color: #fff;
    font-weight: bold;
  }

  .blk-and-wht-title::before {
    content: attr(data-title);
    width: calc( 30vw - 120px);
    white-space: nowrap;
    overflow: hidden;
    position: absolute;
    top: 0px;
    left: 0px;
    color: #333;
  }

  .blk-and-wht-bg h1 {
    position: absolute;
    top: 24px;
    right: 24px;
    font-size: 12px;
    color: #fff;
  }
}
.blk-and-wht-bg {
  position: relative;
  width: 100%;
  display: flex;
}

.blk-and-wht-img {
  width: 70vw;
  margin-left: auto;
}

.blk-and-wht-img img {
  width: 100%;
}

.balloon-01 {
  position: relative;
  display: inline-block;
  background: #5dc1cf;
  border-radius: 6px;
  padding: 1em;
  font-weight: bold;
  color: #fff;
}

.balloon-01:before {
  content: "";
  border: 10px solid transparent;
  border-top: 10px solid #5dc1cf;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.balloon-02 {
  position: relative;
  display: inline-block;
  background: #fff;
  border-radius: 6px;
  padding: 1em;
  font-weight: bold;
  color: #5dc1cf;
  border: 2px solid #5dc1cf;
  box-sizing: border-box;
}

.balloon-02:before {
  content: "";
  position: absolute;
  bottom: -14px;
  left: 50%;
  transform: translateX(-50%);
  border: 7px solid transparent;
  border-top: 7px solid #fff;
  z-index: 2;
}

.balloon-02:after {
  content: "";
  position: absolute;
  bottom: -18px;
  left: 50%;
  transform: translateX(-50%);
  border: 8px solid transparent;
  border-top: 8px solid #5dc1cf;
  z-index: 1;
}

.color-inversion-bg {
  position: relative;
  width: 100%;
  display: flex;
}

.color-inversion-title {
  position: absolute;
  width: calc( 100vw - 240px );
  top: 50%;
  left: 120px;
  transform: translateY(-50%);
  filter: invert(100%);
  mix-blend-mode: exclusion;
  z-index: 2;
  color: #000;
}

.color-inversion-img {
  width: 70%;
  margin-left: auto;
}

.color-inversion-img img {
  width: 100%;
}

@media (max-width: 767px) {
  .header-tpl05-slide-bg {
    position: relative;
    width: 100%;
    height: calc( 100dvh - 80px );
  }

  .header-tpl05-slide-bg h1 {
    position: absolute;
    top: 12px;
    right: 12px;
    color: #fff;
    font-size: 12px;
    z-index: 1;
    font-weight: normal;
  }

  .header-tpl05-slide-image h2 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 12px;
    color: #fff;
    font-weight: bold;
    z-index: 1;
    font-weight: normal;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
  }

  .header-tpl05-bg {
    position: relative;
    width: 100%;
    height: calc( 100dvh - 80px );
  }

  .header-tpl05-bg h1 {
    position: absolute;
    top: 12px;
    right: 12px;
    color: #fff;
    font-size: 12px;
    z-index: 1;
    font-weight: normal;
  }

  .header-tpl05-image h2 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 12px;
    color: #fff;
    font-weight: bold;
    z-index: 1;
    font-weight: normal;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .header-tpl05-slide-bg {
    position: relative;
    width: 100%;
    height: calc( 100dvh - 80px );
  }

  .header-tpl05-slide-bg h1 {
    position: absolute;
    top: 12px;
    right: 12px;
    color: #fff;
    font-size: 12px;
    z-index: 1;
    font-weight: normal;
  }

  .header-tpl05-slide-image h2 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 24px;
    color: #fff;
    font-weight: bold;
    z-index: 1;
    font-weight: normal;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
  }

  .header-tpl05-bg {
    position: relative;
    width: 100%;
    height: calc( 100dvh - 80px );
  }

  .header-tpl05-bg h1 {
    position: absolute;
    top: 12px;
    right: 12px;
    color: #fff;
    font-size: 12px;
    z-index: 1;
    font-weight: normal;
  }

  .header-tpl05-image h2 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 24px;
    color: #fff;
    font-weight: bold;
    z-index: 1;
    font-weight: normal;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
  }
}
@media (max-width: 991px) {
  .header-tpl05-header {
    position: relative;
    width: 100%;
    height: 80px;
    display: flex;
    align-items: center;
    background: #fff;
    padding-left: 12px;
  }

  .header-tpl05-logo {
    position: relative;
    z-index: 3;
  }

  .header-tpl05-logo img {
    width: auto;
    height: 40px;
  }

  .header-tpl05-navi {
    display: none;
  }

  .header-tpl05-logo-scroll {
    display: none;
  }

  .mail-icon-btn {
    display: none;
  }
}
@media (max-width: 320px) {
  .header-tpl05-logo img {
    width: auto;
    height: 30px;
  }
}
@media (min-width: 992px) {
  .header-tpl05-header {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 90px;
    padding-left: 15px;
    background: #fff;
  }

  .header-tpl05-logo a {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 30px;
    padding-left: 30px;
    width: 192px;
    height: 192px;
    border-radius: 0 0 18px 0;
    background: #fff;
    border: 1px solid #ececec;
    z-index: 3;
  }

  .header-tpl05-logo img {
    width: auto;
    height: 40px;
  }

  .header-tpl05-navi {
    display: flex;
    align-items: center;
    margin-left: auto;
  }

  .header-tpl05-nav-inner {
    display: flex;
  }

  .header-tpl05-nav-inner li {
    margin-right: 18px;
  }

  .header-tpl05-nav-inner li a {
    font-weight: bold;
  }

  .header-tpl05-tel {
    margin-right: 100px;
    margin-left: 10px;
  }

  .header-tpl05-tel > span:first-child {
    display: block;
    font-size: 12px;
  }

  .header-tpl05-tel > span:nth-child(2) {
    font-size: 24px;
    font-weight: bold;
  }

  .header-tpl05-slide-bg {
    position: relative;
    width: 100%;
    height: calc( 100dvh - 95px );
    background: #000;
  }

  .header-tpl05-slide-bg h1 {
    position: absolute;
    top: 24px;
    right: 24px;
    color: #fff;
    font-size: 12px;
    z-index: 1;
    font-weight: normal;
  }

  .header-tpl05-slide-image h2 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 24px;
    color: #fff;
    font-weight: bold;
    z-index: 1;
    font-weight: normal;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
  }

  .header-tpl05-bg {
    position: relative;
    width: 100%;
    height: calc( 100dvh - 95px );
    background: #000;
  }

  .header-tpl05-bg h1 {
    position: absolute;
    top: 24px;
    right: 24px;
    color: #fff;
    font-size: 12px;
    z-index: 1;
    font-weight: normal;
  }

  .header-tpl05-image h2 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 24px;
    color: #fff;
    font-weight: bold;
    z-index: 1;
    font-weight: normal;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
  }

  a.mail-icon-btn {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #5dc1cf;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 3;
  }

  a:hover.mail-icon-btn {
    opacity: .8;
  }

  a.mail-icon-btn img {
    width: 30px;
    height: 30px;
  }

  .header-tpl05-logo-scroll img {
    width: auto;
    height: 60px;
  }
}
.header-tpl05-slide {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.header-tpl05-slide-image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  animation: slider-1 24s linear infinite;
}

.header-tpl05-slide-image:nth-child(1) {
  background-image: url("../img/top-mv01.jpg");
  animation-delay: -2s;
}

.header-tpl05-slide-image:nth-child(2) {
  background-image: url("../img/top-mv02.jpg");
  animation-delay: 6s;
}

.header-tpl05-slide-image:nth-child(3) {
  background-image: url("../img/top-mv03.jpg");
  animation-delay: 14s;
}

.header-tpl05-slide-image:nth-child(4) {
  background-image: url("../img/top-mv04.jpg");
  animation-delay: 22s;
}

.header-tpl05-slide-image:nth-child(5) {
  background-image: url("../img/top-mv05.jpg");
  animation-delay: 30s;
}

@keyframes slider-1 {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  4.16% {
    opacity: 1;
  }
  33.33% {
    opacity: 1;
  }
  41.66% {
    opacity: 0;
    transform: scale(1);
  }
  100% {
    opacity: 0;
  }
}
.header-tpl05 {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.header-tpl05-image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/top-mv01.jpg");
}

.display-none {
  display: none;
}

.footer-tpl01 {
  position: relative;
}

.footer-tpl01 a {
  text-decoration: none;
}

.footer-tpl01 a:hover {
  text-decoration: underline;
}

.footer-tpl01 .footer-tpl01-primary {
  padding: 42px 24px;
  background: #f2f2f2;
}

.footer-tpl01 .footer-tpl01-secondary {
  padding: 42px 0;
  background: #f8f9fa;
}

@media screen and (max-width: 767px) {
  .footer-tpl01 .footer-tpl01-primary {
    padding: 24px 12px;
    background: #f2f2f2;
  }

  .footer-tpl01 .footer-tpl01-secondary {
    display: block;
    padding: 24px 12px;
    background: #f8f9fa;
  }
}
/* footer-logo */
.footer-tpl01 .footer-tpl01-logo {
  position: relative;
  padding: 0;
  margin: 0;
  width: 100%;
  font-size: 24px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .footer-tpl01 .footer-tpl01-logo {
    font-size: 16px;
  }
}
/* address */
.footer-tpl01-address {
  margin: 12px 0 36px;
  padding: 0;
}

@media screen and (max-width: 767px) {
  .footer-tpl01-address {
    margin-bottom: 24px;
  }
}
/* navi */
.footer-tpl01-navi-row {
  display: flex;
}

.footer-tpl01 .footer-tpl01-navi {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
}

.footer-tpl01 .footer-tpl01-navi li {
  margin-right: 24px;
}

.footer-tpl01 .footer-tpl01-navi li:last-child {
  margin-right: 0;
}

.footer-tpl01 .footer-tpl01-navi li a {
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .footer-tpl01-navi-row {
    display: block;
    margin-top: 6px;
  }

  .footer-tpl01 .footer-tpl01-navi {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
  }

  .footer-tpl01 .footer-tpl01-navi li {
    width: 33.333%;
    margin-top: 18px;
    margin-right: 0;
  }
}
/* sns-navi */
.footer-tpl01-sns-navi {
  display: flex;
}

.footer-tpl01-sns-navi li {
  margin-right: 18px;
}

.footer-tpl01-sns-navi li:last-child {
  margin-right: 0;
}

.footer-tpl01-sns-navi a img {
  width: 36px;
}

@media screen and (max-width: 767px) {
  .footer-tpl01-sns-navi a img {
    width: 30px;
  }
}
/* sitenavi */
.footer-tpl01 .footer-tpl01-sitenavi {
  width: 50%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-tpl01 .footer-tpl01-sitenavi li {
  display: inline-block;
  margin: 0 0 0 24px;
  padding: 0;
}

.footer-tpl01 .footer-tpl01-sitenavi li:first-child {
  margin-left: 0;
}

@media screen and (max-width: 767px) {
  .footer-tpl01 .footer-tpl01-sitenavi {
    width: 100%;
    text-align: center;
  }
}
/* copyright */
.footer-tpl01 .footer-tpl01-copyright {
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .footer-tpl01 .footer-tpl01-copyright {
    width: 100%;
    text-align: center;
    font-size: 12px;
  }
}
a.footer-tpl01-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 260px;
  height: 62px;
  background: #5dc1cf;
  color: #fff;
  transition: 1s;
  border-radius: 6px;
}

a:hover.footer-tpl01-btn {
  background: #5dc1cf;
  color: #fff;
  transition: 1s;
  text-decoration: none;
}

a.footer-tpl01-btn::after {
  display: block;
  content: "";
  background: url("../img/btn-arrow01.svg") no-repeat;
  background-size: contain;
  width: 34px;
  height: 6px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 16px;
  transition: .5s;
}

a:hover.footer-tpl01-btn::after {
  display: block;
  content: "";
  background: url("../img/btn-arrow01.svg") no-repeat;
  background-size: contain;
  width: 34px;
  height: 6px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 6px;
  transition: .5s;
}

@media (max-width: 768px) {
  .fix--footer-bg {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
  }

  .fix--footer {
    width: 100%;
    height: 90px;
    padding: 10px;
    background: #5dc1cf;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
  }

  .fix--footer-inner {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }

  .fix--footer-inner > div {
    width: 100%;
  }

  .fix--footer-inner > a {
    width: calc( ( 100% - 10px) / 2 );
    margin-right: 10px;
  }

  .fix--footer-inner > a:last-child {
    margin-right: 0;
  }

  .fix--footer-text {
    margin-bottom: 5px;
  }

  .fix--footer-text p:first-child {
    line-height: 1em;
    margin-bottom: 5px;
  }

  .fix--footer-text p:last-child {
    font-size: 1rem;
    line-height: 1em;
    font-weight: bold;
  }

  a.fix--footer-btn01 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc( ( 100% - 10px) / 2 );
    height: 30px;
    border-radius: 15px;
    color: #fff;
    transition: 1s;
    text-decoration: none;
    background: #ff6347;
    font-weight: bold;
  }

  a.fix--footer-btn01:after {
    display: block;
    position: absolute;
    content: "";
    top: 11px;
    right: 12px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
  }

  a.fix--footer-btn02 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc( ( 100% - 10px) / 2 );
    height: 30px;
    border-radius: 15px;
    background: #fff;
    transition: 1s;
    text-decoration: none;
    color: #5dc1cf;
    font-weight: bold;
  }

  a.fix--footer-btn02:after {
    display: block;
    position: absolute;
    content: "";
    top: 11px;
    right: 12px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #5dc1cf;
    border-right: 2px solid #5dc1cf;
    transform: rotate(45deg);
  }

  a:hover.fix--footer-btn01,
  a:hover.fix--footer-btn02 {
    opacity: 0.8;
    transition: 1s;
  }
}
@media (min-width: 769px) {
  .fix--footer-bg {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
  }

  .fix--footer {
    width: 100%;
    height: 80px;
    padding: 10px 0;
    background: #5dc1cf;
    color: #fff;
    box-sizing: border-box;
  }

  .fix--footer-inner {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .fix--footer-inner > div {
    margin-right: 12px;
  }

  .fix--footer-inner > a {
    margin-right: 12px;
  }

  .fix--footer-inner > a:last-child {
    margin-right: 0;
  }

  .fix--footer-text p:first-child {
    font-size: 1rem;
  }

  .fix--footer-text p:last-child {
    font-size: 1.2rem;
    font-weight: bold;
  }

  a.fix--footer-btn01 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 60px;
    border-radius: 30px;
    color: #fff;
    transition: 1s;
    text-decoration: none;
    background: #ff6347;
    font-weight: bold;
  }

  a.fix--footer-btn01:after {
    display: block;
    position: absolute;
    content: "";
    top: 27px;
    right: 15px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
  }

  a.fix--footer-btn02 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 60px;
    border-radius: 30px;
    background: #fff;
    transition: 1s;
    text-decoration: none;
    color: #5dc1cf;
    font-weight: bold;
  }

  a.fix--footer-btn02:after {
    display: block;
    position: absolute;
    content: "";
    top: 27px;
    right: 15px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #5dc1cf;
    border-right: 2px solid #5dc1cf;
    transform: rotate(45deg);
  }

  a:hover.fix--footer-btn01,
  a:hover.fix--footer-btn02 {
    opacity: 0.8;
    transition: 1s;
  }
}
@media (max-width: 991px) {
  .l-footer__foot, .l-footer__widgetArea {
    padding-bottom: 0;
  }

  .secBg {
    padding: 48px 0;
  }

  .mobilepay-footer-bg {
    background: #404040;
    padding-right: 15px !important;
    padding-left: 15px !important;
  }

  .mobilepay-foorer {
    display: block;
    color: #fff;
    margin-bottom: 30px;
  }

  .mobilepay-foorer > div {
    margin-bottom: 30px;
  }

  .mobilepay-foorer > div:last-child {
    margin-bottom: 0;
  }

  .mobilepay-foorer a {
    color: #fff;
    text-decoration: none;
  }

  .mobilepay-foorer a:hover {
    text-decoration: underline;
  }

  .mobilepay-foorer-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 18px;
  }

  .mobilepay-foorer-company {
    margin-bottom: 12px;
  }

  .mobilepay-foorer-branch {
    padding-left: 0 !important;
  }

  .mobilepay-foorer-branch li {
    list-style: none !important;
    display: block;
    margin-bottom: 12px;
  }

  .mobilepay-foorer-branch li > span:first-child {
    display: block;
    margin-bottom: 6px;
  }

  .mobilepay-foorer-branch li > span:last-child {
    font-size: 12px;
    color: #cbd3d8;
  }

  .mobilepay-foorer-branch li:last-child {
    margin-bottom: 0;
  }

  .mobilepay-foorer-link {
    padding-left: 0 !important;
  }

  .mobilepay-foorer-link li {
    list-style: none !important;
    margin-bottom: 12px;
  }

  .mobilepay-foorer-btn-bg {
    display: block;
  }

  a.mobilepay-foorer-btn-dcument {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90%;
    height: 60px;
    border-radius: 30px;
    background: #5dc1cf;
    border: 2px solid #5dc1cf;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    margin: 0 auto 24px auto;
  }

  a:hover.mobilepay-foorer-btn-dcument {
    background: #fff;
    border: 2px solid #5dc1cf;
    font-weight: bold;
    color: #5dc1cf;
    text-decoration: none;
  }

  a.mobilepay-foorer-btn-contact {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90%;
    height: 60px;
    border-radius: 30px;
    background: #d55b58;
    border: 2px solid #d55b58;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    margin: 0 auto;
  }

  a:hover.mobilepay-foorer-btn-contact {
    background: #fff;
    border: 2px solid #d55b58;
    font-weight: bold;
    color: #d55b58;
    text-decoration: none;
  }

  .mobilepay-foorer-link-second {
    display: flex;
    justify-content: center;
    margin-bottom: 18px;
  }

  .mobilepay-foorer-link-second li:first-child {
    margin-right: 12px;
  }

  .mobilepay-foorer-link-second a {
    color: #fff;
    text-decoration: none;
  }

  .mobilepay-foorer-link-second a:hover {
    color: #fff;
    text-decoration: underline;
  }

  .mobilepay-foorer-copy {
    font-size: 12px;
    text-align: center;
    color: #fff;
  }
}
@media (min-width: 992px) {
  .secBg {
    padding: 72px 0;
  }

  .mobilepay-footer-bg {
    width: 100%;
    background: #404040;
  }

  .mobilepay-foorer {
    display: flex;
    justify-content: center;
    align-items: stretch;
    margin-bottom: 18px;
    color: #fff;
  }

  .mobilepay-foorer > div {
    margin-right: 5.263%;
  }

  .mobilepay-foorer > div:last-child {
    margin-right: 0;
  }

  .mobilepay-foorer a {
    color: #fff;
    text-decoration: none;
  }

  .mobilepay-foorer a:hover {
    text-decoration: underline;
  }

  .mobilepay-foorer-title {
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 30px;
  }

  .mobilepay-foorer-company {
    margin-bottom: 18px;
  }

  .mobilepay-foorer-branch {
    padding-left: 0 !important;
  }

  .mobilepay-foorer-branch li {
    list-style: none !important;
    display: flex;
    margin-bottom: 18px;
  }

  .mobilepay-foorer-branch li > span:first-child {
    margin-right: 12px;
  }

  .mobilepay-foorer-branch li > span:last-child {
    font-size: 0.875rem;
    color: #cbd3d8;
  }

  .mobilepay-foorer-branch li:last-child {
    margin-bottom: 0;
  }

  .mobilepay-foorer-link {
    padding-left: 0 !important;
  }

  .mobilepay-foorer-link li {
    list-style: none !important;
    margin-bottom: 18px;
  }

  .mobilepay-foorer-btn-bg {
    display: flex;
    margin-left: auto;
    align-items: center;
  }

  a.mobilepay-foorer-btn-dcument {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 270px;
    height: 60px;
    border-radius: 30px;
    background: #5dc1cf;
    border: 2px solid #5dc1cf;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    margin-bottom: 18px;
  }

  a:hover.mobilepay-foorer-btn-dcument {
    background: #fff;
    border: 2px solid #5dc1cf;
    font-weight: bold;
    color: #5dc1cf;
    text-decoration: none;
  }

  a.mobilepay-foorer-btn-contact {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 270px;
    height: 60px;
    border-radius: 30px;
    background: #d55b58;
    border: 2px solid #d55b58;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
  }

  a:hover.mobilepay-foorer-btn-contact {
    background: #fff;
    border: 2px solid #d55b58;
    font-weight: bold;
    color: #d55b58;
    text-decoration: none;
  }

  .mobilepay-foorer-link-second {
    display: flex;
    justify-content: center;
    margin-bottom: 18px;
  }

  .mobilepay-foorer-link-second li:first-child {
    margin-right: 12px;
  }

  .mobilepay-foorer-link-second a {
    color: #fff;
    text-decoration: none;
  }

  .mobilepay-foorer-link-second a:hover {
    color: #fff;
    text-decoration: underline;
  }

  .mobilepay-foorer-copy {
    font-size: 0.875rem;
    text-align: center;
    color: #fff;
  }
}
.w-footer__box {
  padding: 0 !important;
}

.l-footer__foot, .l-footer__widgetArea {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.modal_wrap input {
  display: none;
}

.modal_overlay {
  display: flex;
  justify-content: center;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  transition: opacity 0.5s, transform 0s 0.5s;
  transform: scale(0);
  padding: 30px 0 60px;
}

.modal_trigger {
  position: absolute;
  width: 100%;
  height: 100%;
}

.modal_content {
  width: 40%;
  padding: 45px 30px 30px;
  box-sizing: border-box;
  background: #fff;
  transition: 0.5s;
  overflow: scroll;
  border-radius: 18px;
}

.modal_content p {
  padding-top: 0;
}

.close_button {
  display: block;
  position: absolute;
  top: 12px;
  right: 12px;
  width: 24px;
  height: 24px;
  border: 1px solid #333;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}

.close_button::before, .close_button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 16px;
  background: #333;
}

.close_button::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.close_button::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.modal_wrap input:checked ~ .modal_overlay {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s;
}

.modal_wrap input:checked ~ .modal_overlay .modal_content {
  transform: translateY(20px);
}

.open_button {
  font-weight: bold;
  text-align: center;
  text-decoration: underline;
}

@media (max-width: 991px) {
  .modal_content {
    width: 90%;
    box-sizing: border-box;
    border-radius: 12px;
  }
}
.heading06 {
  position: relative;
  padding-top: 50px;
  padding-bottom: 50px;
  text-align: center;
}

.heading06 span {
  position: relative;
  z-index: 2;
}

.heading06::before {
  content: attr(data-en);
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(224, 66, 114, 0.2);
  font-size: 90px;
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}

.heading06::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%) rotate(30deg);
  width: 1px;
  height: 40px;
  background-color: #e04272;
}

.heading07 {
  position: relative;
  padding-top: 50px;
  padding-left: 30px;
}

.heading07 span {
  position: relative;
  z-index: 2;
}

.heading07::before {
  content: attr(data-en);
  position: absolute;
  transform: rotate(-5deg);
  top: -20px;
  left: 0;
  color: rgba(224, 66, 114, 0.2);
  font-size: 90px;
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}

.heading12 {
  position: relative;
}

.heading12::before {
  content: attr(data-number);
  display: inline-block;
  margin-right: 20px;
  color: #5dc1cf;
  font-size: 30px;
  border-bottom: 5px solid #5dc1cf;
  padding-bottom: .8em;
}

.heading13 {
  position: relative;
  padding-top: 0.8em;
}

.heading13::before {
  content: attr(data-number);
  display: block;
  color: #5dc1cf;
  font-size: 30px;
}

.heading13::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: 5px;
  background-color: #5dc1cf;
}

.heading18 {
  position: relative;
  padding-bottom: 10px;
}

.heading18::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background-image: repeating-linear-gradient(90deg, #5dc1cf 0, #5dc1cf 8px, rgba(0, 0, 0, 0) 8px, rgba(0, 0, 0, 0) 11px);
}

.heading19 {
  position: relative;
  padding-bottom: 18px;
}

.heading19::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background-image: repeating-linear-gradient(45deg, #5dc1cf 0px, #5dc1cf 1px, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%);
  background-size: 8px 8px;
}

.titleBgColor {
  text-align: center;
}

.titleBgColor span {
  background: linear-gradient(transparent 70%, #5dc1cf 70%);
}

.titleBgColor2 {
  text-align: center;
}

.titleBgColor2 span {
  background: #5dc1cf;
}

.first-line {
  text-align: center;
}

.first-line::first-line {
  color: #5dc1cf;
  font-size: 1rem;
  line-height: 2em;
}

.pagenation ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: -20px;
}

.pagenation ul li {
  margin-top: 20px;
}

.pagenation ul li:not(:last-child) {
  margin-right: 20px;
}

.pagenation ul li a,
.pagenation ul li span {
  display: block;
  padding: 20px;
  line-height: 1;
  background-color: #fff;
  border: 1px solid #5dc1cf;
  color: #5dc1cf;
}

.pagenation ul li span {
  color: #fff;
  background-color: #5dc1cf;
}

@media (max-width: 991px) {
  .pagenation ul li:not(:last-child) {
    margin-right: 12px;
  }

  .pagenation ul li a,
  .pagenation ul li span {
    display: block;
    padding: 12px;
    line-height: 1;
    background-color: #fff;
    border: 1px solid #5dc1cf;
    color: #5dc1cf;
  }

  .pagenation ul li span {
    color: #fff;
    background-color: #5dc1cf;
  }
}
.arrow-tbl {
  width: 100%;
}

.arrow-tbl th,
.arrow-tbl td {
  padding: 1em;
}

.arrow-tbl th {
  position: relative;
  width: 30%;
  background: #e9edf0;
  border-bottom: 1px solid #fff;
}

.arrow-tbl th::after {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -16px;
  content: "";
  background: #e9edf0;
  width: 16px;
  height: 20px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

.arrow-tbl td {
  padding-left: 1.5em;
  background: #f8f9fa;
  border-bottom: 1px solid #fff;
}

.arrow-tbl tr:last-child th,
.arrow-tbl tr:last-child td {
  border-bottom: none;
}

@media (max-width: 767px) {
  .arrow-tbl-bg {
    overflow-x: scroll;
    white-space: nowrap;
  }

  .arrow-tbl {
    min-width: 600px;
  }
}
@media (min-width: 992px) {
  .bg-naname,
  .bg-naname02 {
    position: relative;
    background: #f8f9fa;
    margin: 120px 0;
    padding: 72px 0;
  }

  .bg-naname::before {
    position: absolute;
    top: -120px;
    left: 0;
    right: 0;
    width: 100%;
    height: 120px;
    background: #f8f9fa;
    display: block;
    content: "";
    clip-path: polygon(100% 0%, 100% 100%, 0% 100%);
  }

  .bg-naname02::before {
    position: absolute;
    top: -120px;
    left: 0;
    right: 0;
    width: 100%;
    height: 120px;
    background: #f8f9fa;
    display: block;
    content: "";
    clip-path: polygon(100% 100%, 0% 100%, 0% 0%);
  }

  .bg-naname::after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -120px;
    width: 100%;
    height: 120px;
    background: #f8f9fa;
    display: block;
    content: "";
    clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
  }

  .bg-naname02::after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -120px;
    width: 100%;
    height: 120px;
    background: #f8f9fa;
    display: block;
    content: "";
    clip-path: polygon(100% 0%, 100% 100%, 0% 0%);
  }
}
@media (max-width: 991px) {
  .bg-naname {
    position: relative;
    background: #f8f9fa;
    margin: 60px 0;
    padding: 48px 0;
  }

  .bg-naname::before {
    position: absolute;
    top: -60px;
    left: 0;
    right: 0;
    width: 100%;
    height: 60px;
    background: #f8f9fa;
    display: block;
    content: "";
    clip-path: polygon(100% 0%, 100% 100%, 0% 100%);
  }

  .bg-naname::after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -60px;
    width: 100%;
    height: 60px;
    background: #f8f9fa;
    display: block;
    content: "";
    clip-path: polygon(0 0, 100% 0%, 0% 100%);
  }
}
@media (max-width: 991px) {
  .contact-cont-bg {
    width: 100%;
    background: #f8f9fa;
  }

  .contact-cont {
    width: 100%;
    border-top: 5px solid #5dc1cf;
    padding: 48px 0;
  }

  .contact-cont_title {
    text-align: center;
    margin-bottom: 24px;
  }

  .contact-cont_text {
    line-height: 2em;
    margin-bottom: 36px;
  }

  .contact-cont_inner {
    display: block;
  }

  .contact-cont_inner > a {
    width: 100%;
  }

  .contact-cont_inner > a:first-child {
    margin-bottom: 24px;
  }

  a.contact-cont_form {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem;
    widht: 100%;
    height: 90px;
    background: #5dc1cf;
    color: #fff;
    cursor: pointer;
    font-weight: 900;
  }

  a:hover.contact-cont_form {
    color: #fff;
    opacity: .8;
  }

  a.contact-cont_form::before {
    display: block;
    content: "";
    background: url("../img/icon-mail.svg");
    width: 24px;
    height: 24px;
    background-size: cover;
    margin-right: 6px;
  }

  a.contact-cont_form::after {
    display: block;
    content: "";
    background: url("../img/arrrow_white.svg");
    width: 15px;
    height: 4px;
    margin-left: 6px;
    background-size: cover;
  }

  a.contact-cont_tel {
    display: flex;
    justify-content: center;
    align-items: center;
    widht: 100%;
    height: 90px;
    background: #fff;
    border: 1px solid #5dc1cf;
  }

  a.contact-cont_tel > span > span:first-child {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #5dc1cf;
    font-size: 2rem;
    font-weight: 900;
    line-height: 1em;
    margin-bottom: 6px;
  }

  a.contact-cont_tel > span > span:first-child::before {
    display: block;
    content: "";
    background: url("../img/icon-tel.svg");
    width: 24px;
    height: 24px;
    background-size: cover;
    margin-right: 6px;
  }

  a.contact-cont_tel > span > span:last-child {
    display: block;
    text-align: center;
    line-height: 1em;
    font-size: .75rem;
  }
}
@media (min-width: 992px) {
  .contact-cont-bg {
    width: 100%;
    background: #f8f9fa;
  }

  .contact-cont {
    width: 100%;
    border-top: 5px solid #5dc1cf;
    padding: 90px 0;
  }

  .contact-cont_title {
    text-align: center;
    margin-bottom: 36px;
  }

  .contact-cont_text {
    line-height: 2em;
    text-align: center;
    margin-bottom: 42px;
  }

  .contact-cont_inner {
    display: flex;
  }

  .contact-cont_inner > a {
    width: calc( ( 100% - 36px ) / 2 );
  }

  .contact-cont_inner > a:first-child {
    margin-right: 36px;
  }

  a.contact-cont_form {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    widht: 100%;
    height: 120px;
    background: #5dc1cf;
    color: #fff;
    cursor: pointer;
    font-weight: 900;
  }

  a:hover.contact-cont_form {
    color: #fff;
    opacity: .8;
  }

  a.contact-cont_form::before {
    display: block;
    content: "";
    background: url("../img/icon-mail.svg");
    width: 30px;
    height: 30px;
    background-size: cover;
    margin-right: 12px;
  }

  a.contact-cont_form::after {
    display: block;
    content: "";
    background: url("../img/arrrow_white.svg");
    width: 30px;
    height: 8px;
    margin-left: 12px;
  }

  a.contact-cont_tel {
    display: flex;
    justify-content: center;
    align-items: center;
    widht: 100%;
    height: 120px;
    background: #fff;
    border: 1px solid #5dc1cf;
  }

  a.contact-cont_tel > span > span:first-child {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #5dc1cf;
    font-size: 3rem;
    font-weight: 900;
    line-height: 1em;
    margin-bottom: 6px;
  }

  a.contact-cont_tel > span > span:first-child::before {
    display: block;
    content: "";
    background: url("../img/icon-tel.svg");
    width: 34px;
    height: 34px;
    background-size: cover;
    margin-right: 12px;
  }

  a.contact-cont_tel > span > span:last-child {
    display: block;
    text-align: center;
    line-height: 1em;
    font-size: .875rem;
  }
}
@media (min-width: 992px) {
  .card-banner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
  }

  .card-banner > a {
    border: 1px solid #e9edf0;
    border-radius: 24px;
  }

  .card-banner_btn {
    display: none;
  }

  .card-banner_img {
    overflow: hidden;
    border-radius: 24px 24px 0 0;
    overflow: hidden;
    margin-bottom: 36px;
  }

  a .card-banner_img img {
    transition: .5s;
  }

  a:hover .card-banner_img img {
    transform: scale(1.1);
    transition: .5s;
  }

  .card-banner_title {
    padding: 0 48px;
    margin-bottom: 24px;
    font-weight: 900;
  }

  .card-banner_title span {
    border-bottom: 1px solid #333;
  }

  .card-banner_text {
    padding: 0 48px 48px;
  }
}
@media (max-width: 991px) {
  .card-banner {
    display: block;
  }

  .card-banner > a {
    width: 100%;
  }

  .card-banner_img {
    border-radius: 24px;
    overflow: hidden;
    margin-bottom: 24px;
  }

  a .card-banner_img img {
    transition: .5s;
  }

  a:hover .card-banner_img img {
    transform: scale(1.1);
    transition: .5s;
  }

  .card-banner_title {
    padding: 0 36px;
    margin-bottom: 18px;
    font-weight: 900;
  }

  .card-banner_title span {
    border-bottom: 1px solid #333;
  }

  .card-banner_text {
    padding: 0 36px 36px;
  }

  .card-banner_btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-align: end;
    line-height: 1em;
    color: #5dc1cf;
    text-decoration: underline;
    margin-top: 1em;
  }

  .card-banner_btn::after {
    content: "";
    width: 10px;
    height: 10px;
    clip-path: polygon(0 0, 100% 50%, 0% 100%);
    background: #5dc1cf;
    margin-left: 6px;
  }
}
.title-top-line {
  position: relative;
  padding-top: .7em;
}

.title-top-line::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 2px;
  background: #5dc1cf;
}

.title-top-line::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: calc( 100% - 28px );
  height: 2px;
  background: #e9edf0;
}

@media (min-width: 768px) {
  .flowBox-inner_arrow {
    position: absolute;
    width: 60px;
    top: 50%;
    transform: translateY(-50%);
    right: -12px;
    z-index: 1;
  }
}
@media (max-width: 767px) {
  .flowBox {
    display: block;
  }

  .flowBox li {
    width: 100%;
    margin-bottom: 18px;
  }

  .flowBox li:last-child {
    margin-bottom: 0;
  }

  .flowBox li:last-child .flowBox-inner_arrow {
    display: none;
  }

  .flowBox-inner_arrow {
    position: absolute;
    width: 48px;
    bottom: -24px;
    left: calc( 50% - 24px );
    transform: translateX(-50%);
    transform: rotate(90deg);
    z-index: 1;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .flowBox {
    display: flex;
    flex-wrap: wrap;
  }

  .flowBox li {
    width: calc( ( 100% - 18px ) / 2 );
    margin-right: 18px;
    margin-bottom: 18px;
  }

  .flowBox li:nth-child(2),
  .flowBox li:nth-child(4),
  .flowBox li:nth-child(6),
  .flowBox li:nth-child(8),
  .flowBox li:last-child {
    margin-right: 0;
  }

  .flowBox li:last-child {
    margin-bottom: 0;
  }

  .flowBox li:last-child .flowBox-inner_arrow {
    display: none;
  }
}
@media (min-width: 992px) {
  .flowBox {
    display: flex;
    flex-wrap: wrap;
  }

  .flowBox li {
    width: calc( ( 100% - 36px ) / 3 );
    margin-right: 18px;
    margin-bottom: 18px;
  }

  .flowBox li:nth-child(3),
  .flowBox li:nth-child(6),
  .flowBox li:nth-child(9),
  .flowBox li:last-child {
    margin-right: 0;
  }

  .flowBox li:nth-last-child(1),
  .flowBox li:nth-last-child(2),
  .flowBox li:nth-last-child(3) {
    margin-bottom: 0;
  }

  .flowBox li:last-child .flowBox-inner_arrow {
    display: none;
  }
}
.flowBox-inner {
  position: relative;
  border: 1px solid #e9edf0;
}

.flowBox-inner_box {
  padding: 24px;
}

.flowBox-inner_box_title {
  margin-bottom: 24px;
}

.flowBox li a .flowBox-inner {
  transition: 1s;
}

.flowBox li a:hover .flowBox-inner {
  background: #333;
  color: #fff;
  transition: 1s;
}

/* number-box　ここから */
@media (min-width: 768px) {
  .number-box_inner {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 12px;
    border: 1px solid #e9edf0;
    border-radius: 42px;
  }

  .number-box_inner_circle {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    border-radius: 30px;
    background: #5dc1cf;
    font-size: 1.5em;
    font-weight: bold;
    color: #fff;
    margin-right: 12px;
  }

  .number-box_inner_text {
    width: calc( 100% - 72px );
  }
}
@media (max-width: 767px) {
  .number-box_inner {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 6px;
    border: 1px solid #e9edf0;
    border-radius: 26px;
  }

  .number-box_inner_circle {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 20px;
    background: #5dc1cf;
    font-size: 1.5em;
    font-weight: bold;
    color: #fff;
    margin-right: 6px;
  }

  .number-box_inner_text {
    width: calc( 100% - 46px );
  }
}
.number-box > div {
  margin-bottom: 12px;
}

.number-box > div:last-child {
  margin-bottom: 0;
}

/* number-box　ここまで */
/* mv2nd-tpl02　ここから */
@media (min-width: 768px) {
  .mv2nd-tpl02 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 540px;
    background: url("../img/swiper-img01.jpg") no-repeat center;
    background-size: cover;
  }

  .mv2nd-tpl02 h1 {
    position: absolute;
    top: 24px;
    right: 24px;
    font-size: 12px;
  }

  .mv2nd-tpl02 h2 {
    font-weight: bold;
    background: rgba(255, 255, 255, 0.7);
    padding: 0.6195em 1em;
    border-radius: 6px;
  }
}
@media (max-width: 767px) {
  .mv2nd-tpl02 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 232px;
    background: url("../img/swiper-img01.jpg") no-repeat center;
    background-size: cover;
    padding: 0 24px;
    margin-top: 80px;
  }

  .mv2nd-tpl02 h1 {
    position: absolute;
    top: 12px;
    right: 12px;
    font-size: 10px;
  }

  .mv2nd-tpl02 h2 {
    font-weight: bold;
    background: rgba(255, 255, 255, 0.7);
    padding: 0.6195em 1em;
    border-radius: 6px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .mv2nd-tpl02 {
    height: 475px;
  }
}
/* mv2nd-tpl02　ここまで */
/* checkList-2col　ここから */
@media (min-width: 992px) {
  .checkList-2col {
    display: flex;
    flex-wrap: wrap;
  }

  .checkList-2col li {
    width: calc( ( 100% - 36px ) / 2 );
    margin-right: 36px;
  }

  .checkList-2col li:nth-child(2n) {
    margin-right: 0;
  }
}
/* checkList-2col　ここまで */
/* header-motion　ここから */
@media (max-width: 991px) {
  .header-motion {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: 80px;
    background: #fff;
    z-index: 1;
  }

  .header-motion_inner_logo img {
    display: block;
    width: auto;
    height: 50px;
    margin-left: 12px;
  }

  .header-motion_inner_box {
    display: none;
  }

  .header-motion_mv {
    width: auto;
    height: 100dvh;
    background: url("../img/top-mv.jpg") no-repeat center center;
    background-size: cover;
  }

  .header-motion_mv_ttl {
    display: flex;
    align-items: center;
    height: 100dvh;
    padding-left: 12px;
  }
}
@media (max-width: 320px) {
  .header-motion_inner_logo img {
    display: block;
    width: auto;
    height: 35px;
    margin-left: 12px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .header-motion_mv_ttl {
    padding-left: 24px;
  }
}
@media (min-width: 992px) {
  .header-motion {
    width: 100%;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: 90px;
    padding: 0 0 0 10px;
    z-index: 1;
  }

  .header-motion_on_scroll {
    background: #fff;
    transition: .5s;
  }

  .header-motion_inner {
    display: flex;
    align-items: center;
    height: 90px;
  }

  .header-motion_inner_box {
    display: flex;
    align-items: center;
    margin-left: auto;
  }

  .header-motion_inner_box_navi {
    display: flex;
    align-items: center;
    height: 70px;
  }

  .header-motion_inner_box_navi li {
    margin-right: 24px;
  }

  .header-motion_inner_box_navi li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    border-bottom: 2px solid rgba(0, 0, 0, 0);
    transition: .5s;
    color: #fff;
    font-weight: bold;
  }

  .header-motion_inner_box_navi li a:hover {
    border-bottom: 2px solid #5dc1cf;
    transition: .5s;
  }

  a.header-motion_inner_box_form {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #5dc1cf;
    color: #fff;
    height: 90px;
    padding: 0 24px 0 51px;
  }

  a:hover.header-motion_inner_box_form {
    color: #fff;
    background: #339eac;
  }

  a.header-motion_inner_box_form:after {
    position: absolute;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    left: 21px;
    background: url("../img/icon-mail.svg");
    width: 24px;
    height: 24px;
    background-size: cover;
  }

  .header-motion_inner_box_tel {
    display: flex;
    align-items: center;
    height: 70px;
    margin-right: 24px;
    color: #fff;
  }

  .header-motion_inner_box_tel_text {
    font-size: 0.75rem;
    line-height: 1em;
    margin-bottom: 6px;
  }

  .header-motion_inner_box_tel_number {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1em;
  }

  .header-motion_inner_box_tel_number i {
    font-size: .8em;
    margin-right: 4px;
  }

  .header-motion_inner_box_navi_on_scroll li a {
    color: #333 !important;
  }

  .header-motion_inner_box_tel_on_scroll {
    color: #333 !important;
  }

  .header-motion_mv {
    width: auto;
    height: 100dvh;
    background: url("../img/top-mv.jpg") no-repeat center center;
    background-size: cover;
  }

  .header-motion_mv_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100dvh;
    width: 50vw;
  }
}
/* header-motion　ここまで */
/* big-contents　ここから */
@media (min-width: 768px) {
  .big-contents {
    display: flex;
  }

  .big-contents_img {
    width: 55%;
  }

  .big-contents_img img {
    width: 100%;
    height: auto;
  }

  .big-contents_text {
    width: 35%;
    margin-left: auto;
    margin-right: 5%;
  }
}
@media (max-width: 767px) {
  .big-contents {
    display: block;
    padding: 0 12px;
  }

  .big-contents_img {
    margin-bottom: 24px;
  }
}
/* big-contents　ここまで */
/* .header-motion_mv_slide ここから */
.header-motion_mv_slide {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.header-motion_mv_slide_image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  animation: motion-slider 24s linear infinite;
}

.header-motion_mv_slide_image:nth-child(1) {
  background-image: url("../img/top-mv01.jpg");
  animation-delay: -2s;
}

.header-motion_mv_slide_image:nth-child(2) {
  background-image: url("../img/top-mv02.jpg");
  animation-delay: 6s;
}

.header-motion_mv_slide_image:nth-child(3) {
  background-image: url("../img/top-mv03.jpg");
  animation-delay: 14s;
}

.header-motion_mv_slide_image:nth-child(4) {
  background-image: url("../img/top-mv04.jpg");
  animation-delay: 22s;
}

.header-motion_mv_slide_image:nth-child(5) {
  background-image: url("../img/top-mv05.jpg");
  animation-delay: 30s;
}

@media screen and (max-width: 991px) and (min-width: 768px) {
  .header-motion_mv_ttl {
    padding-left: 24px;
  }
}
@media (max-width: 991px) {
  .header-motion_mv_slide_image_ttl {
    display: flex;
    align-items: center;
    height: 100dvh;
    padding-left: 12px;
  }
}
@media (min-width: 992px) {
  .header-motion_mv_slide_image_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100dvh;
    width: 50vw;
  }
}
@keyframes motion-slider {
  0% {
    opacity: 0;
  }
  4.16% {
    opacity: 1;
  }
  33.33% {
    opacity: 1;
  }
  41.66% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
/* .header-motion_mv_slide　ここまで */
/* order-flow ここから */
@media (min-width: 768px) {
  .order-flow {
    width: 80%;
    margin-right: auto;
    margin-left: auto;
    padding-top: 20px;
  }

  .order-flow_item {
    position: relative;
    width: calc( 100% - 116px );
    height: 100%;
    margin-left: auto;
    counter-increment: mycounter;
  }

  .order-flow_item:not(:last-child) {
    margin-bottom: 32px;
  }

  .order-flow_item:not(:last-child)::before {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
    left: -76px;
    height: calc( 100% - 72px );
    border-left: 1px solid #aaa;
  }

  .order-flow_item::after {
    display: flex;
    justify-content: center;
    align-items: center;
    content: counter(mycounter,decimal-leading-zero);
    position: absolute;
    top: -20px;
    left: -116px;
    width: 80px;
    height: 80px;
    border-radius: 40px;
    background: #f8f9fa;
    box-shadow: 0 0 18px #ccc;
    font-weight: 600;
    font-size: 1.5rem;
  }

  .order-flow_item:not(:last-child) .order-flow_item_inner {
    display: block;
    margin-bottom: 42px;
  }

  .order-flow_item_inner_title {
    margin-bottom: 36px;
  }
}
@media (max-width: 767px) {
  .order-flow {
    width: 100%;
    padding-top: 10px;
  }

  .order-flow_item {
    position: relative;
    width: calc( 100% - 52px );
    height: 100%;
    margin-left: auto;
    counter-increment: mycounter;
  }

  .order-flow_item:not(:last-child) {
    margin-bottom: 22px;
  }

  .order-flow_item:not(:last-child)::before {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
    left: -32px;
    height: calc( 100% - 42px );
    border-left: 1px solid #aaa;
  }

  .order-flow_item::after {
    display: flex;
    justify-content: center;
    align-items: center;
    content: counter(mycounter,decimal-leading-zero);
    position: absolute;
    top: -10px;
    left: -52px;
    width: 40px;
    height: 40px;
    border-radius: 20px;
    background: #f8f9fa;
    box-shadow: 0 0 18px #ccc;
    font-weight: 600;
    font-size: 1rem;
  }

  .order-flow_item:not(:last-child) .order-flow_item_inner {
    margin-bottom: 24px;
  }

  .order-flow_item_inner_title {
    margin-bottom: 24px;
  }
}
/* order-flow ここまで */
/* point-area ここから */
.point-area {
  padding: 0 20px 30px;
  background: #f8f9fa;
}

.point-area_title {
  text-align: center;
  transform: translateY(-16px);
  color: #5dc1cf;
}

@media (min-width: 992px) {
  .point-area_inner-col-2 {
    display: flex;
    justify-content: space-around;
  }

  .point-area_inner-col-2 li {
    position: relative;
    width: calc( ( 100% - 10% ) /2 );
  }

  .point-area_inner-col-2 li:not(:last-child)::before {
    position: absolute;
    content: "";
    width: 1px;
    height: 100%;
    background: #e9edf0;
    top: 0;
    right: -5%;
    bottom: 0;
  }

  .point-area_inner-col-3 {
    display: flex;
    justify-content: space-around;
  }

  .point-area_inner-col-3 li {
    position: relative;
    width: calc( ( 100% - 10% ) /3 );
  }

  .point-area_inner-col-3 li:not(:last-child)::before {
    position: absolute;
    content: "";
    width: 1px;
    height: 100%;
    background: #e9edf0;
    top: 0;
    right: -5%;
    bottom: 0;
  }
}
@media (max-width: 991px) {
  .point-area_inner-col-2,
  .point-area_inner-col-3 {
    width: 100%;
    display: block;
  }

  .point-area_inner-col-2 li,
  .point-area_inner-col-3 li {
    position: relative;
    width: 100%;
  }

  .point-area_inner-col-2 li:not(:last-child),
  .point-area_inner-col-3 li:not(:last-child) {
    padding-bottom: 1em;
    margin-bottom: 1em;
  }

  .point-area_inner-col-2 li:not(:last-child)::before,
  .point-area_inner-col-3 li:not(:last-child)::before {
    display: block;
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background: #e9edf0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}
@media (max-width: 767px) {
  .point-area {
    padding: 0 20px 20px;
    background: #f8f9fa;
  }

  .point-area_title {
    transform: translateY(-11px);
  }
}
/* point-area ここまで */
/* pickup-list ここから */
.pickup-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.pickup-list li {
  padding: 10px 20px;
  border: 1px solid #5dc1cf;
  color: #5dc1cf;
  border-radius: 6px;
}

@media (max-width: 767px) {
  .pickup-list {
    font-size: 0.875rem;
  }
}
/* pickup-list ここまで */
/* title-wave ここから */
.title-wave {
  position: relative;
  display: inline-block;
  padding-bottom: 12px;
}

.title-wave::after {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  background: url("../img/title-wave.svg") repeat-x;
  background-size: contain;
}

/* title-wave ここまで */
/* list-dot ここから */
/* list-dot ここまで */
/* surroundingLine-wrap　ここから */
.surroundingLine-wrap {
  position: relative;
  width: calc( 100% - 4em );
  margin-left: auto;
  padding: .5em 0 .5em 2em;
}

.surroundingLine-wrap::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background: #5dc1cf;
}

@media (max-width: 991px) {
  .surroundingLine-wrap {
    width: calc( 100% - 1em );
    padding: .5em 0 .5em 1em;
  }

  .surroundingLine-wrap::before {
    width: 3px;
  }
}
/* surroundingLine-wrap　ここまで */
/* 画像＋片隅ボタン　ここから */
.cornerBtn-wrap {
  display: inline-block;
  background: #f8f9fa;
  border-radius: 12px;
}

.cornerBtn-bg {
  position: relative;
  display: inline-block;
  border-radius: 12px 12px 0 12px;
  overflow: hidden;
}

.cornerBtn-bg_inner {
  position: absolute;
  right: 0;
  bottom: 0;
}

a.cornerBtn {
  position: relative;
  display: block;
  background: #f8f9fa;
  color: #5dc1cf;
  border-radius: 12px 0 0 0;
}

a.cornerBtn::before {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  left: -12px;
  width: 12px;
  height: 12px;
  background: url("../img/corner-radius-img.svg") no-repeat;
  background-size: cover;
}

a.cornerBtn::after {
  position: absolute;
  display: block;
  content: "";
  top: -12px;
  right: 0;
  width: 12px;
  height: 12px;
  background: url("../img/corner-radius-img.svg") no-repeat;
  background-size: cover;
}

a.cornerBtn > span {
  display: flex;
  align-items: center;
  position: relative;
  width: 180px;
  height: 60px;
  padding-left: 72px;
}

a.cornerBtn > span::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 24px;
  content: "";
  width: 24px;
  height: 24px;
  border-radius: 12px;
  border: 8px solid #5dc1cf;
  transition: .5s;
}

a:hover.cornerBtn > span::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 27px;
  content: "";
  width: 18px;
  height: 18px;
  border-radius: 9px;
  background: #5dc1cf;
  transition: .5s;
}

a:hover.cornerBtn {
  color: #5dc1cf;
}

@media (max-width: 767px) {
  .cornerBtn-wrap {
    padding: 12px;
  }

  a.cornerBtn > span {
    display: flex;
    align-items: center;
    position: relative;
    width: 140px;
    height: 40px;
    padding-left: 45px;
  }

  a.cornerBtn > span::before {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 18px;
    content: "";
    width: 18px;
    height: 18px;
    border-radius: 9px;
    border: 6px solid #5dc1cf;
    transition: .5s;
  }

  a:hover.cornerBtn > span::before {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 20px;
    content: "";
    width: 14px;
    height: 14px;
    border-radius: 7px;
    background: #5dc1cf;
    transition: .5s;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .cornerBtn-wrap {
    padding: 24px;
  }
}
@media (min-width: 992px) {
  .cornerBtn-wrap {
    padding: 36px;
  }
}
/* 片隅ボタン　ここまで */
/* circledotBtn　ここから */
a.circledotBtn {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 260px;
  height: 60px;
  background: #fff;
  border: 1px solid #5dc1cf;
  color: #5dc1cf;
  border-radius: 30px;
}

a.circledotBtn::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 24px;
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 10px;
  border: 7px solid #5dc1cf;
  transition: .5s;
}

a:hover.circledotBtn::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 26px;
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 8px;
  background: #5dc1cf;
  transition: .5s;
}

a:hover.circledotBtn {
  color: #5dc1cf;
}

/* circledotBtn　ここまで */
/* circledotBtn-beta　ここから */
a.circledotBtn-beta {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 260px;
  height: 60px;
  background: #5dc1cf;
  color: #fff;
  border-radius: 30px;
}

a.circledotBtn-beta::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 24px;
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 10px;
  border: 7px solid #fff;
  transition: .5s;
}

a:hover.circledotBtn-beta::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 26px;
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 8px;
  background: #fff;
  transition: .5s;
}

a:hover.circledotBtn-beta {
  color: #fff;
}

/* circledotBtn-beta　ここまで */
/* contact-box　ここから */
@media (min-width: 992px) {
  .contact-box {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 93.75vw;
    height: 600px;
    color: #fff;
    border-radius: 0 300px 300px 0;
  }

  .contact-box a,
  .contact-box a:hover,
  .contact-box a:visited {
    color: #fff;
  }

  .contact-box-img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #98d8e0;
    border-radius: 0 300px 300px 0;
    overflow: hidden;
    z-index: -1;
  }

  .contact-box-img img {
    width: 93.75vw;
    height: 600px;
    object-fit: cover;
    opacity: 0.2;
  }

  .contact-box > div > .container {
    max-width: 1240px;
  }

  .contact-box_inner {
    display: flex;
  }

  .contact-box_inner_left {
    width: 35vw;
    padding-top: 5%;
    padding-left: 5%;
  }

  .contact-box_inner_right_tel {
    display: flex;
    align-items: center;
    width: 600px;
    height: 160px;
    border-radius: 80px;
    border: 1px solid #fff;
    padding: 40px;
    margin-bottom: 40px;
  }

  .contact-box_inner_right_tel_icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 72px;
    height: 72px;
    border-radius: 72px;
    background: #fff;
    margin-right: 40px;
  }

  .contact-box_inner_right_tel_icon img {
    height: 36px;
  }

  .contact-box_inner_right_tel_number {
    display: block;
    font-size: 40px;
    font-weight: 700;
  }

  .contact-box_inner_right_tel_text {
    display: block;
    margin-top: 20px;
  }

  .contact-box_inner_right_mail {
    position: relative;
    display: flex;
    align-items: center;
    width: 600px;
    height: 160px;
    border-radius: 80px;
    border: 1px solid #fff;
    padding: 40px;
    transition: 1s;
  }

  .contact-box_inner_right_mail::before {
    position: absolute;
    display: block;
    content: "";
    right: 40px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 23px;
    background: url("../img/icon-arrow.svg") no-repeat;
    background-size: cover;
    transition: 1s;
  }

  a:hover.contact-box_inner_right_mail::before {
    position: absolute;
    display: block;
    content: "";
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 23px;
    background: url("../img/icon-arrow.svg") no-repeat;
    background-size: cover;
    transition: 1s;
  }

  a:hover.contact-box_inner_right_mail {
    background: #339eac;
    transition: 1s;
  }

  .contact-box_inner_right_mail_icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 72px;
    height: 72px;
    border-radius: 72px;
    background: #fff;
    margin-right: 40px;
  }

  .contact-box_inner_right_mail_icon img {
    height: 36px;
  }

  .contact-box_inner_right_mail_text {
    display: block;
    font-size: 32px;
    font-weight: 700;
  }
}
@media (max-width: 991px) {
  .contact-box {
    position: relative;
    width: 100%;
    height: auto;
    color: #fff;
    padding: 40px 0;
  }

  .contact-box a,
  .contact-box a:hover,
  .contact-box a:visited {
    color: #fff;
  }

  .contact-box-img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #98d8e0;
    z-index: -1;
  }

  .contact-box-img img {
    width: auto;
    height: 100%;
    object-fit: cover;
    opacity: 0.2;
  }

  .contact-box_inner {
    display: block;
  }

  .contact-box_inner_left {
    width: 100%;
    margin-bottom: 24px;
  }

  .contact-box_inner_right_tel {
    display: flex;
    align-items: center;
    width: 100%;
    height: 80px;
    border-radius: 40px;
    border: 1px solid #fff;
    padding: 20px;
    margin-bottom: 24px;
  }

  .contact-box_inner_right_tel_icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    border-radius: 36px;
    background: #fff;
    margin-right: 20px;
  }

  .contact-box_inner_right_tel_icon img {
    height: 18px;
  }

  .contact-box_inner_right_tel_number {
    display: block;
    font-size: 24px;
    font-weight: 700;
  }

  .contact-box_inner_right_tel_text {
    display: block;
    margin-top: 6px;
  }

  .contact-box_inner_right_mail {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 80px;
    border-radius: 40px;
    border: 1px solid #fff;
    padding: 20px;
    transition: 1s;
  }

  .contact-box_inner_right_mail::before {
    position: absolute;
    display: block;
    content: "";
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 18px;
    background: url("../img/icon-arrow.svg") no-repeat;
    background-size: cover;
    transition: 1s;
  }

  a:hover.contact-box_inner_right_mail::before {
    position: absolute;
    display: block;
    content: "";
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 18px;
    background: url("../img/icon-arrow.svg") no-repeat;
    background-size: cover;
    transition: 1s;
  }

  a:hover.contact-box_inner_right_mail {
    background: #339eac;
    transition: 1s;
  }

  .contact-box_inner_right_mail_icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    border-radius: 36px;
    background: #fff;
    margin-right: 20px;
  }

  .contact-box_inner_right_mail_icon img {
    height: 18px;
  }

  .contact-box_inner_right_mail_text {
    display: block;
    font-size: 18px;
    font-weight: 700;
  }
}
/* contact-box　ここまで */
/* ellipse-mask　画像マスクここから */
.ellipse-mask01 {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/ellipse-mask01.svg);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.ellipse-mask02 {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/ellipse-mask02.svg);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.ellipse-mask03 {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/ellipse-mask03.svg);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.ellipse-mask04 {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/ellipse-mask04.svg);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.ellipse-mask05 {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/ellipse-mask05.svg);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.ellipse-mask06 {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/ellipse-mask06.svg);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.ellipse-mask07 {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/ellipse-mask07.svg);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.ellipse-mask-rectangle01 {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/ellipse-mask-rectangle01.svg);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.ellipse-mask-rectangle02 {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/ellipse-mask-rectangle02.svg);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.ellipse-mask-rectangle03 {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/ellipse-mask-rectangle03.svg);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.ellipse-mask-rectangle04 {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/ellipse-mask-rectangle04.svg);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.ellipse-mask-rectangle05 {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/ellipse-mask-rectangle05.svg);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.ellipse-mask-rectangle06 {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/ellipse-mask-rectangle06.svg);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.ellipse-mask-rectangle07 {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mask-image: url(../img/ellipse-mask-rectangle07.svg);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

/* ellipse-mask　画像マスクここまで */
/* 本のような段組みレイアウト　ここから */
.book {
  columns: 3;
  /* カラムの数 */
  column-rule: 2px dashed #ccc;
  /* カラム間の線の太さ・線の種類・線の色 */
  column-gap: 3em;
  /* カラム間の幅 */
  /* 以下任意で見た目の調整 */
  padding: 2em;
  line-height: 1.5em;
  text-align: justify;
  border: 1px solid #ccc;
}

/* 幅が狭いデバイスでは1カラムにする */
@media screen and (max-width: 767px) {
  .book {
    columns: 1;
  }
}
/* 本のような段組みレイアウト　ここまで */
/* テキスト下の二重線　ここから */
.double-line {
  display: inline;
  background-image: linear-gradient(0deg, #5dc1cf 0px, #5dc1cf 2px, transparent 2px, transparent 4px, #5dc1cf 4px, #5dc1cf 6px);
  background-size: 100% 6px;
  background-repeat: no-repeat;
  background-position: left bottom;
  padding-bottom: 5px;
}

/* テキスト下の二重線　ここまで */
/* ulタグの丸が脈動するアニメーション　ここから */
.pulse-ul {
  list-style: none;
}

.pulse-ul li {
  position: relative;
  padding-left: 20px;
  line-height: 2;
}

.pulse-ul li::before,
.pulse-ul li::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  left: 5px;
  top: calc(1em - 4px);
}

/* liタグの丸1のスタイル */
.pulse-ul li::before {
  background-color: #98d8e0;
  animation: pulsate 2s infinite;
}

/* liタグの丸2のスタイル */
.pulse-ul li::after {
  background-color: #5dc1cf;
}

@keyframes pulsate {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: scale(2.5);
  }
}
/* ulタグの丸が脈動するアニメーション　ここから */
/* グラデーションボタン　ここから */
a.gradient-btn {
  position: relative;
  z-index: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 260px;
  height: 60px;
  background: transparent;
  border-radius: 6px;
  overflow: hidden;
  cursor: pointer;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

a:hover.gradient-btn {
  color: #fff;
}

a.gradient-btn::before,
a.gradient-btn::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}

a.gradient-btn::before {
  transition: all 0.6s;
  z-index: -1;
  background: linear-gradient(135deg, #FBD786 0%, #f7797d 100%);
}

a.gradient-btn::after {
  z-index: -2;
  background: linear-gradient(135deg, #12c2e9 0%, #c471ed 100%);
}

a.gradient-btn:hover::before {
  opacity: 0;
}

a.gradient-btn > span {
  position: relative;
}

a.gradient-btn > span::before {
  position: absolute;
  top: 6px;
  right: -25px;
  display: block;
  content: "";
  background: url("../img/icon-arrow.svg") no-repeat;
  background-size: cover;
  width: 13px;
  height: 11px;
}

/* グラデーションボタン　ここまで */
/* 流体シェイプ　ここから */
.fluid-shape {
  position: relative;
  width: 100%;
  /*横幅*/
  height: 100%;
  /*縦幅*/
  background: #fff;
  /*背景色*/
  animation: fluidrotate 30s ease 0s infinite;
  /*アニメーションの設定*/
  overflow: hidden;
}

@keyframes fluidrotate {
  0%, 100% {
    border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
  }
  14% {
    border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
  }
  28% {
    border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
  }
  42% {
    border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
  }
  56% {
    border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
  }
  70% {
    border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
  }
  84% {
    border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
  }
}
/* 流体シェイプ　ここまで */
/* header-tpl06　ここから */
@media (max-width: 991px) {
  .header-tpl06-bg {
    position: fixed;
    top: 0;
    width: 100%;
    height: 80px;
    padding: 0 12px;
    background: #fff;
    z-index: 3;
  }

  .header-tpl06 {
    height: 80px;
    display: flex;
    align-items: center;
  }

  .header-tpl06-logo img {
    width: auto;
    height: 50px;
  }
}
@media (max-width: 320px) {
  .header-tpl06-logo img {
    width: auto;
    height: 35px;
  }
}
@media (min-width: 992px) {
  .header-tpl06-bg {
    position: fixed;
    top: -80px;
    width: 100%;
    height: 80px;
    padding: 10px;
    background: #fff;
    box-shadow: 0 0 18px #ccc;
    border-radius: 0 0 12px 0;
    z-index: 3;
    transition: .5s;
  }

  .header-tpl06 {
    display: flex;
    align-items: center;
  }

  .header-tpl06-logo {
    margin-right: auto;
  }

  .header-tpl06-nav {
    display: flex;
    align-items: center;
  }

  .header-tpl06-nav li a {
    position: relative;
    margin-right: 18px;
  }

  .header-tpl06-nav li a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #5dc1cf;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
  }

  .header-tpl06-nav li a:hover::after {
    transform: scale(1, 1);
  }

  a.header-tpl06-contact {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    background: #5dc1cf;
    color: #fff;
    padding: 0 1.5em;
    margin-right: 24px;
    border-radius: 25px;
    font-weight: 600;
  }

  a:hover.header-tpl06-contact {
    color: #fff;
    opacity: .5;
  }

  .header-tpl06-contact-icon {
    margin-right: 6px;
  }

  .header-tpl06-contact-icon img {
    width: 24px;
    height: auto;
  }

  .header-tpl06-tel {
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 600;
    margin-right: 14px;
    line-height: 1em;
    height: 40px;
    margin-right: 100px;
  }

  .header-tpl06-tel-icon {
    margin-right: 3px;
  }

  .header-tpl06-tel-icon img {
    width: 24px;
  }
}
.header-tpl06-bg_on_scroll {
  top: 0;
  transition: .5s;
}

@media (max-width: 991px) {
  .header-tpl06-mv {
    display: block;
    width: 100%;
    height: calc( 100dvh - 80px );
    margin-top: 80px;
  }
  .header-tpl06-mv > div:first-child {
    width: 90dvw;
    height: calc( 60dvh - 40px );
    margin: auto;
    padding-top: 30px;
  }
  .header-tpl06-mv > div:last-child {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90dvw;
    height: calc( 40dvh - 40px );
    margin: auto;
    text-align: center;
  }

  .header-tpl06-mv_logo {
    display: none;
  }
}
@media (min-width: 992px) {
  .header-tpl06-mv {
    display: flex;
    width: 100%;
    height: 100dvh;
    align-items: center;
    margin-top: -80px;
  }
  .header-tpl06-mv > div:first-child {
    width: 45dvw;
    height: 80dvh;
    order: 2;
  }
  .header-tpl06-mv > div:last-child {
    width: 50dvw;
    display: flex;
    justify-content: center;
    order: 1;
  }

  .header-tpl06-mv_logo {
    margin-bottom: 36px;
  }

  .header-tpl06-mv_title {
    font-size: 3.3333vw;
  }
}
/* header-tpl06　ここまで */
/* テキストが流れる　ここから */
/*
.roboto-<uniquifier> {
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
*/
.text-loop-wrap {
  overflow: hidden;
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}

.text-loop {
  display: flex;
  width: 100%;
  height: auto;
  overflow: hidden;
  opacity: .05;
}

.text-loop div {
  flex: 0 0 auto;
  white-space: nowrap;
  line-height: 1em;
  overflow: hidden;
}

.text-loop div:nth-child(odd) {
  animation: text-loop01-1 200s -100s linear infinite;
}

.text-loop div:nth-child(even) {
  animation: text-loop01-2 200s linear infinite;
}

@keyframes text-loop01-1 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes text-loop01-2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
@media (max-width: 767px) {
  .text-loop div {
    font-size: 9rem;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .text-loop div {
    font-size: 14rem;
  }
}
@media (min-width: 992px) {
  .text-loop div {
    font-size: 19rem;
  }
}
/* テキストが流れる　ここまで */
/* テキストが流れるタイトル　ここから */
.title-text-loop {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 304px;
}

.title-text-loop > div {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.title-text-loop > p {
  text-align: center;
  font-weight: bold;
}

@media (max-width: 767px) {
  .title-text-loop > p {
    font-size: 1.4rem;
  }

  .title-text-loop {
    height: 144px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .title-text-loop > p {
    font-size: 1.7rem;
  }

  .title-text-loop {
    height: 224px;
  }
}
@media (min-width: 992px) {
  .title-text-loop > p {
    font-size: 2rem;
  }
}
/* テキストが流れるタイトル　ここまで */
/* 囲い文字の段落　ここから */
@media (max-width: 991px) {
  .headding-enclosed li {
    display: block;
    width: 100%;
    margin-bottom: .5em;
  }

  .headding-enclosed li:last-child {
    margin-bottom: 0;
  }

  .headding-enclosed li span:first-child {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    background: #5dc1cf;
    color: #fff;
    padding: .1em .3em;
    font-weight: normal;
    margin-bottom: .5em;
    border-radius: 3px;
  }

  .headding-enclosed li span:last-child {
    display: block;
  }
}
@media (min-width: 992px) {
  .headding-enclosed li {
    display: flex;
    width: 100%;
    margin-bottom: .5em;
  }

  .headding-enclosed li:last-child {
    margin-bottom: 0;
  }

  .headding-enclosed li span:first-child {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    background: #5dc1cf;
    color: #fff;
    padding: 0 .2em;
    font-weight: normal;
    margin-right: 1em;
    border-radius: 3px;
  }

  .headding-enclosed li span:last-child {
    padding-top: .1em;
  }
}
/* 囲い文字の段落　ここまで */
/* header-tpl07　ここから */
.header-tpl07-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  color: #333;
  padding: 10px 10px 0 10px;
  height: 70px;
}

.header-tpl07-logo {
  height: 60px;
}

.header-tpl07-contact {
  display: flex;
  align-items: center;
}

.header-tpl07-nav {
  background: #fff;
  color: #333;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
}

.header-tpl07-nav ul {
  list-style: none;
  display: flex;
}

.header-tpl07-nav ul li {
  margin: 0 10px;
  position: relative;
}

.header-tpl07-nav ul li a {
  color: #333;
  text-decoration: none;
  display: block;
  padding: 10px;
}

.header-tpl07-dropdown {
  display: none;
  position: absolute;
  background-color: #e9edf0;
  min-width: 100px;
  box-shadow: 0 0 12px #ccc;
  z-index: 1;
}

.header-tpl07-dropdown a {
  color: #333;
  padding: 10px;
  text-decoration: none;
  display: block;
}

.header-tpl07-nav ul li:hover .header-tpl07-dropdown {
  display: block;
}

a.header-tpl07-contact {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
  background: #5dc1cf;
  color: #fff;
  padding: 0 1.5em;
  margin-right: 24px;
  border-radius: 25px;
  font-weight: 600;
}

a:hover.header-tpl07-contact {
  color: #fff;
  opacity: .5;
}

.header-tpl07-contact-icon {
  margin-right: 6px;
}

.header-tpl07-contact-icon img {
  width: 24px;
  height: auto;
}

.header-tpl07-tel {
  display: flex;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1em;
  height: 40px;
}

.header-tpl07-tel-icon {
  margin-right: 3px;
}

.header-tpl07-tel-icon img {
  width: 24px;
}

/* header-tpl07　ここまで */
/* footer-tpl02　ここから */
@media (max-width: 991px) {
  .footer-tpl02_head {
    width: 100%;
    height: auto;
    background: url("../img/footer-tpl02-head-bg.jpg") no-repeat;
    background-position: top center;
    background-size: cover;
    padding-top: 60px;
    padding-bottom: 30px;
  }

  .footer-tpl02_contact {
    width: 90vw;
    margin-right: auto;
    margin-left: auto;
    padding: 60px 0;
    background: #fff;
    border-radius: 30px 30px 0 0;
  }

  .footer-tpl02_contact-title {
    margin-bottom: 12px;
  }

  .footer-tpl02_contact-text {
    margin-bottom: 36px;
  }

  .footer-tpl02_contact-link {
    display: block;
  }

  .footer-tpl02_contact-link > a {
    margin: 0 auto 24px auto;
  }

  .footer-tpl02_contact-link > a:last-child {
    margin-bottom: 0;
  }

  a.footer-tpl02_contact-link_tel {
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    font-weight: bold;
    text-decoration: none;
    justify-content: center;
  }

  a.footer-tpl02_contact-link_tel img {
    width: auto;
    height: 24px;
    padding-right: 6px;
  }

  .footer-tpl02_foot {
    width: 100%;
    background: #5dc1cf;
    padding: 60px 0;
    border-radius: 30px 30px 0 0;
    margin-top: -30px;
  }

  .footer-tpl02_foot_innder {
    display: block;
  }

  .footer-tpl02_foot_innder_left {
    width: 100%;
    color: #fff;
  }

  .footer-tpl02_foot_innder_left_logo {
    margin-bottom: 24px;
  }

  .footer-tpl02_foot_innder_left_logo img {
    width: 70vw;
    height: auto;
    margin-right: auto;
    margin-left: auto;
  }

  .footer-tpl02_foot_innder_left_add {
    margin-bottom: 24px;
  }

  a.footer-tpl02_foot_innder_left_tel {
    display: flex;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: bold;
    color: #fff;
    margin-bottom: 24px;
  }

  a:hover.footer-tpl02_foot_innder_left_tel {
    color: #fff;
  }

  a.footer-tpl02_foot_innder_left_tel img {
    width: auto;
    height: 24px;
    padding-right: 6px;
  }

  .footer-tpl02_foot_innder_left_copy {
    font-size: .75rem;
    font-weight: bold;
    text-align: center;
  }

  .footer-tpl02_foot_innder_right {
    width: 100%;
    color: #fff;
    margin-bottom: 36px;
  }

  .footer-tpl02_foot_innder_right_navi {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    padding: 0 24px;
    margin-bottom: 36px;
  }

  .footer-tpl02_foot_innder_right_navi li a {
    display: inline-block;
    color: #fff;
    border-bottom: dotted 3px #fff;
    padding-bottom: 6px;
  }

  .footer-tpl02_foot_innder_right_navi li a:hover {
    border-bottom: dotted 3px #98d8e0;
  }

  .footer-tpl02_foot_innder_right_btn {
    margin-right: auto;
    margin-left: auto;
  }

  a.footer-tpl02_contact-link_btn,
  .footer-tpl02_contact-link_btn_box,
  a.footer-tpl02_foot_innder_right_btn,
  .footer-tpl02_foot_innder_right_btn_box {
    width: 260px;
  }
}
@media (min-width: 992px) {
  .footer-tpl02_head {
    width: 100%;
    height: auto;
    background: url("../img/footer-tpl02-head-bg.jpg") no-repeat;
    background-position: top center;
    background-size: cover;
    padding-top: 90px;
    padding-bottom: 60px;
  }

  .footer-tpl02_contact {
    width: 70vw;
    margin-right: auto;
    margin-left: auto;
    padding: 90px 0;
    background: #fff;
    border-radius: 30px 30px 0 0;
  }

  .footer-tpl02_contact-title {
    margin-bottom: 12px;
  }

  .footer-tpl02_contact-text {
    margin-bottom: 36px;
  }

  .footer-tpl02_contact-link {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .footer-tpl02_contact-link > a {
    margin-right: 2.5vw;
  }

  .footer-tpl02_contact-link > a:last-child {
    margin-right: 0;
  }

  a.footer-tpl02_contact-link_tel {
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    font-weight: bold;
    text-decoration: none;
  }

  a.footer-tpl02_contact-link_tel img {
    width: auto;
    height: 24px;
    padding-right: 6px;
  }

  .footer-tpl02_foot {
    width: 100%;
    background: #5dc1cf;
    padding: 90px 0;
    border-radius: 60px 60px 0 0;
    margin-top: -60px;
  }

  .footer-tpl02_foot_innder {
    display: flex;
  }

  .footer-tpl02_foot_innder_left {
    width: 40%;
    margin-right: 90px;
    color: #fff;
    order: 1;
  }

  .footer-tpl02_foot_innder_left_logo {
    margin-bottom: 60px;
  }

  .footer-tpl02_foot_innder_left_logo img {
    width: 300px;
    height: auto;
  }

  .footer-tpl02_foot_innder_left_add {
    margin-bottom: 36px;
  }

  a.footer-tpl02_foot_innder_left_tel {
    display: flex;
    font-size: 2rem;
    font-weight: bold;
    color: #fff;
    margin-bottom: 6px;
  }

  a:hover.footer-tpl02_foot_innder_left_tel {
    color: #fff;
  }

  a.footer-tpl02_foot_innder_left_tel img {
    width: auto;
    height: 24px;
    padding-right: 6px;
  }

  .footer-tpl02_foot_innder_left_copy {
    font-size: .75rem;
    font-weight: bold;
  }

  .footer-tpl02_foot_innder_right {
    width: calc( 60% - 90px );
    color: #fff;
    order: 2;
  }

  .footer-tpl02_foot_innder_right_navi {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 36px;
    margin-bottom: 36px;
  }

  .footer-tpl02_foot_innder_right_navi li a {
    display: inline-block;
    color: #fff;
    border-bottom: dotted 3px #fff;
    padding-bottom: 12px;
  }

  .footer-tpl02_foot_innder_right_navi li a:hover {
    border-bottom: dotted 3px #98d8e0;
  }

  a.footer-tpl02_contact-link_btn,
  .footer-tpl02_contact-link_btn_box,
  a.footer-tpl02_foot_innder_right_btn,
  .footer-tpl02_foot_innder_right_btn_box {
    width: 20vw;
  }
}
.footer-tpl02_contact-title,
.footer-tpl02_contact-text {
  text-align: center;
}

a.footer-tpl02_contact-link_btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  color: #fff;
  border-radius: 30px;
}

a.footer-tpl02_contact-link_btn::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 24px;
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 10px;
  border: 7px solid #fff;
  transition: .5s;
}

a:hover.footer-tpl02_contact-link_btn::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 26px;
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 8px;
  background: #fff;
  transition: .5s;
}

a.footer-tpl02_btn01 {
  background: #5dc1cf;
}

a.footer-tpl02_btn02 {
  background: #98d8e0;
}

a:hover.footer-tpl02_btn01,
a:hover.footer-tpl02_btn02 {
  color: #fff;
}

.footer-tpl02_contact-link_btn_box {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
}

.footer-tpl02_contact-link_btn_box_img {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  padding-left: 30px;
}

.footer-tpl02_contact-link_btn_box_img img {
  width: auto;
  height: 24px;
}

a.footer-tpl02_foot_innder_right_btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  color: #5dc1cf;
  background: #fff;
  border-radius: 30px;
  margin-left: auto;
}

a.footer-tpl02_foot_innder_right_btn::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 24px;
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 10px;
  border: 7px solid #5dc1cf;
  transition: .5s;
}

a:hover.footer-tpl02_foot_innder_right_btn::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 26px;
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 8px;
  background: #5dc1cf;
  transition: .5s;
}

.footer-tpl02_foot_innder_right_btn_box {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
}

.footer-tpl02_foot_innder_right_btn_box_img {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  padding-left: 30px;
}

.footer-tpl02_foot_innder_right_btn_box_img img {
  width: auto;
  height: 24px;
}

/* footer-tpl02　ここまで */
/* header-tpl08　ここから */
@media (min-width: 992px) {
  .header-tpl08 {
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    transition: .5s;
    padding: 2.777vw 4.166vw;
    font-size: 1.25vw;
  }

  .header-tpl08.scroll {
    padding: .833vw 4.166vw;
  }

  .header-tpl08_inner {
    display: flex;
    align-items: center;
  }

  .header-tpl08_inner_logo {
    margin-right: auto;
  }

  .header-tpl08_inner_logo img {
    width: auto;
    height: 4.166vw;
  }

  .header-tpl08_inner_nav {
    display: flex;
  }

  .header-tpl08_inner_nav li {
    margin-right: 1.666vw;
  }

  a.header-tpl08_inner_btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    padding: 0 0.833vw 0 2.916vw;
    height: 2.777vw;
    border-radius: 1.388vw;
    background: #5dc1cf;
    color: #fff;
    margin-right: 1.666vw;
  }

  a:hover.header-tpl08_inner_btn {
    color: #fff;
    background: #98d8e0;
  }

  a.header-tpl08_inner_btn::after {
    position: absolute;
    content: "";
    background: url("../img/icon-mail.svg") no-repeat;
    background-size: cover;
    width: 1.666vw;
    height: 1.666vw;
    top: 50%;
    left: .833vw;
    transform: translateY(-50%);
  }

  a.header-tpl08_inner_tel {
    position: relative;
    font-size: 1.666vw;
    font-weight: bold;
    padding-left: 1.875vw;
  }

  a.header-tpl08_inner_tel::after {
    position: absolute;
    content: "";
    background: url("../img/icon-tel-outline.svg") no-repeat;
    width: 1.666vw;
    height: 1.944vw;
    background-size: cover;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
  }
}
@media (max-width: 991px) {
  .header-tpl08 {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 3;
  }

  .header-tpl08_inner {
    display: flex;
    align-items: center;
    width: 100%;
    height: 80px;
    background: #fff;
    padding: 0 12px;
  }

  .header-tpl08_inner_logo img {
    width: auto;
    height: 40px;
  }
}
@media (max-width: 320px) {
  .header-tpl08_inner_logo img {
    width: auto;
    height: 30px;
  }
}
/* メイン画像ここから */
.header-tpl08_mv_slide_image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  animation: header-tpl08-slider 24s linear infinite;
}

.header-tpl08_mv_slide_image:nth-child(1) {
  background-image: url("../img/top-mv01.jpg");
  animation-delay: -2s;
}

.header-tpl08_mv_slide_image:nth-child(2) {
  background-image: url("../img/top-mv02.jpg");
  animation-delay: 6s;
}

.header-tpl08_mv_slide_image:nth-child(3) {
  background-image: url("../img/top-mv03.jpg");
  animation-delay: 14s;
}

.header-tpl08_mv_slide_image:nth-child(4) {
  background-image: url("../img/top-mv04.jpg");
  animation-delay: 22s;
}

.header-tpl08_mv_slide_image:nth-child(5) {
  background-image: url("../img/top-mv05.jpg");
  animation-delay: 30s;
}

@media screen and (max-width: 991px) and (min-width: 768px) {
  .header-tpl08_mv_ttl {
    padding-left: 24px;
  }
}
@media (max-width: 991px) {
  .header-tpl08_mv_slide {
    position: relative;
    width: 100%;
    height: calc( 100vh - 80px );
    overflow: hidden;
    margin-top: 80px;
  }

  .header-tpl08_mv_slide_image_ttl {
    display: flex;
    align-items: center;
    height: calc( 100vh - 80px );
    padding-left: 12px;
  }
}
@media (min-width: 992px) {
  .header-tpl08_mv_slide {
    position: relative;
    width: 100%;
    height: calc( 100vh - 9.72vw );
    overflow: hidden;
    margin-top: 9.72vw;
  }

  .header-tpl08_mv_slide_image_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc( 100vh - 9.72vw );
    width: 50vw;
  }
}
@keyframes header-tpl08-slider {
  0% {
    opacity: 0;
  }
  4.16% {
    opacity: 1;
  }
  33.33% {
    opacity: 1;
  }
  41.66% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@media (max-width: 991px) {
  .header-tpl08_mv {
    width: auto;
    height: calc( 100vh - 80px );
    background: url("../img/top-mv.jpg") no-repeat center center;
    background-size: cover;
    margin-top: 80px;
  }

  .header-tpl08_mv_ttl {
    display: flex;
    align-items: center;
    height: calc( 100vh - 80px );
    padding-left: 12px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .header-tpl08_mv_ttl {
    padding-left: 24px;
  }
}
@media (min-width: 992px) {
  .header-tpl08_mv {
    width: auto;
    height: calc( 100vh - 9.72vw );
    background: url("../img/top-mv.jpg") no-repeat center center;
    background-size: cover;
    margin-top: 9.72vw;
  }

  .header-tpl08_mv_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc( 100vh - 9.72vw );
    width: 50vw;
  }
}
/* header-tpl08　ここまで */
/* form--Btn　ここから */
@media (max-width: 991px) {
  a.form--Btn,
  .form--Btn_box {
    width: 260px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media (min-width: 992px) {
  a.form--Btn,
  .form--Btn_box {
    width: 20vw;
  }
}
a.form--Btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  color: #fff;
  background: #5dc1cf;
  border-radius: 30px;
}

a:hover.form--Btn {
  color: #fff;
}

a.form--Btn::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1.5em;
  margin: auto;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: all .4s ease-out;
}

a:hover.form--Btn::before {
  right: 1em;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.form--Btn_box {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
}

.form--Btn_box_img {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
}

.form--Btn_box_img img {
  width: auto;
  height: 24px;
}

/* form--Btn　ここまで */
/* parts_thumbnail_slick カテゴリー設定　ここから */
.card-Thumbnail li {
  transition: .2s;
  padding: 0 1.25vw;
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  .card-Thumbnail li {
    padding: 0 6px;
  }
}
.card-Thumbnail li a:hover {
  display: block;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.1) !important;
  transition: .2s;
}

.card--bg {
  border: 1px solid #e9edf0;
  border-radius: 6px;
  overflow: hidden;
}

.card--body {
  padding: 1rem;
}

.card--body_title {
  display: block;
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.card-bottom {
  display: flex;
  align-items: center;
  column-gap: 12px;
}

.card-bottom_category {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: .8em;
  height: 1.5em;
  border: 1px solid #5dc1cf;
  color: #5dc1cf;
  border-radius: .75em;
  padding: 0 .75em;
}

@media (max-width: 320px) {
  .card-bottom {
    display: block;
    column-gap: normal;
  }

  .card-bottom_category {
    display: inline-flex;
  }
}
@media (max-width: 991px) {
  .card--body_title {
    font-size: 1rem;
    margin-bottom: 6px;
  }
}
/* parts_thumbnail_slick カテゴリー設定　ここまで */
/* mv2nd-tpl05　ここから */
@media (max-width: 767px) {
  .mv2nd-tpl05,
  .mv2nd-tpl05_inner {
    height: 144px;
  }

  .mv2nd-tpl05_inner h1 {
    right: 12px;
    top: 12px;
    font-size: 10px;
  }

  .mv2nd-tpl05_inner_title {
    font-size: 1.6rem;
  }

  .mv2nd-tpl05_inner_title {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .mv2nd-tpl05,
  .mv2nd-tpl05_inner {
    height: 224px;
  }

  .mv2nd-tpl05_inner h1 {
    right: 24px;
    top: 24px;
    font-size: 12px;
  }

  .mv2nd-tpl05_inner_title {
    font-size: 2.05rem;
  }
}
@media (min-width: 992px) {
  .mv2nd-tpl05,
  .mv2nd-tpl05_inner {
    height: 304px;
  }

  .mv2nd-tpl05_inner h1 {
    right: 30px;
    top: 30px;
    font-size: 12px;
  }

  .mv2nd-tpl05_inner_title {
    font-size: 2.777vw;
  }
}
.mv2nd-tpl05 {
  position: relative;
  width: 100%;
  background: #fff;
}

.mv2nd-tpl05_inner {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
}

.mv2nd-tpl05_inner h1 {
  position: absolute;
}

.mv2nd-tpl05-text-loop-wrap {
  overflow: hidden;
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}

.mv2nd-tpl05-text-loop {
  display: flex;
  width: 100%;
  height: auto;
  overflow: hidden;
  opacity: .05;
}

.mv2nd-tpl05-text-loop div {
  flex: 0 0 auto;
  white-space: nowrap;
  line-height: 1em;
  overflow: hidden;
}

.mv2nd-tpl05-text-loop div:nth-child(odd) {
  animation: mv2nd-tpl05-text-loop01-1 200s -100s linear infinite;
}

.mv2nd-tpl05-text-loop div:nth-child(even) {
  animation: mv2nd-tpl05-text-loop01-2 200s linear infinite;
}

@keyframes mv2nd-tpl05-text-loop01-1 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes mv2nd-tpl05-text-loop01-2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
@media (max-width: 767px) {
  .mv2nd-tpl05-text-loop div {
    font-size: 9rem;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .mv2nd-tpl05-text-loop div {
    font-size: 14rem;
  }
}
@media (min-width: 992px) {
  .mv2nd-tpl05-text-loop div {
    font-size: 19rem;
  }
}
/* mv2nd-tpl05　ここまで */
/* mv2nd-tpl06　ここから */
@media (max-width: 767px) {
  .mv2nd-tpl06,
  .mv2nd-tpl06_inner {
    height: 120px;
    border-radius: 0 0 30px 30px;
  }

  .mv2nd-tpl06_inner h1 {
    right: 12px;
    top: 12px;
    font-size: 10px;
  }

  .mv2nd-tpl06_inner_title {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .mv2nd-tpl06,
  .mv2nd-tpl06_inner {
    height: 180px;
    border-radius: 0 0 45px 45px;
  }

  .mv2nd-tpl06_inner h1 {
    right: 24px;
    top: 24zpx;
    font-size: 12px;
  }

  .mv2nd-tpl06_inner_title {
    font-size: 2.05rem;
  }
}
@media (min-width: 992px) {
  .mv2nd-tpl06,
  .mv2nd-tpl06_inner {
    height: 240px;
    border-radius: 0 0 60px 60px;
  }

  .mv2nd-tpl06_inner h1 {
    right: 30px;
    top: 30px;
    font-size: 12px;
  }

  .mv2nd-tpl06_inner_title {
    font-size: 2.777vw;
  }
}
.mv2nd-tpl06-bg {
  position: relative;
  width: 100%;
  height: 360px;
}

.mv2nd-tpl06 {
  width: 100%;
}

.mv2nd-tpl06_inner {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.mv2nd-tpl06_inner h1 {
  position: absolute;
  color: #fff;
}

.mv2nd-tpl06_inner_title {
  color: #fff;
}

.mv2nd-tpl06 {
  background: linear-gradient(270deg, #48c6ef, #6f86d6);
  background-size: 400% 400%;
  -webkit-animation: AnimationName 30s ease infinite;
  -moz-animation: AnimationName 30s ease infinite;
  animation: AnimationName 30s ease infinite;
}

@-webkit-keyframes AnimationName {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@-moz-keyframes AnimationName {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes AnimationName {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.mv2nd-tpl06-layer {
  position: relative;
  width: 100%;
  height: auto;
  background: #fff;
  z-index: 1;
}

/* mv2nd-tpl06　ここまで */
/* dive-news　ここから */
.dive-news {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
}

.dive-news li {
  margin-bottom: 1em;
}

.dive-news li:last-child {
  margin-bottom: 0;
}

.dive-news li a {
  display: block;
  width: 100%;
  padding: 1.2em;
  background-image: linear-gradient(120deg, #fdfbfb 0%, #ebedee 100%);
  color: #333;
  border-radius: 1em;
}

.dive-news_date {
  display: block;
  font-size: .75em;
  color: #cbd3da;
  font-weight: bold;
  margin-bottom: 12px;
}

.dive-news_title {
  display: block;
  width: 100%;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  font-weight: bold;
}

.dive-news li a:hover .dive-news_title {
  color: #5dc1cf;
}

.dive-news_category {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 2em;
  border: 1px solid #5dc1cf;
  color: #5dc1cf;
  font-size: .75rem;
  border-radius: 1em;
  padding: 0 1em;
  margin-top: 12px;
}

@media (max-width: 991px) {
  .dive-news_date {
    margin-bottom: 6px;
  }

  .dive-news_category {
    margin-top: 6px;
  }
}
@media (min-width: 992px) {
  .dive-news {
    width: 900px;
    margin-right: auto;
    margin-left: auto;
  }
}
/* dive-news　ここまで */
/* hero-news　ここから */
.hero-news {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
}

.hero-news li {
  border-bottom: 1px solid #333;
}
.hero-news li:first-child {
  border-top: 1px solid #333;
}

a.hero-news_section {
  display: flex;
  flex-wrap: wrap;
  background: #fff;
  transition: 1s;
  padding: 2em 1em;
}

a:hover.hero-news_section {
  background: #e9edf0;
  transition: 1s;
}

.hero-news_section_category span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 2em;
  border-radius: 1em;
  padding: 0  1em;
  border: 1px solid #333;
}

.hero-news_section_title {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

@media (max-width: 991px) {
  .hero-news_section_category {
    width: 50%;
  }

  .hero-news_section_category span {
    font-size: .75rem;
  }

  .hero-news_section_date {
    width: 50%;
    text-align: right;
    margin-left: auto;
    font-size: .75rem;
  }

  .hero-news_section_title {
    display: block;
    width: 100%;
    margin-top: 1em;
  }
}
@media (min-width: 992px) {
  .hero-news {
    width: 900px;
  }

  .hero-news_section_category {
    display: block;
    width: 20%;
    order: 1;
  }

  .hero-news_section_category span {
    font-size: .875rem;
  }

  .hero-news_section_date {
    display: block;
    width: 20%;
    text-align: right;
    font-size: .875rem;
    order: 3;
  }

  .hero-news_section_title {
    display: block;
    width: 60%;
    order: 2;
  }
}
/* hero-news　ここまで */
/* r-banner-wrap　ここから */
.r-banner-wrap_inner_subtitle {
  text-transform: uppercase;
  font-size: .75rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.r-banner-wrap_inner_title {
  margin-bottom: 1rem;
}

@media (max-width: 991px) {
  .r-banner-wrap {
    display: block;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    background: #fff;
    box-shadow: 0 0 18px #ccc;
    border-radius: 18px;
    overflow: hidden;
  }

  .r-banner-wrap_img {
    width: 100%;
  }

  .r-banner-wrap_inner {
    width: 100%;
    padding: 1rem;
  }

  .r-banner-wrap_inner_btn {
    text-align: center;
    margin-top: 1rem;
  }
}
@media (min-width: 992px) {
  .r-banner-wrap {
    display: flex;
    align-items: center;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    background: #fff;
    box-shadow: 0 0 18px #ccc;
    border-radius: 18px;
    overflow: hidden;
  }

  .r-banner-wrap_img {
    width: 50%;
  }

  .r-banner-wrap_img img {
    width: 100%;
    height: auto;
  }

  .r-banner-wrap_inner {
    width: 50%;
    padding: 0 4.2rem;
  }

  .r-banner-wrap_inner_btn {
    margin-top: 2rem;
  }
}
/* r-banner-wrap　ここまで */
/* pagetopボタン　ここから */
@media (min-width: 768px) {
  .pageTop-btn {
    position: fixed;
    display: block;
    right: 30px;
    bottom: 30px !important;
    z-index: 2;
    transition: 1s;
    opacity: 0;
    visibility: hidden;
  }

  .pageTop-btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90px;
    height: 90px;
    background: #5dc1cf;
    color: #fff;
    text-align: center;
    line-height: 1em;
    border-radius: 45px;
  }

  .pageTop-btn a:hover {
    color: #fff;
  }

  .pageTop-btn-active {
    opacity: 1;
    visibility: visible;
  }
}
@media (max-width: 767px) {
  .pageTop-btn {
    position: fixed;
    display: block;
    right: 12px;
    bottom: 12px !important;
    z-index: 100;
    transition: 1s;
    opacity: 0;
    visibility: visible;
  }

  .pageTop-btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    background: #5dc1cf;
    color: #fff;
    text-align: center;
    line-height: 1em;
    border-radius: 30px;
  }

  .pageTop-btn a:hover {
    color: #fff;
  }

  .pageTop-btn-active {
    opacity: 1;
    visibility: visible;
  }
}
/* pagetopボタン　ここまで */
/* policy-bg　ここから */
@media (max-width: 991px) {
  .policy-bg {
    width: 100%;
    padding: 24px;
  }
}
@media (min-width: 992px) {
  .policy-bg {
    width: 70vw;
    padding: 36px;
  }
}
.policy-bg {
  height: 30vh;
  margin-right: auto;
  margin-left: auto;
  overflow-y: scroll;
  border: 1px solid #cbd3da;
  border-radius: 6px;
}

/* policy-bg　ここまで */
/*EV カルーセル　ここから*/
.ev-thumbnail li {
  transition: .2s;
  padding: 0 1.25vw;
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  .ev-thumbnail li {
    padding: 0 6px;
  }
}
.ev-thumbnail li a:hover {
  display: block;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.1) !important;
  transition: .2s;
}

.ev-thumbnail-img img {
  transform: scale(0.8);
  opacity: .6;
  transition: transform .3s;
}

.ev-thumbnail-img.slick-center img {
  opacity: 1;
  transform: scale(1);
}

/*EV カルーセル　ここまで*/
/* header-tpl09　ここから */
@media (max-width: 991px) {
  .header-tpl09 {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    padding: 0;
    background: #fff;
    z-index: 1;
  }

  .header-tpl09_inner {
    display: flex;
    align-items: center;
    height: 80px;
    padding-left: 10px;
  }

  .header-tpl09_inner_logo img {
    width: auto;
    height: 50px;
  }

  .header-tpl09_inner_navi {
    display: none;
  }

  .header-tpl09_mv_wrap {
    padding: 0 0 6.4vw 0;
  }

  .header-tpl09_mv {
    position: relative;
    width: 100%;
    height: calc( 99vh - 104px );
    background: url("../img/top-mv04.jpg") no-repeat center center;
    background-size: cover;
  }

  .header-tpl09_mv_inner {
    position: absolute;
    width: 70%;
    height: auto;
    bottom: 0;
    left: 0;
    padding: 6.4vw;
    border-radius: 0 40px 0 0;
    background: #fff;
  }

  .header-tpl09_mv_inner::before {
    display: block;
    content: "";
    position: absolute;
    top: -40px;
    left: 0;
    width: 40px;
    height: 40px;
    background: url("../img/radius80-l.svg") no-repeat center;
    background-size: cover;
  }

  .header-tpl09_mv_inner::after {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
    right: -40px;
    width: 40px;
    height: 40px;
    background: url("../img/radius80-l.svg") no-repeat center;
    background-size: cover;
  }

  .header-tpl09_mv_inner_title {
    font-size: 5.6vw;
    font-weight: bold;
  }
}
@media (max-width: 320px) {
  .header-tpl09_inner_logo img {
    width: auto;
    height: 40px;
  }
}
@media (min-width: 992px) {
  .header-tpl09 {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    padding: 0 5.55vw;
    background: #fff;
    z-index: 1;
  }

  .header-tpl09_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.694vw 0;
  }

  .header-tpl09_inner_logo img {
    width: auto;
    height: 4.166vw;
  }

  .header-tpl09_inner_navi {
    display: flex;
    align-items: center;
    font-size: 1.25vw;
  }

  .header-tpl09_inner_navi li:not(:last-child) {
    margin-right: 20px;
  }

  .header-tpl09_inner_navi li > a {
    font-weight: bold;
  }

  .header-tpl09_inner_navi li > a:hover {
    color: #5dc1cf;
  }

  a.header-tpl09_inner_btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 0;
    height: 2vw;
    border-radius: 1vw;
    background: #5dc1cf;
    color: #fff;
    margin-bottom: 0.416vw;
  }

  a.header-tpl09_inner_btn img {
    width: auto;
    height: 1.458vw;
    padding-right: 0.416vw;
  }

  a:hover.header-tpl09_inner_btn {
    color: #fff;
    background: #98d8e0;
  }

  .header-tpl09_inner_navi_tel {
    display: flex;
    align-items: center;
    font-size: 1.666vw;
    font-weight: bold;
  }

  .header-tpl09_inner_navi_tel img {
    width: auto;
    height: 1.458vw;
  }

  .header-tpl09_mv_wrap {
    padding: 0 0 4.166vw;
    margin-top: 5.555vw;
  }

  .header-tpl09_mv {
    position: relative;
    width: 100%;
    width: calc( 100vw - 8.33vw );
    height: calc( 100vh - 9.722vw );
    margin-right: auto;
    margin-left: auto;
    background: url("../img/top-mv04.jpg") no-repeat center center;
    background-size: cover;
    border-radius: 0 0 5.55vw 5.55vw;
  }

  .header-tpl09_mv_inner {
    position: absolute;
    width: 50%;
    height: auto;
    bottom: 0;
    left: 0;
    padding: 5.55vw 5.55vw 4.166vw;
    border-radius: 0 5.55vw 0 0;
    background: #fff;
  }

  .header-tpl09_mv_inner::before {
    display: block;
    content: "";
    position: absolute;
    top: -5.555vw;
    left: 0;
    width: 5.555vw;
    height: 5.555vw;
    background: url("../img/radius80-l.svg") no-repeat center;
    background-size: contain;
  }

  .header-tpl09_mv_inner::after {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
    right: -5.555vw;
    width: 5.555vw;
    height: 5.555vw;
    background: url("../img/radius80-l.svg") no-repeat center;
    background-size: contain;
  }

  .header-tpl09_mv_inner_title {
    font-size: 3.33vw;
    font-weight: bold;
  }
}
/* header-tpl09　ここまで */
/* header高さ　関数　ここから */
@media (max-width: 991px) {
  :root {
    --header-height: 60px;
  }

  .header-sample {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: var(--header-height);
    background: #000;
    color: #fff;
  }

  #linklink {
    scroll-margin-top: 60px;
  }
}
@media (min-width: 992px) {
  :root {
    --header-height: 80px;
  }

  .header-sample {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: var(--header-height);
    background: #000;
    color: #fff;
  }

  #linklink {
    scroll-margin-top: 80px;
  }
}
/* header高さ　関数　ここまで */
/* 画像背景の台形シェイプ　ここから */
.trapezoid-background {
  position: relative;
}
.trapezoid-background::before {
  content: "";
  position: absolute;
  width: 90%;
  height: 100%;
  top: 0;
  right: 0;
  clip-path: polygon(30% 0%, 100% 0%, 100% 100%, 0% 100%);
  background-color: #e9edf0;
  z-index: -1;
}

.trapezoid-list ul:nth-child(even) li.trapezoid-background {
  position: relative;
}
.trapezoid-list ul:nth-child(even) li.trapezoid-background::before {
  content: "";
  position: absolute;
  width: 90%;
  height: 100%;
  top: 0;
  left: 0;
  clip-path: polygon(0% 0%, 70% 0, 100% 100%, 0% 100%);
  background-color: #e9edf0;
  z-index: -1;
}

.trapezoid-list ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.trapezoid-list ul:not(:last-child) {
  margin-bottom: 72px;
}

.trapezoid-list ul li {
  list-style: none;
  width: 46%;
}

.trapezoid-list ul li img {
  width: 86%;
  margin: 16% auto 16% 0;
}

.trapezoid-list ul:nth-child(even) li img {
  width: 86%;
  margin: 16% 0 16% auto;
}

.trapezoid-title {
  line-height: 1.0;
  margin-bottom: 40px;
}
.trapezoid-title::after {
  content: "";
  display: inline-block;
  width: 60px;
  height: 4px;
  background-color: #5dc1cf;
}
.trapezoid-title .trapezoid-title-en {
  display: block;
  margin-bottom: 6px;
  font-size: 3.2rem;
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  text-transform: uppercase;
}
.trapezoid-title .trapezoid-title-ja {
  margin-bottom: 16px;
  font-size: 1.1rem;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  .trapezoid-list ul {
    flex-direction: column;
  }

  .trapezoid-list ul:not(:last-child) {
    margin-bottom: 40px;
  }

  .trapezoid-list ul li {
    width: 100%;
  }

  .trapezoid-list ul li:not(:last-child) {
    margin-bottom: 40px;
  }

  .trapezoid-list ul li img {
    margin: 16% auto;
  }

  .trapezoid-list ul:nth-child(even) li img {
    margin: 16% auto;
  }
}
@media screen and (min-width: 769px) {
  .trapezoid-list ul:nth-child(odd) li:first-child {
    order: 1;
  }

  .trapezoid-list ul:nth-child(odd) li:last-child {
    order: 0;
  }
}
/* 画像背景の台形シェイプ　ここまで */
/* 連番表示リスト　ここから */
.counter-list {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 100%;
}

li.counter-item {
  list-style: none;
  flex: 0 1 30%;
}

.counter-item {
  counter-increment: serial-number;
  position: relative;
  padding-top: 70px;
}

.counter-item::before {
  content: counter(serial-number,decimal-leading-zero);
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  font-size: 8.6rem;
  font-weight: bold;
  line-height: 1.0;
  color: #e9edf0;
  z-index: -1;
}

.counter-item:nth-child(1)::after,
.counter-item:nth-child(2)::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  top: 0;
  left: 108.33333%;
  background-color: #cbd3da;
}

@media screen and (max-width: 768px) {
  .counter-list {
    flex-direction: column;
  }

  .counter-item:not(:last-child) {
    margin-bottom: 40px;
  }

  .counter-item:nth-child(1)::after,
  .counter-item:nth-child(2)::after {
    width: 100%;
    height: 1px;
    top: calc(100% + 20px);
    left: 0;
  }
}
.counter-item_heading {
  margin-bottom: 24px;
}

.counter-item_heading .en {
  display: block;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.0;
  padding-bottom: 4px;
}

.counter-item_heading .ja {
  font-size: 1.2rem;
  line-height: 1.0;
  letter-spacing: 0.1em;
}

.counter-item_img {
  margin-bottom: 24px;
}

.counter-item_ttl {
  font-size: 1.3rem;
  line-height: 1.3;
  font-weight: bold;
  margin-bottom: 12px;
}

/* 連番表示リスト　ここまで */
/* よくある質問　ここから */
/* よくある質問　ここまで */
/* instagramバナー　ここから */
@media (min-width: 992px) {
  .instagram-btn-bg {
    display: flex;
    justify-content: center;
  }

  .instagram-btn-bg li {
    width: 70%;
  }

  .instagram-btn {
    display: flex;
    justify-content: center;
    width: 100%;
    height: 140px;
    background: linear-gradient(to right, rgba(247, 207, 0, 0.7), rgba(246, 37, 2, 0.7) 45%, rgba(182, 47, 82, 0.7) 75%, rgba(113, 58, 166, 0.7));
    border-radius: 70px;
    color: #fff;
  }

  a:hover.instagram-btn {
    color: #fff;
    opacity: .7;
  }

  .instagram-btn-inner {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .instagram-btn-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #fff;
    margin-right: 10px;
  }

  .instagram-btn-icon img {
    width: 36px;
    height: 36px;
  }

  .instagram-btn-inner-text {
    line-height: 1em;
  }

  .instagram-btn-inner-title {
    font-size: 3rem;
    line-height: 1em;
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
  }
}
@media (max-width: 991px) {
  .instagram-btn-bg {
    display: flex;
    justify-content: center;
  }

  .instagram-btn-bg li {
    width: 100%;
  }

  .instagram-btn {
    display: flex;
    justify-content: center;
    width: 100%;
    height: 90px;
    background: linear-gradient(to right, rgba(247, 207, 0, 0.7), rgba(246, 37, 2, 0.7) 45%, rgba(182, 47, 82, 0.7) 75%, rgba(113, 58, 166, 0.7));
    border-radius: 45px;
    color: #fff;
  }

  a:hover.instagram-btn {
    color: #fff;
    opacity: .7;
  }

  .instagram-btn-inner {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .instagram-btn-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #fff;
    margin-right: 7px;
  }

  .instagram-btn-icon img {
    width: 24px;
    height: 24px;
  }

  .instagram-btn-inner-text {
    font-size: .75rem;
    line-height: 1em;
  }

  .instagram-btn-inner-title {
    font-size: 2rem;
    line-height: 1em;
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
  }
}
/* instagramバナー　ここまで */
/* kwi-box ここから */
@media (min-width: 992px) {
  .kwi-box {
    display: flex;
    align-items: center;
  }

  .kwi-box_img {
    width: 40vw;
    height: auto;
    border-radius: 0 60px 60px 0;
    overflow: hidden;
  }

  .kwi-box_contents {
    width: 40vw;
    margin-left: 10vw;
  }

  .kwi-box:nth-child(even) .kwi-box_img {
    width: 40vw;
    height: auto;
    border-radius: 60px 0 0 60px;
    overflow: hidden;
    order: 1;
  }

  .kwi-box:nth-child(even) .kwi-box_contents {
    width: 40vw;
    margin-right: 10vw;
  }
}
@media (max-width: 991px) {
  .kwi-box {
    display: flex;
    flex-direction: column;
    margin-bottom: 48px;
  }

  .kwi-box:last-child {
    margin-bottom: 0;
  }

  .kwi-box_img {
    width: 90vw;
    height: auto;
    border-radius: 0 48px 48px 0;
    overflow: hidden;
    margin-bottom: 24px;
  }

  .kwi-box_contents {
    padding: 0 15px;
  }

  .kwi-box:nth-child(even) .kwi-box_img {
    width: 90vw;
    height: auto;
    border-radius: 48px 0 0 48px;
    overflow: hidden;
    margin-left: auto;
    margin-bottom: 24px;
  }
}
/* kwi-box ここまで */
/* header-tpl10 ここから */
@media (min-width: 992px) {
  .header-tpl10 {
    width: 100%;
    height: 120px;
    position: fixed;
    top: 0;
    left: 0;
    padding: 10px;
    z-index: 1;
  }

  .header-tpl10 a {
    font-weight: bold;
  }

  .header-tpl10_inner {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100px;
  }

  .header-tpl10 a:hover {
    color: #5dc1cf;
  }

  .header-tpl10_inner_right {
    display: flex;
    align-items: center;
    height: 80px;
    padding: 10px 1.25vw;
    margin-left: auto;
    background: #fff;
    border-radius: 1.25vw;
  }

  .header-tpl10_inner_navi {
    display: flex;
    align-items: center;
  }

  .header-tpl10_inner_navi li {
    margin-right: 1.25vw;
  }

  .header-tpl10_inner_navi li a {
    font-size: clamp(14px, 1.25vw, 20px);
  }

  .header-tpl10_inner_navi_tel {
    display: flex;
    align-items: center;
    font-size: clamp(18px, 1.4583vw, 24px);
  }

  .header-tpl10_inner_navi_tel img {
    display: block;
    width: auto;
    height: 20px;
    margin-right: 6px;
  }

  .header-tpl010_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 140px;
    right: calc( 10px + 1.25vw );
    width: 90px;
    height: 90px;
    border-radius: 45px;
    background: #5dc1cf;
    color: #fff;
  }

  a:hover.header-tpl010_btn {
    background: #98d8e0;
  }

  .header-tpl010_btn img {
    display: block;
    width: auto;
    height: 24px;
    margin: 0 auto;
  }

  .header-tpl010_btn_title {
    font-size: 12px;
    line-height: 1em;
  }

  a.header-tpl010_btn {
    color: #fff;
    font-weight: normal;
  }

  a:hover.header-tpl010_btn {
    color: #fff;
  }
}
@media (max-width: 991px) {
  .header-tpl10 {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #e9edf0;
    padding: 12px;
  }

  .header-tpl10_inner {
    display: flex;
    align-items: center;
    height: 56px;
  }

  .header-tpl10_inner_logo img {
    width: auto;
    height: 36px;
  }

  .header-tpl10_inner_right {
    display: none;
  }

  .header-tpl010_btn {
    display: none;
  }
}
@media (max-width: 320px) {
  .header-tpl10_inner_logo img {
    width: auto;
    height: 22px;
  }
}
/* header-tpl10 メイン画像ここから */
.header-tpl10_mv_slide_image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  animation: header-tpl10-slider 24s linear infinite;
}

.header-tpl10_mv_slide_image:nth-child(1) {
  background-image: url("../img/top-mv01.jpg");
  animation-delay: -2s;
}

.header-tpl10_mv_slide_image:nth-child(2) {
  background-image: url("../img/top-mv02.jpg");
  animation-delay: 6s;
}

.header-tpl10_mv_slide_image:nth-child(3) {
  background-image: url("../img/top-mv03.jpg");
  animation-delay: 14s;
}

.header-tpl10_mv_slide_image:nth-child(4) {
  background-image: url("../img/top-mv04.jpg");
  animation-delay: 22s;
}

.header-tpl10_mv_slide_image:nth-child(5) {
  background-image: url("../img/top-mv05.jpg");
  animation-delay: 30s;
}

@media screen and (max-width: 991px) and (min-width: 768px) {
  .header-tpl10_mv_ttl {
    padding-left: 24px;
  }
}
@media (max-width: 991px) {
  .header-tpl10_mv_slide {
    position: relative;
    width: 100%;
    height: calc( 100svh - 80px );
    overflow: hidden;
    margin-top: 80px;
  }

  .header-tpl10_mv_slide_image_ttl {
    display: flex;
    align-items: center;
    height: calc( 100svh - 80px );
    padding-left: 12px;
    color: #fff;
  }
}
@media (min-width: 992px) {
  .header-tpl10_mv_slide {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
  }

  .header-tpl10_mv_slide_image_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    width: 50vw;
    color: #fff;
  }
}
@keyframes header-tpl10-slider {
  0% {
    opacity: 0;
  }
  4.16% {
    opacity: 1;
  }
  33.33% {
    opacity: 1;
  }
  41.66% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@media (min-width: 992px) {
  .header-tpl10_mv {
    width: auto;
    height: 100vh;
    background: url("../img/top-mv.jpg") no-repeat center center;
    background-size: cover;
  }

  .header-tpl10_mv_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    width: 50vw;
    color: #fff;
  }

  .header-tpl10_mv_ttl_h2 {
    font-size: clamp(36px, 3.3333vw, 54px);
  }

  .header-tpl10_mv_ttl_p {
    font-size: clamp(14px, 1.25vw, 21px);
  }
}
@media (max-width: 991px) {
  .header-tpl10_mv {
    width: auto;
    height: calc( 100svh - 80px );
    background: url("../img/top-mv.jpg") no-repeat center center;
    background-size: cover;
    margin-top: 80px;
  }

  .header-tpl10_mv_ttl {
    display: flex;
    align-items: center;
    height: calc( 100svh - 80px );
    padding-left: 12px;
    color: #fff;
  }

  .header-tpl10_mv_ttl_h2 {
    font-size: clamp(18px, 6.4vw, 30px);
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .header-tpl10_mv_ttl {
    padding-left: 24px;
  }
}
/* header-tpl10 メイン画像ここまで */
/* header-tpl10 ここまで */
/* サムネイルクリックで切り替わるギャラリー　ここから */
.case--wrap {
  width: 960px;
  margin-right: auto;
  margin-left: auto;
}

.mainImg {
  display: flex;
  justify-content: center;
  width: 80%;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 10px;
}

.mainImg img {
  width: 100%;
  height: auto;
}

.subImg {
  display: flex;
  justify-content: center;
  width: 60%;
  margin-right: auto;
  margin-left: auto;
}

.subImg li {
  width: calc( ( 100% - 20px ) / 3 );
}

.subImg li:not(:last-child) {
  margin-right: 10px;
}

.subImg li img {
  width: 100%;
  height: auto;
}

.subImg li img:hover {
  cursor: pointer;
}

.case--text {
  width: 100%;
  border: 1px solid #cfcfcf;
}

.case--text li {
  display: block;
  padding: 1em;
}

.case--text li:first-child {
  background: #CC0331;
  color: #fff;
}

@media (max-width: 991px) {
  .case--wrap {
    width: 100%;
  }

  .mainImg {
    width: 100%;
  }

  .subImg {
    width: 100%;
  }
}
/* サムネイルクリックで切り替わるギャラリー　ここまで */
/* カテゴリーリンクボタン　ここから */
.product--btn--bg {
  display: flex;
  justify-content: center;
}

.product--btn:not(:last-child) {
  margin-right: 1em;
}

a.product--btn {
  display: inline-flex;
  padding: 0.5em 1em;
  color: #cc0331;
  border: 2px solid #cc0331;
  border-radius: 2em;
}

a:hover.product--btn {
  background: #cc0331;
  color: #fff;
}

/* カテゴリーリンクボタン　ここまで */
/* 導入実績アコーディオン　ここから */
.achievement-wrap {
  width: 100%;
  text-align: center;
}

.achievement-toggle {
  display: none;
}

.achievement-Label {
  position: relative;
  height: auto;
  font-weight: bold;
}

.achievement-Label::before {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #5dc1cf;
  border-right: 2px solid #5dc1cf;
  -webkit-transform: rotate(45deg);
  position: absolute;
  top: calc( 50% - 5px );
  right: -18px;
  transform: rotate(135deg);
}

.achievement-toggle + .achievement-Label + .achievement-content {
  height: 0;
  transition: all .5s;
}

.achievement-Label,
.achievement-content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.5s;
}

.achievement-content {
  position: relative;
  height: 0;
  padding: 0;
  overflow: hidden;
}

.achievement-toggle:checked + .achievement-Label + .achievement-content {
  position: relative;
  height: auto;
  padding: 30px 0 0 0;
  transition: all .5s;
}

.achievement-toggle:checked + .achievement-Label::before {
  transform: rotate(-45deg) !important;
}

/* 導入実績アコーディオン　ここまで */
@media (min-width: 992px) {
  .contact-wrap {
    padding: 50px 0 120px;
  }

  .contact-read {
    text-align: center;
    line-height: 2.14em;
    margin-bottom: 70px;
  }

  .contact-read02 {
    text-align: center;
    line-height: 1em;
    margin-bottom: 40px;
  }

  .contact-section {
    display: flex;
    align-items: center;
    max-width: 1000px;
    height: 300px;
    margin-right: auto;
    margin-left: auto;
    border: 2px solid #e8ecf4;
    border-radius: 5px;
    margin-bottom: 142px;
  }

  .contact-section_phonenumber {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 57%;
  }

  .contact-section_phonenumber::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: 1px;
    height: 150px;
    background: #e8ecf4;
  }

  .contact-section_phonenumber_title {
    font-size: 24px;
    line-height: 1em;
    text-align: center;
    margin-bottom: 20px;
  }

  .contact-section_phonenumber_tel {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 16px;
  }

  .contact-section_phonenumber_tel_icon {
    margin-right: 16px;
  }

  .contact-section_phonenumber_tel_icon img {
    width: 44px;
    height: 44px;
  }

  .contact-section_phonenumber_tel_number {
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-size: 50px;
    line-height: 1em;
  }

  .contact-section_phonenumber_text {
    text-align: center;
  }

  .contact-section_line {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 53%;
  }

  a.contact-section_line_btn_line {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 300px;
    height: 65px;
    color: #fff;
    background: #127f42;
    border-radius: 3px;
    padding-right: 50px;
    margin-bottom: 10px;
  }

  a.contact-section_line_btn_line::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 30px;
    background: url("../img/icon_arrow_right_line_white.svg") no-repeat center;
    width: 20px;
    height: 15px;
    background-size: cover;
    transition: .5s;
  }

  a:hover.contact-section_line_btn_line::after {
    right: 23px;
    transition: .5s;
  }

  a:hover.contact-section_line_btn_line {
    color: #fff;
  }

  .contact-section_line_btn_icon_line {
    margin-right: 17px;
  }

  .contact-section_line_btn_icon_line img {
    width: 31px;
    height: auto;
  }

  .contact-section_line_btn_text {
    font-size: 18px;
    line-height: 1em;
    text-align: center;
  }

  .form-privacy-check {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 60px;
  }
}
@media (max-width: 991px) {
  .contact-wrap {
    padding: 48px 0;
  }

  .contact-read {
    text-align: center;
    line-height: 2.14em;
    margin-bottom: 24px;
  }

  .contact-read02 {
    margin-bottom: 24px;
  }

  .contact-section {
    display: block;
    width: 100%;
    height: auto;
    border: 2px solid #e8ecf4;
    border-radius: 5px;
    margin-bottom: 48px;
  }

  .contact-section_phonenumber {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 36px 0;
  }

  .contact-section_phonenumber::after {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50%;
    height: 1px;
    background: #e8ecf4;
  }

  .contact-section_phonenumber_title {
    font-size: 18px;
    line-height: 1em;
    text-align: center;
    margin-bottom: 18px;
  }

  .contact-section_phonenumber_tel {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 12px;
  }

  .contact-section_phonenumber_tel_icon {
    margin-right: 6px;
  }

  .contact-section_phonenumber_tel_icon img {
    width: 30px;
    height: 30px;
  }

  .contact-section_phonenumber_tel_number {
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-size: 30px;
    line-height: 1em;
  }

  .contact-section_phonenumber_text {
    text-align: center;
    font-size: 12px;
  }

  .contact-section_line {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 36px 0;
  }

  a.contact-section_line_btn_line {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 280px;
    height: 65px;
    color: #fff;
    background: #127f42;
    border-radius: 3px;
    padding-right: 50px;
    margin-bottom: 10px;
  }

  a.contact-section_line_btn_line::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 30px;
    background: url("../img/icon_arrow_right_line_white.svg") no-repeat center;
    width: 20px;
    height: 15px;
    background-size: cover;
    transition: .5s;
  }

  a:hover.contact-section_line_btn_line::after {
    right: 23px;
    transition: .5s;
  }

  .contact-section_line_btn_icon_line {
    margin-right: 17px;
  }

  .contact-section_line_btn_icon_line img {
    width: 31px;
    height: auto;
  }

  .contact-section_line_btn_text {
    font-size: 18px;
    line-height: 1em;
    text-align: center;
  }

  .form-privacy-check {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 60px;
  }
}
.contact-read02 a {
  color: #5dc1cf;
  text-decoration: underline;
}

.contact-read02 a:hover {
  text-decoration: none;
}

/*　top-title-en　ここから　*/
@media (min-width: 992px) {
  .top-title-en {
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-size: 69px;
    line-height: 1em;
    color: #5dc1cf;
    margin-bottom: 30px;
  }

  .top-title-en_sub {
    margin-bottom: 45px;
  }

  .sec-title-en_sub {
    margin-bottom: 100px;
  }
}
@media (max-width: 991px) {
  .top-title-en {
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-size: 36px;
    line-height: 1em;
    color: #5dc1cf;
    margin-bottom: 15px;
  }

  .top-title-en_sub {
    margin-bottom: 30px;
  }

  .sec-title-en_sub {
    margin-bottom: 50px;
  }
}
.sec-title-en_sub {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.sec-title-en_sub:before,
.sec-title-en_sub:after {
  content: '';
  width: 20px;
  height: 1px;
  background-color: #5dc1cf;
}

.sec-title-en_sub:before {
  margin-right: 20px;
}

.sec-title-en_sub:after {
  margin-left: 20px;
}

.title-center {
  text-align: center;
}

/*　top-title-en　ここまで　*/
/* contact-section-wrap ここから */
@media (min-width: 992px) {
  .contact-section-wrap {
    padding: 132px 0;
  }

  .contact-section_tel {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 22px;
  }

  .contact-section_tel_icon {
    margin-right: 20px;
  }

  .contact-section_tel_icon img {
    width: 55px;
    height: 55px;
  }

  .contact-section_tel_number {
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-size: 65px;
    line-height: 1em;
  }

  .contact-section_text {
    text-align: center;
    margin-bottom: 50px;
  }

  .contact-section_btn {
    display: flex;
    justify-content: center;
  }

  a.contact-section_btn_mail {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 430px;
    height: 100px;
    color: #fff;
    background: #5dc1cf;
    border-radius: 3px;
    margin-right: 60px;
    padding-right: 50px;
  }

  a.contact-section_btn_line {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 430px;
    height: 100px;
    color: #fff;
    background: #127f42;
    border-radius: 3px;
    padding-right: 50px;
  }

  a:hover.contact-section_btn_mail,
  a:hover.contact-section_btn_line {
    color: #fff;
  }

  a.contact-section_btn_mail::after,
  a.contact-section_btn_line::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 30px;
    background: url("../img/icon_arrow_right_line_white.svg") no-repeat center;
    width: 20px;
    height: 15px;
    background-size: cover;
    transition: .5s;
  }

  a:hover.contact-section_btn_mail::after,
  a:hover.contact-section_btn_line::after {
    right: 23px;
    transition: .5s;
  }

  .contact-section_btn_icon_contact {
    margin-right: 24px;
  }

  .contact-section_btn_icon_contact img {
    width: 30px;
    height: auto;
  }

  .contact-section_btn_icon_line {
    margin-right: 24px;
  }

  .contact-section_btn_icon_line img {
    width: 35px;
    height: auto;
  }

  .contact-section_btn_text {
    font-size: 1.375rem;
    line-height: 1.22em;
    text-align: center;
  }

  .contact-section_btn_text > span {
    display: block;
    font-size: 1.25rem;
  }
}
@media (max-width: 991px) {
  .contact-section-wrap {
    padding: 48px 12px;
  }

  .contact-section_tel {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 12px;
  }

  .contact-section_tel_icon {
    margin-right: 10px;
  }

  .contact-section_tel_icon img {
    width: 36px;
    height: 36px;
  }

  .contact-section_tel_number {
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-size: 36px;
    line-height: 1em;
  }
}
@media (max-width: 991px) and (max-width: 320px) {
  .contact-section_tel_number {
    font-size: 30px;
  }
}
@media (max-width: 991px) {
  .contact-section_text {
    text-align: center;
    margin-bottom: 24px;
  }

  .contact-section_btn {
    display: block;
  }

  a.contact-section_btn_mail {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 80px;
    color: #fff;
    background: #5dc1cf;
    padding-right: 50px;
    margin-bottom: 12px;
  }

  a.contact-section_btn_line {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 80px;
    color: #fff;
    background: #127f42;
    padding-right: 50px;
  }

  a.contact-section_btn_mail::after,
  a.contact-section_btn_line::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 30px;
    background: url("../img/icon_arrow_right_line_white.svg") no-repeat center;
    width: 20px;
    height: 15px;
    background-size: cover;
    transition: .5s;
  }

  a:hover.contact-section_btn_mail::after,
  a:hover.contact-section_btn_line::after {
    right: 23px;
    transition: .5s;
  }

  .contact-section_btn_icon_contact {
    margin-right: 24px;
  }

  .contact-section_btn_icon_contact img {
    width: 30px;
    height: auto;
  }

  .contact-section_btn_icon_line {
    margin-right: 24px;
  }

  .contact-section_btn_icon_line img {
    width: 35px;
    height: auto;
  }

  .contact-section_btn_text {
    font-size: 1.25rem;
    line-height: 1.22em;
    text-align: center;
  }

  .contact-section_btn_text > span {
    display: block;
    font-size: 1rem;
  }
}
/* contact-section-wrap ここまで */
@media (min-width: 992px) {
  .privacy-wrap {
    padding: 50px 0 120px;
  }

  .privacy-lead {
    line-height: 2.14em;
    margin-bottom: 72px;
  }

  .privacy-list {
    width: 100%;
  }

  .privacy-list li {
    padding: 60px 0;
    border-bottom: 1px solid #dcdcdc;
  }

  .privacy-list li:first-child {
    border-top: 1px solid #dcdcdc;
  }

  .privacy-list-title {
    font-size: 20px;
    color: #5dc1cf;
    margin-bottom: 30px;
  }

  .privacy-list-text {
    line-height: 2.14em;
  }
}
@media (max-width: 991px) {
  .privacy-wrap {
    padding: 48px 0;
  }

  .privacy-lead {
    line-height: 2.14em;
    margin-bottom: 24px;
  }

  .privacy-list {
    width: 100%;
  }

  .privacy-list li {
    padding: 24px 0;
    border-bottom: 1px solid #dcdcdc;
  }

  .privacy-list li:first-child {
    border-top: 1px solid #dcdcdc;
  }

  .privacy-list-title {
    font-size: 16px;
    color: #5dc1cf;
    margin-bottom: 12px;
  }

  .privacy-list-text {
    line-height: 2.14em;
  }
}
@media (min-width: 992px) {
  .individual-contents-wrap {
    padding: 140px 0 170px;
  }

  .individual-contents {
    display: flex;
    flex-wrap: wrap;
  }

  .individual-contents_img:nth-child(odd) {
    margin-right: 7.29vw;
  }

  .individual-contents_img:not(:nth-last-child(1)):not(:nth-last-child(2)) {
    margin-bottom: 7.27vw;
  }

  .individual-contents_img {
    position: relative;
    width: calc( ( 100% - 7.29vw ) / 2 );
    height: auto;
  }

  .individual-contents_img_inner {
    position: relative;
    padding: 45px;
    margin-top: -60px;
    margin-right: 45px;
    margin-left: 45px;
    background: #fff;
    z-index: 1;
  }

  .individual-contents_img_inner_title {
    font-size: min(1.35vw, 26px);
    line-height: 1em;
    margin-bottom: 1.5625vw;
  }

  .individual-contents_img_inner_text {
    line-height: 2.14em;
    margin-bottom: 2.604vw;
  }
}
@media (max-width: 991px) {
  .individual-contents-wrap {
    padding: 48px 0 48px;
  }

  .individual-contents {
    display: block;
  }

  .individual-contents_img:not(:nth-last-child(1)) {
    margin-bottom: 24px;
  }

  .individual-contents_img {
    position: relative;
    width: 100%;
    height: auto;
  }

  .individual-contents_img_inner {
    position: relative;
    padding: 24px;
    margin-top: -30px;
    margin-right: 24px;
    margin-left: 24px;
    background: #fff;
    z-index: 1;
  }

  .individual-contents_img_inner_title {
    font-size: 18px;
    line-height: 1em;
    margin-bottom: 24px;
  }

  .individual-contents_img_inner_text {
    line-height: 2.14em;
    margin-bottom: 24px;
  }
}
.individual-contents_img_inner_link-wrap {
  text-align: right;
}

a.individual-contents_img_inner_link {
  position: relative;
  display: inline-block;
  padding-right: 32px;
  line-height: 1em;
  color: #5dc1cf;
}

a.individual-contents_img_inner_link::after {
  position: absolute;
  content: "";
  top: 3px;
  right: 0;
  background: url("../img/icon_arrow_right_line.svg") no-repeat center;
  background-size: cover;
  width: 12px;
  height: 9px;
  transition: .5s;
}

a:hover.individual-contents_img_inner_link::after {
  right: -7px;
  transition: .5s;
}

@media (min-width: 992px) {
  .news-list-wrap {
    padding: 50px 0 120px;
  }

  .news-list-contents {
    width: 100%;
    background: #fff;
  }

  .news-list-contents_list {
    margin-bottom: 80px;
  }

  .news-list-contents_list li:first-child a {
    border-top: 1px solid #dcdcdc;
  }

  .news-list-contents_list li a {
    position: relative;
    display: block;
    width: 100%;
    color: #333;
    padding: 60px 0;
    border-bottom: 1px solid #dcdcdc;
    text-decoration: none;
  }

  .news-list-contents_list li a::after {
    display: block;
    position: absolute;
    content: "";
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    width: 52px;
    height: 52px;
    background: url("../img/icon-circle-arrow.svg") no-repeat center;
    background-size: cover;
  }

  a span.news-list-contents_list_date {
    display: block;
    color: #cbd3da;
    margin-bottom: 16px;
  }

  a span.news-list-contents_list_text {
    display: block;
    width: 90%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  a:hover span.news-list-contents_list_text {
    text-decoration: underline;
  }

  .news-list-pager {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    line-height: 2.14em;
    font-size: 1.5625rem;
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
  }

  .news-list-pager li:not(:last-child) {
    margin-right: 48px;
  }

  .news-list-pager li a {
    color: #b7b8b8;
  }

  li.news-list-pager_select a {
    color: #5dc1cf;
  }
}
@media (max-width: 991px) {
  .news-list-wrap {
    padding: 48px 0;
  }

  .news-list-contents {
    width: 100%;
  }

  .news-list-contents_list {
    margin-bottom: 36px;
  }

  .news-list-contents_list li:first-child a {
    border-top: 1px solid #dcdcdc;
  }

  .news-list-contents_list li a {
    position: relative;
    display: block;
    width: 100%;
    color: #333;
    padding: 24px 0;
    border-bottom: 1px solid #dcdcdc;
    text-decoration: none;
  }

  .news-list-contents_list li a::after {
    display: block;
    position: absolute;
    content: "";
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
    background: url("../img/icon-circle-arrow.svg") no-repeat center;
    background-size: cover;
  }

  a span.news-list-contents_list_date {
    display: block;
    color: #cbd3da;
    margin-bottom: 12px;
  }

  a span.news-list-contents_list_text {
    display: block;
    width: 85%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  a:hover span.news-list-contents_list_text {
    text-decoration: underline;
  }

  .news-list-pager {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    line-height: 2.14em;
    font-size: 1.1rem;
    font-family: "Roboto", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
  }

  .news-list-pager li:not(:last-child) {
    margin-right: 24px;
  }

  .news-list-pager li a {
    color: #b7b8b8;
  }

  li.news-list-pager_select a {
    color: #5dc1cf;
  }
}
@media (min-width: 992px) {
  .column-list-navi {
    display: flex;
    align-items: stretch;
    border-top: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
    margin-bottom: 80px;
  }

  .column-list-navi li {
    padding: 40px 0 39px 0;
    border-bottom: 1px solid #fff;
  }

  .column-list-navi li:not(:last-child) {
    margin-right: 48px;
  }

  .column-list-navi li a {
    text-decoration: none;
  }

  .column-list-navi li:hover {
    border-bottom: 1px solid #5dc1cf;
  }

  li.column-ltst-select {
    border-bottom: 1px solid #5dc1cf;
  }

  .top-column-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 100px;
  }

  .top-column-list li {
    width: 28.9%;
    margin-right: 6.6%;
    margin-bottom: 60px;
  }

  .top-column-list li:nth-child(3),
  .top-column-list li:nth-child(6),
  .top-column-list li:nth-child(9) {
    margin-right: 0;
  }

  .top-column-list li:nth-last-child(1),
  .top-column-list li:nth-last-child(2),
  .top-column-list li:nth-last-child(3) {
    margin-bottom: 0;
  }

  .top-column-list_img {
    width: 100%;
    background-image: url("../img/thumbnail-img.jpg");
    /* 画像のURLを指定してください */
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    aspect-ratio: 1.474 / 1;
    margin-bottom: 21px;
  }

  .top-column-list_datecate {
    display: flex;
    align-items: center;
    margin-bottom: 21px;
  }

  .top-column-list_datecate_date {
    color: #cbd3da;
    margin-right: 21px;
  }

  .top-column-list_datecate_cate {
    color: #5dc1cf;
    padding: 4px 10px;
    border-radius: 20px;
    border: 1px solid #5dc1cf;
    line-height: 1em;
    font-size: 0.874rem;
  }

  .top-column-list_text {
    display: block;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
@media (max-width: 991px) {
  .column-list-navi {
    width: 100%;
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    border-top: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
    margin-bottom: 48px;
  }

  .column-list-navi li {
    padding: 24px 0 23px 0;
    border-bottom: 1px solid #fff;
  }

  .column-list-navi li:not(:last-child) {
    margin-right: 18px;
  }

  .column-list-navi li a {
    text-decoration: none;
  }

  .column-list-navi li:hover {
    border-bottom: 1px solid #5dc1cf;
  }

  li.column-ltst-select {
    border-bottom: 1px solid #5dc1cf;
  }

  .top-column-list {
    display: block;
    flex-wrap: wrap;
    margin-bottom: 36px;
  }

  .top-column-list li {
    width: 100%;
    margin-bottom: 24px;
  }

  .top-column-list li:last-child {
    margin-bottom: 0;
  }

  .top-column-list_img {
    width: 100%;
    background-image: url("../img/thumbnail-img.jpg");
    /* 画像のURLを指定してください */
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    aspect-ratio: 1.474 / 1;
    margin-bottom: 12px;
  }

  .top-column-list_datecate {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
  }

  .top-column-list_datecate_date {
    color: #cbd3da;
    margin-right: 6px;
  }

  .top-column-list_datecate_cate {
    color: #5dc1cf;
    padding: 4px 10px;
    border-radius: 20px;
    border: 1px solid #5dc1cf;
    line-height: 1em;
    font-size: 0.75rem;
  }

  .top-column-list_text {
    display: block;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
/* message-wrap　ここから */
@media (min-width: 992px) {
  .overview-bottom {
    display: flex;
  }

  .overview-bottom_inner {
    width: calc( ( 100% - 60px ) / 2 );
  }

  .overview-bottom_inner:first-child {
    margin-right: 60px;
  }

  .overview-bottom_inner_title {
    font-size: 28px;
    font-weight: 700;
    line-height: 1em;
    border-bottom: 1px solid #dcdcdc;
    padding-bottom: 20px;
    margin-bottom: 30px;
  }
}
@media (max-width: 991px) {
  .overview-bottom {
    display: block;
  }

  .overview-bottom_inner {
    width: 100%;
  }

  .overview-bottom_inner:first-child {
    margin-bottom: 24px;
  }

  .overview-bottom_inner_title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1em;
    border-bottom: 1px solid #dcdcdc;
    padding-bottom: 20px;
    margin-bottom: 30px;
  }
}
.overview-bottom_inner_list {
  width: 100%;
}

.overview-bottom_inner_list li {
  position: relative;
  line-height: 2.142em;
  padding-left: 1em;
}

.overview-bottom_inner_list li::after {
  display: block;
  content: "";
  position: absolute;
  top: 14px;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 2px;
  background: #333;
}

/* message-wrap　ここまで */
/* outline-wrap ここから */
/* footer-tpl03　ここから */
@media (min-width: 992px) {
  .footer-tpl03-wrap {
    width: 100%;
    height: auto;
    background: #5dc1cf;
    color: #fff;
    padding: 140px 0 0;
  }

  .footer-tpl03-inner {
    display: flex;
    justify-content: space-between;
  }

  .footer-tpl03-logo {
    margin-bottom: 20px;
  }

  .footer-tpl03-text {
    font-size: 0.9375rem;
    line-height: 3em;
  }

  .footer-tpl03-navi-wrap {
    display: flex;
  }

  .footer-tpl03-navi {
    width: 15vw;
    line-height: 3.3em;
  }

  .footer-tpl03-copy {
    display: block;
    width: 100%;
    margin-top: 100px;
    padding: 43px 0;
    border-top: 1px solid #fff;
    text-align: center;
  }
}
@media (max-width: 991px) {
  .footer-tpl03-wrap {
    width: 100%;
    height: auto;
    background: #5dc1cf;
    color: #fff;
    padding: 48px 0 13.3vw;
  }

  .footer-tpl03-inner {
    display: block;
  }

  .footer-tpl03-logo-wrap {
    margin-bottom: 24px;
  }

  .footer-tpl03-logo {
    width: 60%;
    margin: 0 auto 24px;
  }

  .footer-tpl03-text {
    line-height: 1.5em;
  }

  .footer-tpl03-navi-wrap {
    display: flex;
    flex-wrap: wrap;
  }

  .footer-tpl03-navi {
    width: calc( ( 100% - 24px ) / 2 );
    line-height: 3.3em;
  }

  .footer-tpl03-navi:first-child {
    margin-right: 24px;
  }

  .footer-tpl03-copy {
    display: block;
    width: 100%;
    margin-top: 24px;
    padding: 24px 0;
    border-top: 1px solid #fff;
    text-align: center;
  }
}
.footer-tpl03-wrap a,
.footer-tpl03-wrap a:hover {
  color: #fff;
}

/* footer-tpl03　ここまで */
/* JSでテキスト25文字表示、スマホだとサムネが横に表示　ここから */
.veterinarymedicine-news {
  width: 95%;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 36px;
}

.veterinarymedicine-news li {
  border: 1px solid #ddd;
  padding: 0.5em;
}

.veterinarymedicine-news li a {
  display: flex;
  width: 100%;
  color: #333;
}

.veterinarymedicine-news_thumbnail {
  position: relative;
  width: 50%;
}

.veterinarymedicine-news_thumbnail {
  position: relative;
  overflow: hidden;
  background: url("https://placehold.jp/cfcfcf/ffffff/960x593.jpg");
  background-size: cover;
  border-right: 1px solid #ddd;
}

.veterinarymedicine-news_thumbnail:before {
  content: '';
  display: block;
  aspect-ratio: 1.618 / 1;
  /* 横1.618:縦1 */
}

.veterinarymedicine-news_thumbnail img {
  position: absolute;
  top: 50%;
  height: auto !important;
  transform: translateY(-50%);
  right: 0;
  left: 0;
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
}

.veterinarymedicine-news_contents {
  width: calc( ( 100% - 30% ) - 18px );
  margin-left: 18px;
}

.veterinarymedicine-news_date {
  display: block;
  font-size: .75em;
  color: #cbd3da;
  font-weight: bold;
  margin-bottom: 12px;
}

.veterinarymedicine-news_title {
  display: block;
  width: 100%;
  font-weight: bold;
  line-height: 1.414em;
}

.veterinarymedicine-news li a:hover .veterinarymedicine-news_title {
  color: #5dc1cf;
}

@media (max-width: 991px) {
  .secBg {
    padding: 48px 0;
  }

  .veterinarymedicine-news li:not(:last-child) {
    margin-bottom: 1em;
  }

  .veterinarymedicine-news_date {
    margin-bottom: 6px;
  }
}
@media (min-width: 992px) {
  .secBg {
    padding: 72px 0;
  }

  .veterinarymedicine-news {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 48px;
  }

  .veterinarymedicine-news li {
    width: calc( ( 100% - 72px ) / 3 );
  }

  .veterinarymedicine-news li {
    margin-bottom: 36px;
    margin-right: 36px;
  }

  .veterinarymedicine-news li:nth-child(3n) {
    margin-right: 0;
  }

  .veterinarymedicine-news li:nth-last-child(1),
  .veterinarymedicine-news li:nth-last-child(2),
  .veterinarymedicine-news li:nth-last-child(3) {
    margin-bottom: 0;
  }

  .veterinarymedicine-news li a {
    display: block;
  }

  .veterinarymedicine-news_thumbnail {
    position: relative;
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #ddd;
    margin-bottom: 12px;
  }

  .veterinarymedicine-news_contents {
    width: 100%;
    margin-left: 0;
    padding: 0 0.5em 0.5em;
  }
}
/* JSでテキスト25文字表示、スマホだとサムネが横に表示　ここまで */
.fadeIn-bottom {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1s ease, transform 1s ease;
}

.fadeIn-bottom.visible {
  opacity: 1;
  transform: translateY(0px);
}

@media (max-width: 768px) {
  .fadeIn-bottom {
    opacity: 1;
  }
}
@media (min-width: 992px) {
  .sp-fix-btn02 {
    display: none;
  }
}
@media (max-width: 991px) {
  .sp-fix-btn02 {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 13.3vw;
    z-index: 3;
  }

  .sp-fix-btn02_tel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 60vw;
    height: 13.3vw;
    background: #e8edf6;
  }

  a.sp-fix-btn02_tel_number {
    font-family: "Roboto", serif;
    font-weight: 700;
    font-style: normal;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #333;
    text-decoration: none;
  }

  a.sp-fix-btn02_tel_number > span:first-child {
    width: 5vw;
    height: 5vw;
    margin-right: 3px;
  }

  a.sp-fix-btn02_tel_number > span:last-child {
    font-size: 6vw;
    line-height: 1em;
  }

  .sp-fix-btn02_tel_text {
    display: block;
    margin-top: 3px;
    font-size: 2vw;
    line-height: 1em;
    text-align: center;
  }

  a.sp-fix-btn02_mail {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 20vw;
    height: 13.3vw;
    background: #222222;
    color: #fff;
    text-decoration: none;
  }

  a:hover.sp-fix-btn02_mail {
    color: #fff;
  }

  a.sp-fix-btn02_mail > span:first-child img {
    width: 5vw;
    height: auto;
    margin-bottom: 3px;
  }

  a.sp-fix-btn02_mail > span:last-child {
    font-size: 2.9vw;
    line-height: 1em;
  }

  a.sp-fix-btn02_line {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 20vw;
    height: 13.3vw;
    background: #127f42;
    color: #fff;
    text-decoration: none;
  }

  a:hover.sp-fix-btn02_line {
    color: #fff;
  }

  a.sp-fix-btn02_line > span:first-child img {
    width: 5vw;
    height: auto;
    margin-bottom: 3px;
  }

  a.sp-fix-btn02_line > span:last-child {
    font-size: 2.9vw;
    line-height: 1em;
  }
}
a.faq-btn01 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 280px;
  height: 60px;
  border: 1px solid #5dc1cf;
  color: #5dc1cf;
  line-height: 1em;
  border-radius: 3px;
}

a.faq-btn01::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  width: 9px;
  height: 7px;
  background: url("../img/icon-arrow-down.svg") no-repeat center;
  background-size: cover;
}

a:hover.faq-btn01 {
  background: #5dc1cf;
  border: 1px solid #5dc1cf;
  color: #fff;
}

a:hover.faq-btn01::after {
  background: url("../img/icon-arrow-down-hover.svg") no-repeat center;
}

a.faq-btn02 {
  position: relative;
  display: inline-block;
  border-bottom: 1px solid #333;
  line-height: 1em;
  padding: 10px 20px 10px 0;
}

a.faq-btn02::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 9px;
  height: 7px;
  background: url("../img/icon-arrow-down.svg") no-repeat center;
  background-size: cover;
}

@media (min-width: 992px) {
  .faq-wrap {
    padding: 50px 0 120px;
  }

  .faq-read {
    text-align: center;
    line-height: 2.14em;
    margin-bottom: 70px;
  }

  .faq-btn-list {
    display: flex;
    justify-content: center;
    margin-bottom: 120px;
  }

  .faq-btn-list li:not(:last-child) {
    margin-right: 40px;
  }

  .faq-anker-btn {
    display: flex;
    justify-content: center;
    margin-bottom: 64px;
  }

  .faq-anker-btn li:not(:last-child) {
    margin-right: 40px;
  }

  .faq-contents-wrap {
    max-width: 1100px;
    margin: 0 auto 80px;
  }

  .faq-contents-title {
    margin-bottom: 40px;
    font-size: 26px;
  }
}
@media (max-width: 991px) {
  .faq-wrap {
    padding: 48px 0;
  }

  .faq-read {
    text-align: center;
    line-height: 2.14em;
    margin-bottom: 24px;
  }

  .faq-btn-list {
    display: block;
    margin-bottom: 24px;
  }

  .faq-btn-list li:not(:last-child) {
    margin-bottom: 12px;
  }

  .faq-anker-btn {
    display: block;
    justify-content: center;
    margin-bottom: 24px;
  }

  .faq-anker-btn li:not(:last-child) {
    margin-bottom: 12px;
  }

  .faq-contents-wrap {
    width: 100%;
    margin: 0 auto 24px;
  }

  .faq-contents-title {
    margin-bottom: 24px;
    font-size: 18px;
  }

  .faq-btn01 {
    margin-right: auto;
    margin-left: auto;
  }

  a.faq-btn02 {
    display: block;
    width: 280px;
    margin-right: auto;
    margin-left: auto;
  }
}
.faq-img {
  text-align: center;
}

.faq-wrap:not(:last-child) {
  margin-bottom: 12px;
}

@media (min-width: 992px) {
  .faq-wrap:not(:last-child) {
    margin-bottom: 36px;
  }

  .faq-wrap {
    width: 80%;
    margin-right: auto;
    margin-left: auto;
  }
}
.faq-summary {
  display: block;
}

.faq-summary::-webkit-details-marker {
  display: none;
}

.faq-summary {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 97px;
  padding: 0 64px;
  background: #fff;
  border-bottom: 1px solid #e9edf0;
}

.faq-box-wrap .faq-details:nth-child(1) .faq-summary {
  border-top: 1px solid #e9edf0;
}

.faq-details[open] + .faq-summary {
  border-bottom: 1px solid #fff;
}

.faq-summary::after {
  position: absolute;
  top: 31px;
  left: 10px;
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  display: flex;
  justify-content: center;
  align-items: center;
  content: "Q";
  width: 35px;
  height: 35px;
  font-size: 20px;
  color: #5dc1cf;
  background: #e2ecf7;
  border-radius: 3px;
}

.faq-summary::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  background: url("../img/icon-plus.svg");
  background-size: cover;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}

.faq-content::after {
  position: absolute;
  top: 31px;
  left: 10px;
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  display: flex;
  justify-content: center;
  align-items: center;
  content: "A";
  width: 35px;
  height: 35px;
  font-size: 20px;
  color: #fff;
  background: #5dc1cf;
  border-radius: 3px;
}

.faq-content p {
  padding-top: 7px;
}

.faq-content {
  position: relative;
  height: auto;
  padding: 30px 20px 30px 64px;
  background: #fcfcfc;
  background: #fcfcfc;
  border-bottom: 1px solid #e9edf0;
}

.faq-details[open] .faq-summary::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  background: url("../img/icon-minas.svg");
  background-size: cover;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}

@media (min-width: 992px) {
  .time-table01-01,
  .time-table01-02,
  .time-table01-03 {
    grid-template-columns: 2fr repeat(6, 1fr);
    grid-template-rows: 3.5em;
  }
}
@media (max-width: 991px) {
  .time-table01-01,
  .time-table01-02,
  .time-table01-03 {
    grid-template-columns: 3fr repeat(6, 1fr);
    grid-template-rows: 2.5em;
  }
}
.time-table01-01,
.time-table01-02,
.time-table01-03 {
  display: grid;
  justify-items: center;
  align-items: center;
}

.time-table01-01 {
  background: #5dc1cf;
  color: #fff;
  border-radius: 12px 12px 0 0;
}

.time-table01-02,
.time-table01-03 {
  border-bottom: 2px solid #e9edf0;
}

.time-table01-01 div:first-child,
.time-table01-02 div:first-child,
.time-table01-03 div:first-child {
  font-weight: bold;
}

.circle-title {
  position: relative;
}

@media (min-width: 992px) {
  .circle-title::before {
    display: block;
    content: "";
    position: absolute;
    top: -8px;
    left: -24px;
    width: 12px;
    height: 12px;
    background: #5dc1cf;
    border-radius: 50%;
  }

  .circle-title_l {
    font-size: 2rem;
  }

  .circle-title_s {
    display: block;
    line-height: 1em;
    margin-top: 10px;
  }
}
@media (max-width: 991px) {
  .circle-title::before {
    display: block;
    content: "";
    position: absolute;
    top: -4px;
    left: -15px;
    width: 10px;
    height: 10px;
    background: #5dc1cf;
    border-radius: 50%;
  }

  .circle-title_l {
    font-size: 1.505rem;
  }

  .circle-title_s {
    display: block;
    line-height: 1em;
    margin-top: 6px;
  }
}
.circle-title02 {
  position: relative;
  padding-left: 1.4em;
}

.circle-title02::before {
  display: block;
  content: "";
  position: absolute;
  top: .1em;
  left: 0;
  width: 1em;
  height: 1em;
  background: #5dc1cf;
  border-radius: 50%;
}

.col-white {
  color: #fff;
}

.col-black {
  color: #333;
}

.col-basic {
  color: #5dc1cf;
}

.boxShadow {
  box-shadow: 0 0 20px #ccc;
}

.dropShadow {
  filter: drop-shadow(0px 0px 20px #ccc);
  transform: translateZ(0px);
}

.text-border-wht {
  text-shadow: #fff 1px 1px 0, #fff -1px -1px 0, #fff -1px 1px 0, #fff 1px -1px 0, #fff 0px 1px 0, #fff -1px 0, #fff -1px 0 0, #fff 1px 0 0;
}

.text-border-wht2 {
  text-shadow: #fff 2px 0px, #fff -2px 0px, #fff 0px -2px, #fff 0px 2px, #fff 2px 2px , #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px;
}

@media (min-width: 768px) {
  .dn-pc {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .dn-sp {
    display: none !important;
  }

  img {
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .dn-tab {
    display: none !important;
  }
}
@media (max-width: 991px) {
  .dn-tabsp {
    display: none;
  }
}
@media (min-width: 992px) {
  .dn-lg {
    display: none;
  }
}
a {
  text-decoration: none;
  color: #333;
}

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

a,
a:hover {
  transition: 1s;
}

strong {
  background: linear-gradient(transparent 40%, #5dc1cf 40%);
}

a.link {
  text-decoration: underline;
}

a:hover.link {
  text-decoration: none;
}

.h1, h1,
.h2, h2,
.h3, h3,
.h4, h4,
.h5, h5,
.h6, h6,
.display-1,
.display-2,
.display-3,
.display-4,
.display-5 {
  font-weight: bold;
}

.bg-gray {
  background: #f8f9fa;
}

.sec01-bg-green {
  background: #589b4a;
}

.bg-green {
  background: #d1e7cb;
}

.bg-blue {
  background: #d3eff2;
}

.bg-yellow {
  background: #ffe8ac;
}

@media (min-width: 768px) {
  body {
    color: #333;
    background: #fff;
    font-family: SourceHanSans, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    line-height: 1.47059em;
    letter-spacing: normal;
    text-align: justify;
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
    font-size: 1.125rem;
  }
}
@media (max-width: 767px) {
  body {
    color: #333;
    background: #fff;
    font-family: SourceHanSans, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    line-height: 1.47059em;
    letter-spacing: normal;
    text-align: justify;
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  body {
    color: #333;
    background: #fff;
    font-family: SourceHanSans, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    line-height: 1.47059em;
    letter-spacing: normal;
    text-align: justify;
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
    font-size: 1rem;
  }
}
/* header-tpl10 ここから */
@media (min-width: 992px) {
  .header-tpl10 {
    width: 100%;
    height: 120px;
    position: fixed;
    top: 0;
    left: 0;
    padding: 10px;
    z-index: 1;
  }

  .header-tpl10 a {
    font-weight: bold;
  }

  .header-tpl10_inner {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100px;
  }

  .header-tpl10 a:hover {
    color: #5dc1cf;
  }

  .header-tpl10_inner_right {
    display: flex;
    align-items: center;
    height: 80px;
    padding: 10px 1.25vw;
    margin-left: auto;
    background: #fff;
    border-radius: 1.25vw;
  }

  .header-tpl10_inner_navi {
    display: flex;
    align-items: center;
  }

  .header-tpl10_inner_navi li {
    margin-right: 1.25vw;
  }

  .header-tpl10_inner_navi li a {
    font-size: clamp(14px, 1.25vw, 20px);
  }

  a.header-tpl10_inner_navi_tel {
    display: flex;
    align-items: center;
    font-size: clamp(18px, 1.4583vw, 24px);
    color: #5dc1cf;
  }

  .header-tpl10_inner_navi_tel img {
    display: block;
    width: auto;
    height: 20px;
    margin-right: 6px;
  }

  .header-tpl010_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 140px;
    right: calc( 10px + 1.25vw );
    width: 90px;
    height: 90px;
    border-radius: 45px;
    background: #5dc1cf;
    color: #fff;
  }

  a:hover.header-tpl010_btn {
    background: #98d8e0;
  }

  .header-tpl010_btn img {
    display: block;
    width: auto;
    height: 24px;
    margin: 0 auto;
  }

  .header-tpl010_btn_title {
    font-size: 12px;
    line-height: 1em;
  }

  a.header-tpl010_btn {
    color: #fff;
    font-weight: normal;
  }

  a:hover.header-tpl010_btn {
    color: #fff;
  }
}
@media (max-width: 991px) {
  .header-tpl10 {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: none;
    padding: 0;
  }

  .header-tpl10_inner {
    display: flex;
    align-items: center;
    height: 56px;
  }

  .header-tpl10_inner_right {
    display: none;
  }

  .header-tpl010_btn {
    display: none;
  }
}
@media (min-width: 992px) {
  .top-mv img {
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .header-tpl10_mv_ttl {
    padding-left: 24px;
  }
}
/* top-sec01 ここから */
.top-sec01 {
  display: flex;
  justify-content: center;
}

/* title-wave ここから */
.title-wave {
  position: relative;
  display: inline-block;
  padding-bottom: 12px;
}

.title-wave::after {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  background: url("../img/title-wave.svg") repeat-x;
  background-size: contain;
}

/* フッターコピー　ここから */
.footer-copy {
  background: #589b4a;
  color: #fff;
  text-align: center;
  padding: 30px 12px;
}

/* sp mail tel fix btn　ここから */
.sp-mail-icon a {
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 201;
  display: inline-block;
  float: right;
  clear: right;
  width: 60px;
  height: 60px;
  background: #5dc1cf;
  text-align: center;
  line-height: 56px;
  color: #333;
  border-radius: 30px;
}
.sp-mail-icon a:hover {
  color: #333;
}
.sp-mail-icon a:active {
  color: #333;
}
.sp-mail-icon a > div {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
}
.sp-mail-icon a > div img {
  width: 26px;
  height: auto;
}

.sp-tel-icon a {
  position: fixed;
  top: 10px;
  right: 80px;
  z-index: 201;
  display: inline-block;
  float: right;
  clear: right;
  width: 60px;
  height: 60px;
  background: #5dc1cf;
  text-align: center;
  color: #333;
  border-radius: 30px;
}
.sp-tel-icon a:hover {
  color: #333;
}
.sp-tel-icon a:active {
  color: #333;
}
.sp-tel-icon a > div {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
}
.sp-tel-icon a > div img {
  width: 24px;
  height: auto;
}

/* sp mail tel fix btn　ここまで */
/* form-Box　ここから */
.form-Box_inner_input_radio {
  display: flex;
  flex-wrap: wrap;
}

@media (max-width: 767px) {
  .form-Box_inner_input_radio {
    margin-bottom: -12px;
  }

  .form-Box_inner_input_radio li {
    margin-bottom: 12px;
  }
}
@media (max-width: 991px) {
  .form-Box_inner {
    display: block;
    margin-bottom: 24px;
  }

  .form-Box_inner_label {
    width: 100%;
    margin-bottom: 18px;
  }

  .form-Box_inner_input {
    width: 100%;
  }
}
@media (min-width: 992px) {
  .form-Box_inner {
    display: block;
    max-width: 1000px;
    margin: 0 auto 50px;
  }

  .form-Box_inner_label {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 20px;
  }

  .form-Box_inner_input {
    width: 100%;
  }
}
.form-Box_inner_input textarea {
  min-height: 150px;
}

.form-Box_inner_label label {
  display: flex;
  align-items: center;
}

.form-Box_inner_input_control {
  width: 100%;
  height: 55px;
  padding: 0.625rem 1rem;
  line-height: 1.42857143rem;
  background-color: #f8f9fa;
  background-image: none;
  border: none;
  border-radius: 3px;
}

.zipcodeBox {
  font-size: 16px;
  height: 38px;
  padding: 0.625rem 1rem;
  line-height: 1.42857143rem;
  background-color: #f8f9fa;
  background-image: none;
  border: 1px solid #e9edf0;
  border-radius: 6px;
}

.form-send-check {
  display: block;
  width: 100%;
  font-weight: bold;
}

input.btn-formbox {
  display: block;
  width: 100%;
  height: 70px;
  background: #5dc1cf;
  color: #fff;
  padding: 1em;
  border-radius: 6px;
}

@media (min-width: 992px) {
  input.btn-formbox {
    width: 300px;
    margin-right: auto;
    margin-left: auto;
  }
}
input.btn-formbox:hover {
  background: #98d8e0;
  color: #fff;
}

.btn-formbox.disabled, .btn-formbox:disabled, fieldset:disabled .btn-formbox {
  background: #5dc1cf;
  color: #fff;
  opacity: .5;
}

input.form-Box_inner_input_control {
  font-size: 16px;
}

select.form-Box_inner_input_control {
  font-size: 16px;
}

textarea.form-Box_inner_input_control {
  font-size: 16px;
}

.form-file-input {
  position: relative;
  width: 100%;
  padding: 0.5rem 0;
  border: none;
  cursor: pointer;
}

.form-file-input::before {
  display: none !important;
}

.form-file-input::after {
  content: "ファイル添付";
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.625rem 1rem;
  line-height: 1.42857143rem;
  background-color: #f8f9fa;
  background-image: none;
  border: 1px solid #e9edf0;
  border-radius: 6px;
  font-size: 1rem;
}

@media (max-width: 991px) {
  .form-file-input::after {
    font-size: .875rem;
  }
}
/* form-Box　ここまで */
/* Contactform7 ここから */
input.wpcf7-form-control,
textarea.wpcf7-form-control,
select.wpcf7-form-control {
  width: 100%;
  padding: 0.625rem 1rem;
  line-height: 1.42857143rem;
  background-color: #f8f9fa;
  background-image: none;
  border: 1px solid #e9edf0;
  border-radius: 6px;
}

.checkBox > .wpcf7-list-item > label > input[type=checkbox] {
  display: none;
}

.checkBox > .wpcf7-list-item > label > .wpcf7-list-item-label {
  position: relative;
  padding-left: 30px;
  margin-right: 18px;
  z-index: 1;
}

.checkBox > .wpcf7-list-item > label > .wpcf7-list-item-label::before {
  content: "";
  display: block;
  position: absolute;
  top: -3px;
  left: 0;
  width: 25px;
  height: 25px;
  border: 1px solid #dae0e5;
  background: #f8f9fa;
}

.checkBox > .wpcf7-list-item > label > input[type=checkbox]:checked + .wpcf7-list-item-label {
  color: #343a40;
}

.checkBox > .wpcf7-list-item > label > input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  content: "";
  display: block;
  position: absolute;
  top: -10px;
  left: 7px;
  width: 14px;
  height: 22px;
  transform: rotate(40deg);
  border-bottom: 4px solid #343a40;
  border-right: 4px solid #343a40;
}

@media screen and (max-width: 767px) {
  .checkBox > .wpcf7-list-item > label > .wpcf7-list-item-label::before {
    top: -5px;
  }
}
.radioBtn > .wpcf7-list-item > label > input[type=radio] {
  display: none;
}

.radioBtn > .wpcf7-list-item > label > input[type=radio] + span {
  position: relative;
  padding-left: 29px;
  margin-right: 18px;
  line-height: 1em;
  z-index: 1;
}

.radioBtn > .wpcf7-list-item > label > input[type=radio] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  left: 0;
  width: 24px;
  height: 24px;
  border: 1px solid #ced4da;
  border-radius: 50%;
  background: #f8f9fa;
}

.radioBtn > .wpcf7-list-item > label > input[type=radio]:checked + span {
  color: #333;
}

.radioBtn > .wpcf7-list-item > label > input[type=radio]:checked + span::after {
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 3px;
  width: 18px;
  height: 18px;
  background: #333;
  border-radius: 50%;
}

@media screen and (max-width: 767px) {
  .radioBtn > .wpcf7-list-item > label > input[type=radio] + span::before {
    top: -4px;
  }

  .radioBtn > .wpcf7-list-item > label > input[type=radio]:checked + span::after {
    top: -1px;
  }
}
@media screen and (max-width: 767px) {
  .wpcf7-list-item {
    margin-bottom: 12px !important;
  }

  .wpcf7-list-item:last-child {
    margin-bottom: 0 !important;
  }
}
input[type=file] {
  position: relative;
}

input[type=file]:focus {
  outline: none;
}

input[type=file]::before {
  content: "添付ファイル";
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 144px;
  height: 29px;
  background: #cfcfcf;
  border-radius: 6px;
}

@media screen and (max-width: 767px) {
  input[type=file]::before {
    width: 116px;
  }
}
input.wpcf7-submit {
  width: 240px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #5dc1cf;
  color: #fff;
  margin-right: auto;
  margin-left: auto;
  transition: 1s;
}

input.wpcf7-submit:hover {
  background: #339eac;
  transition: 1s;
}

.wpcf7-acceptance > .wpcf7-list-item > label > input[type=checkbox] {
  display: none;
}

.wpcf7-acceptance > .wpcf7-list-item > label > .wpcf7-list-item-label {
  position: relative;
  padding-left: 30px;
  margin-right: 18px;
  z-index: 1;
}

.wpcf7-acceptance > .wpcf7-list-item > label > .wpcf7-list-item-label::before {
  content: "";
  display: block;
  position: absolute;
  top: -3px;
  left: 0;
  width: 25px;
  height: 25px;
  border: 1px solid #dae0e5;
  background: #f8f9fa;
}

.wpcf7-acceptance > .wpcf7-list-item > label > input[type=checkbox]:checked + .wpcf7-list-item-label {
  color: #343a40;
}

.wpcf7-acceptance > .wpcf7-list-item > label > input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  content: "";
  display: block;
  position: absolute;
  top: -10px;
  left: 7px;
  width: 14px;
  height: 22px;
  transform: rotate(40deg);
  border-bottom: 4px solid #343a40;
  border-right: 4px solid #343a40;
}

@media screen and (max-width: 767px) {
  .wpcf7-acceptance > .wpcf7-list-item > label > .wpcf7-list-item-label::before {
    top: -5px;
  }
}
/* Contactform7 ここまで */
/* 動物愛護フェスティバル　ここから */
@media (min-width: 992px) {
  .message-wrap {
    padding: 50px 0 160px;
  }

  .message-container {
    display: flex;
  }

  .message-container_box_left {
    position: relative;
    width: 520px;
    height: auto;
    margin-right: 50px;
  }

  .message-container_img {
    position: relative;
  }

  .message-container_img_box {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc( 100% - 100px );
    height: 130px;
    background: #fff;
    bottom: -65px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
  }

  .message-container_img_box_title {
    font-size: 0.88vw;
    line-height: 1em;
    margin-bottom: 0.93vw;
  }

  .message-container_img_box_flex {
    display: flex;
    align-items: center;
  }

  .message-container_img_box_flex_jp {
    font-size: 1.56vw;
  }

  .message-container_img_box_flex_en {
    font-size: 0.93vw;
    color: #5dc1cf;
    margin-left: 22px;
  }

  .message-container_box_right {
    width: calc( 1280px - 570px );
  }

  .message-container_box_title {
    font-size: 38px;
    line-height: 1.578em;
    margin-bottom: 30px;
  }

  .message-container_box_text {
    line-height: 2em;
  }
}
@media (max-width: 991px) {
  .message-wrap {
    padding: 24px 0 48px;
  }

  .message-container {
    display: block;
  }

  .message-container_box_left {
    position: relative;
    width: 100%;
    height: auto;
    margin-bottom: 24px;
  }

  .message-container_img {
    position: relative;
  }

  .message-container_img_box {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc( 100% - 48px );
    height: 110px;
    background: #fff;
    bottom: -55px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
  }

  .message-container_img_box_title {
    line-height: 1em;
    margin-bottom: 12px;
  }

  .message-container_img_box_flex {
    display: flex;
    align-items: center;
  }

  .message-container_img_box_flex_jp {
    font-size: 1.2em;
  }

  .message-container_img_box_flex_en {
    color: #5dc1cf;
    margin-left: 12px;
  }

  .message-container_box_right {
    width: 100%;
  }

  .message-container_box_title {
    font-size: 21px;
    line-height: 1.578em;
    margin-bottom: 24px;
  }

  .message-container_box_text {
    line-height: 2em;
  }
}
/* 動物愛護フェスティバル　ここまで */
/* 出典概要　ここから */
@media (min-width: 992px) {
  .top-sec02-title {
    display: block;
    font-size: 36px;
    font-weight: bold;
    color: #5dc1cf;
    line-height: 2em;
  }

  .top-sec03 {
    position: relative;
  }

  .top-sec03-img01 {
    position: absolute;
    bottom: -30px;
    left: 0;
    z-index: 1;
  }

  .top-sec03-img02 {
    position: absolute;
    right: 30px;
    bottom: -30px;
    z-index: 1;
  }
}
@media (max-width: 991px) {
  .top-sec02-title {
    display: block;
    font-size: 16px;
    font-weight: bold;
    color: #5dc1cf;
    line-height: 2em;
  }

  .top-sec03 {
    position: relative;
  }

  .top-sec03-img01 {
    position: absolute;
    bottom: -30px;
    left: 0;
    z-index: 1;
  }

  .top-sec03-img01 img {
    width: 112px;
    height: auto;
  }

  .top-sec03-img02 {
    position: absolute;
    right: 15px;
    bottom: -45px;
    z-index: 1;
  }

  .top-sec03-img02 img {
    width: 70px;
    height: auto;
  }
}
@media (max-width: 320px) {
  .dn-xs {
    display: none;
  }
}
/* 出典概要　ここまで */
/* 出展者の応募期限　ここから */
@media (min-width: 992px) {
  .deadline-box {
    border: 3px solid #c87d2e;
    text-align: center;
    border-radius: 20px;
    overflow: hidden;
  }

  .deadline-box_header {
    background: #f29739;
    padding: 30px;
    color: #fff;
    font-weight: bold;
  }

  .deadline-box_date {
    padding: 30px;
    font-size: 36px;
    color: #f29739;
    font-weight: bold;
  }

  .deadline-box_date span {
    font-size: 1.5em;
  }

  .original-button01-wrap {
    padding: 0 30px 30px;
  }

  a.original-button01 {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    text-decoration: none;
    color: #fff;
    font-size: 24px;
    border-radius: 45px;
    width: 100%;
    height: 90px;
    font-weight: bold;
    border: 2px solid #339eac;
    transition: 0.3s;
    box-shadow: 5px 5px 0px 0px #339eac;
    background-color: #5dc1cf;
  }

  a.original-button01:hover {
    box-shadow: 0 0 #339eac;
    color: #fff;
    background-color: #339eac;
  }
}
@media (max-width: 991px) {
  .deadline-box {
    border: 3px solid #c87d2e;
    text-align: center;
    border-radius: 15px;
    overflow: hidden;
  }

  .deadline-box_header {
    background: #f29739;
    padding: 15px;
    color: #fff;
    font-weight: bold;
  }

  .deadline-box_date {
    padding: 15px;
    font-size: 4.8vw;
    color: #f29739;
    font-weight: bold;
  }

  .deadline-box_date span {
    font-size: 1.5em;
  }

  .original-button01-wrap {
    padding: 0 10px 10px;
  }

  a.original-button01 {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    text-decoration: none;
    color: #fff;
    font-size: 16px;
    border-radius: 40px;
    width: 100%;
    height: 80px;
    font-weight: bold;
    border: 2px solid #339eac;
    transition: 0.3s;
    box-shadow: 5px 5px 0px 0px #339eac;
    background-color: #5dc1cf;
    line-height: 1.3em;
  }

  a.original-button01:hover {
    box-shadow: 0 0 #339eac;
    color: #fff;
    background-color: #339eac;
  }
}
@media (max-width: 320px) {
  a.original-button01 {
    border-radius: 30px;
    height: 60px;
    font-size: 14px;
  }
}
/* 出展者の応募期限　ここまで */
/* 出展者の応募条件/資格 ここから */
.list-dot_inner {
  width: 100%;
}

.list-dot_inner li {
  position: relative;
  margin-bottom: 1em;
  padding-bottom: 1em;
  padding-left: 20px;
  border-bottom: 1px solid #5dc1cf;
}

.list-dot_inner li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.list-dot_inner li::after {
  position: absolute;
  content: "";
  top: 6px;
  left: 0;
  width: 10px;
  height: 10px;
  background: #5dc1cf;
  border-radius: 5px;
}

.list-dot {
  display: block;
}

@media (max-width: 767px) {
  .list-dot_inner li::after {
    top: 3px;
  }
}
/* 出展者の応募条件/資格 ここまで */
/* 開催までのスケジュール ここから */
.outline-list li:nth-child(even) {
  background: #fcfcfc;
}

.outline-list li:nth-child(5) {
  background: #98d8e0;
}

.outline-list li:nth-child(5) span {
  color: #fff;
}

@media (min-width: 992px) {
  .outline-list {
    width: 100%;
  }

  .outline-list li {
    padding: 1.5em 0;
    border-bottom: 1px solid #dcdcdc;
  }

  .outline-list li:first-child {
    border-top: 1px solid #dcdcdc;
  }

  .outline-list_inner {
    display: flex;
  }

  .outline-list_inner > span:first-child {
    width: 270px;
  }

  .outline-list_inner > span:last-child {
    width: calc( 100% - 270px );
  }

  .outline-list_inner > span {
    padding: 0 30px;
    font-weight: bold;
  }

  .outline-img {
    display: flex;
    flex-wrap: wrap;
  }

  .outline-img > div {
    width: calc( ( 100% - 40px ) / 2 );
  }

  .outline-img > div:not(:nth-child(even)) {
    margin-right: 40px;
  }

  .outline-img > div:not(:nth-last-child(1)):not(:nth-last-child(2)) {
    margin-bottom: 40px;
  }

  iframe.map-wrap {
    width: 100%;
    height: 580px;
  }
}
@media (max-width: 991px) {
  .outline-list {
    width: 100%;
  }

  .outline-list li {
    padding: 24px 0;
    border-bottom: 1px solid #dcdcdc;
  }

  .outline-list li:first-child {
    border-top: 1px solid #dcdcdc;
  }

  .outline-list_inner {
    display: flex;
  }

  .outline-list_inner > span:first-child {
    width: 40%;
  }

  .outline-list_inner > span:last-child {
    width: 60%;
  }

  .outline-list_inner > span {
    padding: 0 12px;
    font-weight: bold;
  }

  .outline-img {
    display: block;
  }

  .outline-img > div {
    width: 100%;
  }

  .outline-img > div:not(:last-child) {
    margin-bottom: 12px;
  }

  iframe.map-wrap {
    width: 100%;
    height: 420px;
  }
}
/* 開催までのスケジュール ここまで */
/* 協賛金募集　ここから */
@media (min-width: 992px) {
  .img-radius {
    border-radius: 20px;
    overflow: hidden;
  }
}
@media (max-width: 991px) {
  .img-radius {
    border-radius: 15px;
    overflow: hidden;
  }
}
/* 協賛金募集　ここまで */
/* お問い合わせ ここから */
.form-privacy-check {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 60px;
}

/* お問い合わせ　ここまで */
