@charset "UTF-8";
@import url(base.css);
@import url(fonts.css);
.inner,
img {
    max-width: 100%
}

#included-files-fie-on-wp-footer,
#menu-toggle,
.hnav .iContact,
.sp425 {
    display: none
}

.to-top,
a {
    transition: .2s
}

#menu-toggle,
.to-top,
header {
    position: fixed
}

.hnav-hv .hnav-menu-linksub::before,
.hnav-menu-link::before,
.hnav-menu-linksub::before {
    background-image: url(../images/linksub-arr.png);
    background-repeat: no-repeat;
    background-size: 15px auto
}

.hbsub-ttl,
.hnav-menu-link,
.hnav-menu-linksub,
a {
    font-family: var(--font-family)
}

.hbsub-bls li a::before,
.hbsub-ttl:before,
.hbsub::before,
.iBttl::before,
.to-top>a:before {
    position: absolute;
    content: ""
}

.hbsub-bls li a,
.hd-blogo a,
.iBtel-nb,
.to-top>a {
    text-decoration: none
}

#menu-toggle,
.to-top>a,
button {
    cursor: pointer
}

:root {
    --content-width: 1230px;
    --font-yugothic: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    --font-yumincho: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
    --font-meiryo: "Meiryo UI", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
    --font-arial: Arial, Helvetica, sans-serif;
    --color-primary: #1c7fd1;
    --color-secondary: #55b6e8;
    --color-black: #333333;
    --color-gray: #cccccc;
    --color-white: #fff;
    --color-origen: #e68432;
    --text-line-height: 1.8em;
    --font-family: "Noto Sans JP", sans-serif;
    --font-quicksand: "Quicksand", sans-serif;
    --font-zenkaku: "Zen Kaku Gothic Antique", sans-serif;
    --body-color: #333333;
    --hhd: 120px
}

address,
blockquote,
button,
dd,
dt,
h1,
h2,
h3,
h4,
h5,
h6,
input,
li,
p,
pre,
select,
td,
textarea,
th {
    font-size: 160%;
    -webkit-text-size-adjust: none;
    font-family: var(--font-family)
}

input[type=email],
input[type=number],
input[type=tel],
input[type=text],
select,
textarea {
    width: 100%;
    border: 1px solid #999;
    padding: 10px
}

textarea {
    resize: vertical
}

::placeholder {
    opacity: .5
}

.hbsub,
.to-top {
    visibility: hidden;
    opacity: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.6em
}

a {
    color: var(--color-primary)
}

select {
    visibility: visible!important
}

[href^="tel:"] {
    word-break: keep-all;
    white-space: nowrap
}

img {
    vertical-align: middle;
    flex-shrink: 0;
    height: auto;
    object-fit: cover
}

table {
    width: 100%
}

p {
    margin-bottom: 1.85em;
    line-height: 1.8em
}

p:last-child {
    margin-bottom: 0
}

button {
    border: 1px solid #333;
    border-radius: 0;
    outline: 0;
    box-shadow: none
}

*,
::after,
::before {
    box-sizing: border-box;
    outline: 0
}

html {
    background: #fff
}

.hbsub-bls li a::before,
.iLsbbtn li a::before,
.iMvs-lsdes ul li,
header {
    background-color: var(--color-white)
}

body {
    min-width: 320px;
    -webkit-text-size-adjust: none;
    color: var(--body-color)
}

#wrapper {
    max-width: 1920px;
    min-width: var(--content-width);
    margin: 0 auto;
    overflow: hidden
}

.inner {
    width: var(--content-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px
}

.iMvs,
header {
    max-width: 1920px
}

.customize-support header {
    margin-top: 32px
}

@media screen and (max-width:782px) {
    .customize-support header {
        margin-top: 46px!important
    }
}

@media screen and (max-width:600px) {
    .customize-support header {
        margin-top: 0!important
    }
}

#wpadminbar .hover .show-template-name,
#wpadminbar .show-template-name {
    text-shadow: none
}

#wpadminbar #wp-admin-bar-included_files_path .ab-item {
    height: auto;
    padding-bottom: 1rem
}

#wpadminbar #wp-admin-bar-included_files_path .ab-item div {
    font-family: monospace;
    text-shadow: none;
    color: #fff
}

#wpadminbar #wp-admin-bar-included_files_path .ab-item #included-files-list li:hover,
#wpadminbar .hover .show-template-name:hover {
    color: #2ea2cc
}

#wpadminbar #wp-admin-bar-included_files_path .ab-item #included-files-list li {
    line-height: 1.5
}

#wpadminbar #included-files-list {
    margin-left: 20px
}

#wp-admin-bar-show_template_file_name_on_top-default {
    max-height: 90vh;
    overflow-x: hidden
}

#wpadminbar #wp-admin-bar-aioseo-main .aioseo-logo {
    display: inline-block!important;
    height: 23px!important;
    transform: translateY(6px)
}

.mb0 {
    margin-bottom: 0!important
}

.mb5 {
    margin-bottom: 5px!important
}

.mb10 {
    margin-bottom: 10px!important
}

.mb15 {
    margin-bottom: 15px!important
}

.mb20 {
    margin-bottom: 20px!important
}

.mb25 {
    margin-bottom: 25px!important
}

.mb30 {
    margin-bottom: 30px!important
}

.mb35 {
    margin-bottom: 35px!important
}

.mb40 {
    margin-bottom: 40px!important
}

.mb45 {
    margin-bottom: 45px!important
}

.mb50 {
    margin-bottom: 50px!important
}

.iBtel,
.iBtel-nb,
.iBttl {
    margin-bottom: 0
}

.mt0 {
    margin-top: 0!important
}

.mt5 {
    margin-top: 5px!important
}

.mt10 {
    margin-top: 10px!important
}

.mt15 {
    margin-top: 15px!important
}

.mt20 {
    margin-top: 20px!important
}

.mt25 {
    margin-top: 25px!important
}

.mt30 {
    margin-top: 30px!important
}

.mt35 {
    margin-top: 35px!important
}

.mt40 {
    margin-top: 40px!important
}

.mt45 {
    margin-top: 45px!important
}

.mt50 {
    margin-top: 50px!important
}

.ml0 {
    margin-left: 0!important
}

.ml5 {
    margin-left: 5px!important
}

.ml10 {
    margin-left: 10px!important
}

.ml15 {
    margin-left: 15px!important
}

.ml20 {
    margin-left: 20px!important
}

.ml25 {
    margin-left: 25px!important
}

.ml30 {
    margin-left: 30px!important
}

.ml35 {
    margin-left: 35px!important
}

.ml40 {
    margin-left: 40px!important
}

.ml45 {
    margin-left: 45px!important
}

.ml50 {
    margin-left: 50px!important
}

.mr0 {
    margin-right: 0!important
}

.mr5 {
    margin-right: 5px!important
}

.mr10 {
    margin-right: 10px!important
}

.mr15 {
    margin-right: 15px!important
}

.mr20 {
    margin-right: 20px!important
}

.mr25 {
    margin-right: 25px!important
}

.mr30 {
    margin-right: 30px!important
}

.mr35 {
    margin-right: 35px!important
}

.mr40 {
    margin-right: 40px!important
}

.mr45 {
    margin-right: 45px!important
}

.mr50 {
    margin-right: 50px!important
}

.w0 {
    width: 0%
}

.w5 {
    width: 5%
}

.w10 {
    width: 10%
}

.w15 {
    width: 15%
}

.w20 {
    width: 20%
}

.w25 {
    width: 25%
}

.w30 {
    width: 30%
}

.w35 {
    width: 35%
}

.w40 {
    width: 40%
}

.w45 {
    width: 45%
}

.w50 {
    width: 50%
}

#menu-toggle {
    width: 40px;
    height: 40px;
    background-color: var(--color-primary);
    z-index: 100;
    top: 10px;
    right: 15px
}

#menu-toggle>span {
    position: absolute;
    width: 80%;
    height: 2px;
    background: #fff;
    opacity: 1;
    left: 10%;
    transition: .2s ease-in-out
}

#menu-toggle>span:first-child {
    top: 12px
}

#menu-toggle>span:nth-child(2),
#menu-toggle>span:nth-child(3) {
    top: 20px
}

#menu-toggle>span:nth-child(4) {
    top: 28px
}

#menu-toggle.open span:first-child,
#menu-toggle.open span:nth-child(4) {
    top: 22px;
    width: 0%;
    left: 50%
}

#menu-toggle.open span:nth-child(2) {
    transform: rotate(45deg)
}

#menu-toggle.open span:nth-child(3) {
    transform: rotate(-45deg)
}

.to-top {
    z-index: 30;
    bottom: 20px;
    right: 20px;
    transform-origin: 50% 100%;
    transform: scale(.5)
}

.to-top>a {
    display: block;
    width: 60px;
    height: 60px;
    background: var(--color-primary);
    border-radius: 5px
}

.d-flex,
.d-flex-column,
.flex-center-all,
.flex-wrap,
.ft-bmenu-col,
.ft-bmenu-menu,
.hd-blogo,
.hd-container,
.hnav-menu,
.iContact-lsitem>ul,
.iGuide-lsitem ul {
    display: flex;
    display: flex
}

.to-top>a:before {
    z-index: 1;
    width: 14px;
    height: 14px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotateZ(-45deg);
    left: 23px;
    top: 26px
}

.to-top.show {
    transform: scale(1);
    opacity: 1;
    visibility: visible
}

.d-flex-column,
.ft-bmenu-col,
.ft-bmenu-menu {
    flex-direction: column
}

.flex-wrap {
    flex-wrap: wrap
}

.flex-center-all {
    justify-content: center;
    align-items: center;
    text-align: center
}

.left {
    text-align: left
}

.center {
    text-align: center
}

.right {
    text-align: right
}

.bold {
    font-weight: 700
}

.text-large {
    font-size: 130%
}

.text-small {
    font-size: 80%
}

.text-red {
    color: red
}

header {
    width: 100%;
    height: var(--hhd);
    top: 0;
    left: 0;
    z-index: 40
}

header.show {
    box-shadow: 0 1px 10px rgba(0, 0, 0, .2)
}

.hd-container {
    height: 100%;
    width: 100%;
    padding: 0 15px;
    --wblogo: 270px
}

.hd-blogo {
    width: var(--wblogo);
    align-items: center;
    justify-content: center
}

.hbsub,
.hd-blogo a {
    display: flex;
    align-items: center
}

.hd-blogo a {
    width: 100%;
    height: fit-content;
    justify-content: center
}

.hnav {
    width: calc(100% - var(--wblogo));
    display: flex;
    justify-content: flex-end
}

.hnav-menu>ul {
    display: flex;
    margin-right: 18px;
    margin-top: 18px
}

.hnav-menu>ul>li {
    margin-top: 15px;
    height: calc(100% - 15px)
}

.hnav-menu>ul>li:not(:last-child) {
    margin-right: 28px
}

.hnav-menu-link,
.hnav-menu-linksub {
    font-weight: 600;
    font-size: 16px;
    padding-top: 17px;
    text-decoration: none;
    line-height: 1.2em;
    color: var(--body-color);
    position: relative;
    z-index: 0;
    height: 100%;
    display: flex
}

.hbsub-bls li a,
.hbsub-ttl {
    color: var(--color-white);
    letter-spacing: .05em;
    line-height: 1.2em
}

.hnav-menu-link::before,
.hnav-menu-linksub::before {
    position: absolute;
    content: "";
    width: calc(100% + 37px);
    height: calc(100% + 2px);
    top: 0;
    left: -20px;
    background-position: bottom 24px center;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    z-index: -1;
    transition: .3s
}

.hbsub,
.hbsub::before {
    left: 50%;
    transform: translateX(-50%)
}

.hnav-menu-link {
    height: fit-content;
    padding-bottom: 17px
}

.hnav-hv .hnav-menu-linksub::before {
    background-position: bottom 25px center
}

.hbsub {
    position: fixed;
    top: var(--hhd);
    z-index: 5;
    width: 1300px;
    min-height: 240px;
    transition: .3s
}

.hbsub-bls li a,
.hbsub-ttl,
.iBttl {
    position: relative
}

.hbsub-img,
.hbsub-ttl {
    align-items: center;
    display: flex
}

.hbsub::before {
    width: 200vw;
    height: 100%;
    top: 0;
    background-color: var(--color-secondary);
    z-index: -1;
    box-shadow: 0 5px 5px rgba(0, 0, 0, .2)
}

.hbsub-ttl {
    font-size: 20px;
    font-weight: 700;
    padding-top: 3px;
    margin-right: 49px
}

.hbsub-ttl:before {
    right: -50px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 1px;
    height: 240px;
    background: #fff
}

.iBtel-nb,
.iBttl::before {
    background-repeat: no-repeat
}

.hbsub-img {
    order: 2;
    margin-left: 50px
}

.hbsub-bls {
    display: flex;
    padding: 0 0 0 50px
}

.hbsub-bls ul:not(:last-child) {
    margin-right: 50px
}

.hbsub-bls li:not(:last-child) {
    margin-bottom: 24px
}

.hbsub-bls li a {
    font-size: 18px;
    font-weight: 500;
    margin-left: 23px
}

.hbsub-bls li a::before {
    width: 15px;
    height: 2px;
    top: 13px;
    left: -23px
}

.ibtnContact {
    display: flex;
    align-items: center
}

.iBtel {
    display: flex;
    flex-direction: column;
    margin-right: 16px;
    justify-content: center
}

.iBtel-nb {
    font-size: 32px;
    font-family: var(--font-quicksand);
    font-weight: 600;
    line-height: 1.2em;
    color: var(--color-origen);
    padding-left: 37px;
    background-image: url(../images/idx-icon-tel.png);
    background-size: 30px auto;
    background-position: center left
}

.iBtel-des {
    font-family: var(--font-family);
    display: block;
    font-size: 16px;
    font-weight: 500;
    /* padding-left: 33px */
}

.iBtel-des .ics-size {
    display: inline-block;
    font-size: 14px;
    font-family: var(--font-family)
}

.iAbout::after,
.iBttl-nb {
    font-family: var(--font-quicksand)
}

.iBttl {
    width: 154px;
    height: 87px;
    border: 1px solid var(--color-secondary);
    border-right: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 0;
    text-align: center;
    margin-right: 25px
}

.iLine,
.iMail {
    height: 88px;
    text-decoration: none
}

.iMail,
.iMvs-lsdes ul,
.iMvs-lsdes ul li:not(:last-child) {
    margin-right: 10px
}

.iBttl::before {
    width: 17px;
    height: calc(100% + 2px);
    top: -1px;
    right: -16px;
    background-image: url(../images/idx-bfcs.png);
    background-size: auto 100%;
    background-position: top right
}

.iLine::before,
.iMail::before {
    position: absolute;
    width: 100%;
    height: calc(100% - 4px);
    content: "";
    border-radius: 10px
}

.iBttl-btxt {
    display: block;
    font-size: 20px;
    line-height: 1.4em;
    font-weight: 600;
    color: var(--color-secondary)
}

.iBttl-nb {
    display: inline-block;
    font-size: 28px
}

.iMail,
.iMail-col {
    display: flex;
    position: relative
}

.iMail {
    width: 305px;
    border-radius: 10px;
    background-color: #ac4e00;
    align-items: center;
    justify-content: center
}

.iLine-col,
.iMail-col {
    flex-direction: column;
    background-position: center left;
    font-weight: 700;
    background-repeat: no-repeat;
    color: var(--color-white)
}

.iMail::before {
    background-color: var(--color-origen);
    top: 0;
    transition: .3s
}

.iMail-col {
    padding-left: 51px;
    background-image: url(../images/idx-icon-mail.png);
    background-size: 34px auto
}

.iMail-txtsmall {
    font-size: 16px;
    display: block;
    margin-bottom: 3px
}

.iMail-txtbig {
    font-size: 18px;
    display: block
}

.iLine,
.iLine-col {
    display: flex;
    position: relative
}

.iLine {
    width: 242px;
    border-radius: 10px;
    background-color: #06863a;
    align-items: center;
    justify-content: center;
    padding-bottom: 5px
}

.iLine::before {
    background-color: #06c755;
    top: 0
}

.iLine-col {
    padding-left: 59px;
    background-image: url(../images/idx-icon-line.png);
    background-size: 50px auto;
    left: -9px
}

.iLine-txtbig {
    font-size: 20px;
    display: inline-block;
    margin-bottom: 3px
}

.iMvs,
.iMvs-container {
    width: 100%;
    margin: 0 auto;
    position: relative
}

.iLine-txtsmall {
    font-size: 18px;
    display: inline-block
}

.iLine-small {
    font-size: 16px;
    display: inline-block
}

.hnav-menu-link::before {
    height: 100%;
    background-image: none
}

.iMvs {
    height: 621px;
    background-color: var(--color-secondary);
    z-index: 0
}

.iMvs-container {
    height: 100%;
    max-width: 1800px;
    padding: 0 15px;
    z-index: 1
}

.iMvs-lsimg {
    position: absolute;
    width: 998px;
    height: 100%;
    top: 0;
    right: -60px;
    z-index: -1
}

.iMvs-lsimg li {
    width: 100%;
    height: 100%
}

.iMvs-lsimg li:first-child {
    background-image: url(../images/imvs-img-pc.png);
    background-repeat: no-repeat;
    background-size: 1094px auto;
    background-position: top -3px left
}

.iMvs-cnt {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding-top: 58px
}

.iMvs-ttlstyle {
    font-size: 36px;
    color: var(--color-white);
    font-weight: 700;
    text-shadow: 0 10px 30px #2e96cb, 0 10px 30px #2e96cb, 0 10px 30px #2e96cb;
    position: relative;
    padding-left: 204px;
    line-height: 1.2em;
    margin-bottom: 17px;
    letter-spacing: .045em
}

.iMvs-ttlstyle-small {
    position: absolute;
    top: -19px;
    left: 0;
    background-image: url(../images/iMvs-ttlstyle-small.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top 0 left -2px;
    display: flex;
    justify-content: center;
    padding: 0;
    letter-spacing: .06em;
    width: 195px;
    height: 73px;
    text-align: center
}

.iBanner-bbig::after,
.iBanner-bbig::before,
.iBanner-bfitem,
.iBanner-bitem::after,
.iBanner-bitem::before {
    background-repeat: no-repeat;
    background-position: center
}

.iMvs-ttlstyle-small>span {
    display: inline-block;
    position: absolute;
    top: 12px;
    left: 21px;
    transform: rotate(357deg)
}

.iMvs-ttlbig {
    font-size: 54px;
    font-family: var(--font-zenkaku);
    color: var(--color-white);
    font-weight: 700;
    text-shadow: 0 10px 30px #2e96cb, 0 10px 30px #2e96cb;
    line-height: 1.2em;
    padding-left: 7px;
    letter-spacing: .1em;
    margin-bottom: 46px
}

.iMvs-info-ttl,
.iMvs-lsdes-txt {
    font-size: 32px;
    font-weight: 700
}

.iLsbbtn li a,
.iMvs-info-ttl,
.iMvs-lsdes-txt {
    font-family: var(--font-family)
}

.iMvs-lsdes {
    display: flex;
    margin-left: 1px;
    margin-bottom: 60px
}

.iMvs-lsdes ul {
    display: flex
}

.iMvs-lsdes ul li {
    min-width: 100px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: var(--body-color);
    font-weight: 700;
    padding: 9px 5px;
    line-height: 1.2em
}

.iAbout-frame-ttl .ittl,
.iLsbbtn li a,
.iMvs-info-des,
.iMvs-info-ttl,
.iMvs-lsdes-txt {
    color: var(--color-white)
}

.iMvs-lsdes-txt {
    text-shadow: 0 10px 30px #2e96cb, 0 10px 30px #2e96cb, 0 10px 30px #2e96cb;
    line-height: 1em
}

.iBanner-bbig-ttl,
.iBanner-bflex-ttl {
    text-shadow: 2px 0 14px rgba(0, 0, 0, .4)
}

.iMvs-lsdes-txt .ics-sz01 {
    font-size: 28px;
    display: inline-block;
    margin-right: -13px
}

.iMvs-lsdes-txt .ics-sz02 {
    font-size: 26px;
    display: inline-block;
    margin-left: -12px
}

.iMvs-lsdes-txt .ispace {
    display: inline-block;
    margin-right: -26px
}

.iMvs-info {
    width: 1000px;
    display: flex;
    flex-direction: column;
    padding: 32px 20px 28px 40px;
    margin-left: 3px;
    position: relative;
    background-color: transparent
}

.iMvs-info::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: var(--color-primary);
    mix-blend-mode: multiply;
    clip-path: polygon(0 0, 962px 0%, 100% 100%, 0% 100%);
    z-index: 1
}

.iAbout::before,
.iClippath::before {
    content: "";
    z-index: -1;
    background-color: #37a3db
}

.iMvs-info-bflex {
    display: flex;
    margin-bottom: 25px;
    position: relative;
    z-index: 1
}

.iMvs-info-img {
    position: absolute;
    top: -52px;
    right: 11px
}

.iMvs-info-ttl {
    line-height: 1.4em;
    margin-bottom: 0
}

.iMvs-info-ttl .ispace {
    display: inline-block;
    letter-spacing: .15em
}

.iMvs-info-des {
    font-size: 9px;
    font-weight: 400;
    line-height: 1.7em;
    position: relative;
    z-index: 1
}

.iH3-ttl,
.iH4-ttl {
    font-family: var(--font-zenkaku);
    font-weight: 900;
    color: var(--body-color)
}

.iMvs-itemlink {
    width: 198px;
    height: 198px;
    position: absolute;
    bottom: 38px;
    right: 9px;
    z-index: 5;
    transform: translateY(0);
    transition: .3s
}

.iAbout,
.iAbout-bframe,
.iClippath,
.iLsbbtn li a,
.iWaterproof {
    position: relative
}

main {
    margin-top: var(--hhd)
}

.iH3-ttl {
    font-size: 43px;
    line-height: 1.57em;
    margin-bottom: 70px;
    letter-spacing: .07em;
    border-bottom: 2px solid #37a3db;
    padding-bottom: 28px
}

.iAbout-txt,
.iH4-ttl,
.iLsbbtn li a {
    letter-spacing: .1em
}

.iH4-ttl {
    font-size: 42px;
    line-height: 1.2em
}

.iLsbbtn li {
    width: fit-content;
    height: fit-content
}

.iLsbbtn li a {
    min-width: 280px;
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-origen);
    border-radius: 10px;
    font-size: 20px;
    font-weight: 600;
    padding: 15px;
    text-decoration: none;
    background-image: url(../images/ibtn-arr.png);
    background-repeat: no-repeat;
    background-size: 8px auto;
    background-position: center right 10px;
    transition: .3s
}

.iLsbbtn li a::before {
    position: absolute;
    content: "";
    width: 30px;
    height: 2px;
    top: 50%;
    transform: translateY(-50%);
    left: 0
}

.iOnebox {
    height: 2478px;
    background-color: var(--color-secondary);
    padding-top: 76px;
    margin-bottom: -121px
}

.iClippath {
    width: 100%;
    max-width: 1920px;
    z-index: 0;
    display: flex;
    flex-direction: column;
    margin: 0 auto
}

.iClippath::before {
    position: absolute;
    top: 100px;
    left: -370px;
    width: calc(100% + 744px);
    height: calc(100% - 21px);
    clip-path: polygon(calc(0% + 720px) 0, calc(100% + 0px) 0, calc(100% - 720px) 100%, calc(0% - 0px) 100%)
}

.iAbout {
    width: calc(100% - 37px);
    background-color: var(--color-white);
    max-width: 1920px;
    border: 4px solid var(--color-secondary);
    border-right: none;
    padding: 145px 0 140px 53px;
    margin: 0 0 92px auto
}

.iAbout-frame,
.iWaterproof-lsitem li {
    background-color: var(--color-primary)
}

.iAbout::before {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 23px;
    left: -19px
}

.iAbout::after {
    position: absolute;
    content: attr(data-text);
    bottom: -47px;
    right: -2px;
    font-size: 240px;
    line-height: 1em;
    font-weight: 400;
    color: rgba(85, 182, 232, .1);
    z-index: 0
}

.iAbout-container {
    width: 100%;
    max-width: 1630px;
    padding: 0 15px;
    margin: 0 auto
}

.iAbout-cnt {
    display: block;
    margin: 0 auto 71px
}

.iAbout-cnt .iH3-ttl {
    font-size: 43px;
    overflow: hidden
}

.iAbout-img {
    --mr: clamp(30px, 7.865vw, 151px);
    margin-right: min((100vw - 100%) / -2, -130px);
    margin-top: -5px;
    float: right;
    width: calc(100% - 845px - var(--mr) + (100vw - 100%)/ 2);
    min-width: 610px;
    margin-left: var(--mr)
}

.iAbout-btxt {
    max-width: 845px;
    overflow: hidden
}

.iAbout-txt {
    font-size: 18px;
    font-family: var(--font-family);
    font-weight: 500;
    color: var(--body-color);
    line-height: 1.88em;
    overflow: hidden
}

.iAbout-bframe {
    width: 100%;
    display: flex;
    z-index: 1
}

.iAbout-frame {
    width: 100%;
    max-width: 844px;
    min-height: 199px;
    padding: 20px 0;
    display: flex;
    margin-right: 150px;
    --wttl: 324px
}

.iAbout-frame-ttl {
    width: var(--wttl);
    border-right: 2px solid rgba(255, 255, 255, .5);
    display: flex;
    justify-content: center;
    align-items: center
}

.iAbout-frame-ttl .ittl {
    font-size: 32px;
    font-family: var(--font-family);
    font-weight: 700;
    line-height: 1.5em;
    margin-bottom: 3px;
    margin-left: 33px;
    letter-spacing: .05em
}

.iAbout-frame-lsitem ul li,
.iWaterproof-lsitem .ides,
.iWaterproof-lsitem .ittl {
    line-height: 1.2em;
    color: var(--color-white)
}

.iAbout-frame-lsitem {
    width: calc(100% - var(--wttl));
    display: flex;
    padding: 48px 40px
}

.iAbout-frame-lsitem ul:not(:last-child) {
    margin-right: 67px
}

.iAbout-frame-lsitem ul li {
    font-size: 20px;
    font-family: var(--font-family);
    font-weight: 700;
    padding-left: 12px;
    position: relative
}

.iAbout-frame-lsitem ul li:not(:last-child) {
    margin-bottom: 14px
}

.iAbout-frame-lsitem ul li::before {
    position: absolute;
    content: "";
    width: 5px;
    height: 5px;
    top: 10px;
    left: 0;
    border-radius: 100%;
    background-color: var(--color-white)
}

.iAbout .iLsbbtn {
    display: flex;
    margin-top: 121px
}

.iAbout .iLsbbtn li:not(:last-child) {
    margin-right: 40px
}

.iWaterproof {
    width: calc(100% - 38px);
    min-height: 993px;
    background-color: var(--color-white);
    border: 4px solid var(--color-secondary);
    max-width: 1920px;
    padding: 140px 0 0 36px;
    margin: 0 auto 0 0;
    display: flex
}

.iWaterproof::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background-color: #37a3db;
    top: 26px;
    left: 15px;
    z-index: -1
}

.iWaterproof-bfdata {
    position: absolute;
    content: attr(data-text);
    bottom: -68px;
    right: 24px;
    font-size: 240px;
    font-family: var(--font-quicksand);
    font-weight: 400;
    color: rgba(85, 182, 232, .1);
    z-index: 0;
    display: flex;
    flex-direction: column
}

.iWaterproof-bfdata span {
    line-height: 1em;
    display: block
}

.iWaterproof-bfdata span:first-child {
    position: relative;
    right: -4px;
    top: 50px;
    letter-spacing: .022em
}

.iWaterproof-bfdata span:last-child {
    position: relative;
    right: -27px;
    top: 0;
    letter-spacing: 0
}

.iWaterproof-container {
    width: 100%;
    max-width: 1630px;
    padding: 0 15px;
    margin: 0 auto;
    display: flex;
    --wlsitem: 687px
}

.iWaterproof-lsitem {
    width: var(--wlsitem);
    display: flex;
    flex-direction: column
}

.iWaterproof-lsitem li {
    width: calc(100% - 6px);
    min-height: 126px;
    position: relative;
    box-shadow: 6px 8px 0 rgba(9, 82, 119, .2);
    display: flex;
    flex-direction: column;
    padding: 25px 43px 25px 47px;
    transition: .3s
}

.iWaterproof-lsitem li::before {
    position: absolute;
    content: "";
    width: 6px;
    height: calc(100% - 21px);
    background-color: #a4dbf7;
    top: 10px;
    left: 10px;
    border-radius: 5px
}

.iWaterproof-lsitem li:not(:last-child) {
    margin-bottom: 19px
}

.iWaterproof-lsitem li a {
    text-decoration: none
}

.iWaterproof-lsitem .ittl {
    font-size: 28px;
    font-family: var(--font-zenkaku);
    font-weight: 700;
    margin-bottom: 14px;
    display: block;
    letter-spacing: .1em
}

.iWaterproof-lsitem .ides,
.iWaterproof-txt {
    font-family: var(--font-family);
    font-weight: 500;
    letter-spacing: .1em
}

.iWaterproof-lsitem .ides {
    font-size: 20px;
    margin-bottom: 0;
    display: block;
    margin-left: 3px
}

.iWaterproof-bcnt {
    width: calc(100% - var(--wlsitem));
    padding: 76px 32px 0 128px
}

.iWaterproof-btxt {
    margin-left: 10px;
    margin-bottom: 79px
}

.iWaterproof-txt {
    font-size: 18px;
    color: var(--body-color);
    line-height: 1.88em
}

.iWaterproof .iLsbbtn {
    display: flex;
    justify-content: flex-end
}

.iBanner {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto 138px
}

.iAdvantage-container,
.iBanner-container {
    width: 100%;
    max-width: 1630px;
    margin: 0 auto;
    padding: 0 15px
}

.iAdvantage,
.iContact,
.iGuide,
footer {
    max-width: 1920px
}

.iBanner-bflex {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin: 0 auto 60px
}

.iBanner-bfitem,
.iBanner-bitem {
    flex-direction: column;
    display: flex
}

.iBanner-bflex-ttl {
    font-size: 44px;
    font-family: var(--font-zenkaku);
    color: var(--color-white);
    font-weight: 700;
    line-height: 1.2em;
    margin-bottom: 27px;
    letter-spacing: .1em
}

.iBanner-bbig-des,
.iBanner-bflex-des {
    font-size: 24px;
    letter-spacing: .1em;
    font-weight: 700
}

.iBanner-bbig-des,
.iBanner-bfitem .itext,
.iBanner-bflex-des,
.iBanner-bflex-lstxt li {
    font-family: var(--font-family);
    line-height: 1.2em
}

.iBanner-bflex-des {
    width: fit-content;
    color: var(--body-color);
    margin-bottom: 0;
    position: relative;
    padding: 6px 21px 9px 16px;
    z-index: 0;
    margin-left: 2px
}

.iBanner-bflex-des::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-white);
    clip-path: polygon(0 0, 100% 0, 95% 100%, 0% 100%);
    z-index: -1
}

.iBanner-bflex-lstxt {
    position: absolute;
    bottom: 0;
    left: 0;
    min-width: 265px;
    min-height: 176px;
    background-color: rgba(85, 182, 232, .8);
    z-index: 1;
    border-bottom-left-radius: 20px;
    padding: 34px 15px 0 27px
}

.iBanner-bbig,
.iBanner-bitem {
    position: relative;
    transform: translateY(0);
    transition: .3s
}

.iBanner-bflex-lstxt li {
    font-size: 22px;
    color: var(--color-white);
    font-weight: 600;
    letter-spacing: .11em
}

.iBanner-bflex-lstxt li:not(:last-child) {
    margin-bottom: 15px
}

.iBanner-bitem {
    width: 760px;
    height: 360px;
    z-index: 0;
    padding: 38px 47px
}

.iBanner-bitem::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-size: cover;
    border-radius: 30px;
    z-index: -1
}

.iBanner-bitem::after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/iBanner-bitem-bd.png);
    background-size: calc(100% - 20px) calc(100% - 20px);
    z-index: 0;
    padding: 10px;
    border: 10px solid #eef8fe;
    border-radius: 20px
}

.iBanner-bitem:first-child::before {
    background-image: url(../images/iBanner-item-01.jpg)
}

.iBanner-bitem:nth-child(2)::before {
    background-image: url(../images/iBanner-item-02.jpg)
}

.iBanner-bitem>a {
    position: absolute;
    width: 100%;
    height: calc(100% + 40px);
    bottom: 0;
    left: 0;
    z-index: 2
}

.iBanner-bbig::after,
.iBanner-bbig::before,
.iBanner-bbig>a {
    width: 100%;
    height: 100%;
    left: 0
}

.iBanner-bbig {
    width: 100%;
    min-height: 360px;
    border-radius: 35px;
    background-color: var(--color-primary);
    z-index: 0;
    padding: 73px 81px
}

.iBanner-bbig::before {
    position: absolute;
    content: "";
    top: 0;
    background-image: url(../images/iBanner-item-03.jpg);
    background-size: cover;
    border-radius: 35px;
    z-index: -1
}

.iBanner-bbig::after {
    position: absolute;
    content: "";
    top: 0;
    background-image: url(../images/iBanner-bitem-bd02.png);
    background-size: calc(100% - 20px) calc(100% - 20px);
    z-index: 0;
    padding: 10px;
    border: 10px solid #55b6e8;
    border-radius: 20px
}

.iBanner-bbig-des {
    width: fit-content;
    color: var(--color-white);
    margin-bottom: 26px;
    padding: 13px 25px 14px 16px;
    background-color: #e68432;
    clip-path: polygon(0 0, 100% 0, calc(98% - 1px) 100%, 0% 100%)
}

.iBanner-bbig-ttl {
    font-size: 44px;
    font-family: var(--font-zenkaku);
    color: var(--color-white);
    line-height: 1.48em;
    font-weight: 700;
    margin-left: -2px;
    letter-spacing: .1em
}

.iBanner-bbig>a {
    position: absolute;
    bottom: 0;
    z-index: 2
}

.iBanner-bfitem {
    position: absolute;
    top: -40px;
    right: 34px;
    width: 180px;
    height: 180px;
    background-image: url(../images/iBanner-bitem-round.png);
    background-size: cover;
    border-radius: 50%;
    z-index: 1;
    align-items: center;
    justify-content: center
}

.iAdvantage,
footer::before {
    background-repeat: no-repeat;
    background-size: 1920px auto
}

.iBanner-bfitem .itext {
    font-size: 40px;
    color: var(--color-white);
    font-weight: 700;
    display: inline-block;
    text-align: center
}

.iBanner-bfitem .inumber {
    font-size: 60px;
    font-family: var(--font-quicksand);
    color: var(--color-white);
    font-weight: 700;
    line-height: 1em;
    margin-right: 5px;
    display: inline-block
}

.iAdvantage-bttl-nb,
.iAdvantage::before {
    font-family: var(--font-quicksand);
    font-weight: 400
}

.iAdvantage {
    width: 100%;
    background-image: url(../images/iAdvantage-bg.jpg);
    background-position: top center;
    padding: 155px 0 160px;
    position: relative
}

.iAdvantage::before {
    position: absolute;
    content: attr(data-text);
    width: 100%;
    text-align: center;
    font-size: 240px;
    color: rgba(255, 255, 255, .05);
    line-height: 1.2em;
    top: 37px;
    left: calc(50% - 950px);
    letter-spacing: .013em
}

.iAdvantage .iH3-ttl {
    width: fit-content;
    text-align: center;
    margin: 0 auto 98px;
    padding-bottom: 0;
    border-bottom: none;
    color: var(--color-white)
}

.iAdvantage-bcol {
    width: 100%;
    display: flex;
    flex-direction: column;
    margin: 0 auto 100px
}

.iAdvantage-bsec {
    width: 100%;
    display: flex;
    position: relative;
    z-index: 0
}

.iAdvantage-bsec:not(:last-child) {
    margin: 0 auto 99px
}

.iAdvantage-bsec.iwrap {
    flex-direction: row-reverse
}

.iAdvantage-bsec.iwrap .iAdvantage-bsec-img {
    right: auto;
    left: 0
}

.iAdvantage-bsec.iwrap .iAdvantage-bttl {
    margin-left: auto;
    margin-right: 0
}

.iAdvantage-bsec-cnt {
    width: 1000px;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 1;
    margin-top: 87px
}

.iAdvantage-bsec-img {
    width: 700px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1
}

.iAdvantage-bttl {
    width: calc(100% - 60px);
    background-color: var(--color-primary);
    display: flex;
    margin-bottom: -105px;
    position: relative;
    z-index: 1;
    --wnb: 172px
}

.iAdvantage-binfo,
.iGuide {
    position: relative;
    z-index: 0
}

.iAdvantage-bttl-nb {
    width: var(--wnb);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 100px;
    color: var(--color-white);
    background-color: #54b4e7;
    padding: 0 0 0 7px;
    min-height: 172px;
    letter-spacing: .02em;
    position: relative
}

.iAdvantage-binfo,
.iGuide .iH4-ttl span,
.iGuide-container,
.iGuide-lsitem a::after {
    background-color: var(--color-white)
}

.iAdvantage-bttl-ttl,
.iGuide-lsfframe li {
    font-weight: 700;
    display: flex;
    color: var(--color-white)
}

.iAdvantage-bttl-nb::before {
    position: absolute;
    content: "";
    top: calc(50% + 3px);
    transform: translateY(-50%);
    left: 100%;
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-left: 8px solid #54b4e7;
    border-bottom: 7px solid transparent
}

.iAdvantage-bttl-ttl {
    font-size: 36px;
    font-family: var(--font-zenkaku);
    align-items: center;
    padding-left: 48px;
    letter-spacing: .1em;
    line-height: 1.39em
}

.iAdvantage-binfo {
    width: 100%;
    min-height: 328px;
    padding: 165px 100px 0
}

.iAdvantage-binfo-cnt {
    position: relative
}

.iAdvantage-binfo-cnt .slick-list {
    width: calc(100% - 30px)
}

.iAdvantage-binfo-cnt .arrow-left,
.iAdvantage-binfo-cnt .arrow-right {
    width: 20px;
    height: 30px;
    position: absolute;
    top: 27px;
    cursor: pointer
}

.iAdvantage-binfo-cnt .arrow-left {
    display: none!important
}

.iAdvantage-binfo-cnt .arrow-right {
    right: 0
}

.iAdvantage-binfo .itxt {
    font-size: 22px;
    font-family: var(--font-family);
    font-weight: 500;
    line-height: 1.69em;
    color: var(--body-color);
    letter-spacing: .1em;
    display: block
}

.iAdvantage-btn {
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center
}

.iAdvantage .iLsbbtn li a {
    min-width: 340px;
    padding-left: 15px;
    letter-spacing: .01em
}

.iGuide {
    width: 100%;
    margin: 0 auto
}

.iGuide::before {
    position: absolute;
    content: "";
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 520px;
    width: 200vw;
    background-color: #0a4e71;
    z-index: -1
}

.iGuide::after {
    position: absolute;
    content: attr(data-text);
    bottom: -8px;
    right: -37px;
    font-size: 240px;
    line-height: 1em;
    font-family: var(--font-quicksand);
    font-weight: 400;
    color: rgba(85, 182, 232, .1);
    z-index: 0
}

.iContact-bcol-btxt .ics-sz01,
.iContact-bcol-btxt .ics-sz02,
.iContact-cnt-btel .ides,
.iGuide-lsfframe li,
.iGuide-txt {
    font-family: var(--font-family)
}

.iContact-bcol-btxt .ics-sz01,
.iContact-bcol-btxt .ics-sz02,
.iGuide-txt {
    font-weight: 600;
    color: var(--body-color)
}

.iGuide-container {
    width: calc(100% - 92px);
    margin-left: 0;
    min-height: 1114px;
    padding-top: var(--mtttl);
    --mtttl: 133px
}

.iGuide-img {
    --mr: 140px;
    margin-left: min((100vw - 100%) / -2, -115px);
    margin-top: calc(0% - var(--mtttl));
    float: left;
    width: calc(100% - 1080px - var(--mr) + (100vw - 100%)/ 2);
    min-width: 610px;
    margin-right: var(--mr);
    text-align: right
}

.iGuide .iH4-ttl {
    position: relative;
    overflow: hidden;
    z-index: 0;
    margin: 0 auto 77px
}

.iGuide .iH4-ttl span {
    display: inline-block;
    padding-right: 30px
}

.iGuide .iH4-ttl::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 2px;
    background-color: #37a3db;
    top: 25px;
    left: 0;
    z-index: -1
}

.iContact-cnt-des,
.iContact-lsitem .iTtl::after,
.iContact-lsitem .iTtl::before {
    background-color: var(--color-secondary)
}

.iGuide-lsfframe {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px
}

.iGuide-lsfframe li {
    width: calc((100% - 40px)/ 3);
    margin-right: 20px;
    margin-bottom: 20px;
    font-size: 20px;
    background-color: #54b4e7;
    line-height: 1.3em;
    align-items: center;
    justify-content: center;
    padding: 17px 0;
    letter-spacing: .1em
}

.iContact-lsitem>ul li:last-child,
.iGuide-lsfframe li:last-child,
.iGuide-lsfframe li:nth-child(3n+3),
.iGuide-lsitem li:last-child {
    margin-right: 0
}

.iGuide-txt {
    font-size: 18px;
    line-height: 1.9em;
    letter-spacing: .105em;
    margin-right: -15px
}

.iContact-cnt-des,
.iContact-cnt-ttl {
    font-weight: 700;
    letter-spacing: .1em
}

.iGuide-cnt {
    margin-right: 140px;
    margin-bottom: 52px
}

.iGuide-lsitem {
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 1
}

.iGuide-lsitem li {
    width: calc((100% - 60px)/ 3);
    margin-right: 30px;
    min-height: 320px;
    border-radius: 10px;
    overflow: hidden
}

.iGuide-lsitem li:first-child a::before {
    background-image: url(../images/iGuide-itembg-01.jpg)
}

.iGuide-lsitem li:nth-child(2) a::before {
    background-image: url(../images/iGuide-itembg-02.jpg)
}

.iGuide-lsitem li:nth-child(3) a::before {
    background-image: url(../images/iGuide-itembg-03.jpg)
}

.iGuide-lsitem a {
    width: 100%;
    height: 100%;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background-color: #55b6e8;
    z-index: 0;
    padding: 45px
}

.iGuide-lsitem a::before {
    width: 100%;
    height: 100%;
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: .702;
    mix-blend-mode: multiply;
    z-index: 1
}

.iGuide-lsitem a::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 227px;
    height: 227px;
    border-radius: 50%;
    opacity: .2;
    z-index: 1;
    transition: .3s
}

.iGuide-lsitem a>span {
    width: 100%;
    height: 100%;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4em;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--color-white);
    z-index: 1;
    letter-spacing: .1em;
    background-image: url(../images/iGuide-item-arr.png);
    background-repeat: no-repeat;
    background-size: 37px auto;
    background-position: bottom 46px center
}

.iContact-bcol,
.iContact-cnt {
    flex-direction: column;
    display: flex
}

.iContact {
    width: 100%;
    margin: 0 auto 20px
}

.iContact-container {
    width: 100%;
    max-width: 1856px;
    margin: 0 auto;
    padding: 0 15px;
    min-height: 500px
}

.iContact-bflex {
    width: 100%;
    display: flex;
    --wcnt: 765px
}

.iContact-bcol {
    width: 100%;
    position: relative;
    margin-bottom: 18px
}

.iContact-bcol::before {
    position: absolute;
    content: "";
    width: 118px;
    height: 100%;
    top: -5px;
    right: 65px;
    background-image: url(../images/iContact-cnt-item.png);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: top right
}

.iContact-bcol-btxt {
    width: 100%;
    display: flex;
    margin-bottom: 32px
}

.iContact-bcol-btxt .ics-sz01 {
    font-size: 22px;
    line-height: 1.2em;
    margin-left: -7px;
    letter-spacing: .1em;
    margin-right: 16px
}

.iContact-bcol-btxt .ics-sz01 .ispace {
    font-size: 18px;
    font-weight: 600;
    display: inline-block;
    margin-right: 2px;
    letter-spacing: .08em
}

.iContact-bcol-btxt .ics-sz02 {
    font-size: 16px;
    line-height: 1.8em;
    display: inline-block;
    letter-spacing: .09em
}

.iContact-bcol-btxt .ics-sz02:not(:last-child) {
    margin-right: 23px;
    letter-spacing: .1em
}

.iContact-bcol-btxt .ics-sz02:last-child,
.iContact-cnt-ttl .icolor {
    color: var(--color-secondary)
}

.iContact-cnt {
    width: var(--wcnt);
    height: 500px;
    padding: 60px 0 0 32px
}

.iContact-cnt-ttl {
    font-size: 28px;
    font-family: var(--font-zenkaku);
    line-height: 1.5em;
    color: var(--body-color);
    margin-bottom: 35px
}

.iContact-cnt-des {
    max-width: 500px;
    font-size: 22px;
    color: var(--color-white);
    text-align: center;
    line-height: 1.2em;
    padding: 11px 0 12px;
    margin-left: 1px;
    margin-bottom: 20px
}

.iContact-cnt-btel {
    width: 100%;
    display: flex;
    padding-left: 17px
}

.iContact-cnt-btel .ides {
    font-size: 14px;
    color: #e68432;
    font-weight: 500;
    line-height: 1.4em;
    display: inline-block;
    padding-top: 5px;
    letter-spacing: .08em
}

.iContact-cnt-btel .iphone {
    font-size: 48px;
    font-family: var(--font-quicksand);
    color: #e68432;
    font-weight: 600;
    text-decoration: none;
    line-height: 1em;
    padding-left: 57px;
    background-image: url(../images/iContact-iPhone.png);
    background-repeat: no-repeat;
    background-size: 40px auto;
    background-position: center left 12px;
    letter-spacing: .097em
}

.ft-btop-des,
.iContact-lsitem .iTtl {
    font-family: var(--font-family);
    line-height: 1.2em
}

.iContact-cnt .iBttl {
    width: 156px;
    margin-right: 20px
}

.iContact-cnt .iMail-col {
    top: -2px
}

.iContact-lsitem::before,
footer::before {
    top: 0;
    left: 0;
    position: absolute;
    content: ""
}

.iContact-lsitem {
    width: calc(100% - var(--wcnt));
    display: flex;
    position: relative;
    margin-top: 40px;
    height: 440px;
    z-index: 0;
    margin-left: 20px;
    padding: 40px 0 40px 61px
}

.iContact-lsitem::before {
    width: 200vw;
    height: 100%;
    background-color: #f5fbfe;
    z-index: -1;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 30px 100%)
}

.iContact-lsitem>ul li {
    width: calc((100% - 99px)/ 3);
    display: flex;
    flex-direction: column;
    margin-right: 33px
}

.iContact-lsitem .iTtl {
    font-size: 20px;
    color: var(--color-secondary);
    font-weight: 700;
    text-align: center;
    letter-spacing: .1em;
    margin: 7px auto 33px;
    position: relative;
    padding-bottom: 7px;
    background-image: url(../images/iContact-border-ttl.png);
    background-repeat: no-repeat;
    background-size: calc(100% - 16px) auto;
    background-position: bottom left 9px;
    --btafter: 50px
}

.iContact-lsitem .iDes,
address {
    text-align: center;
    font-size: 14px
}

.iContact-lsitem .iTtl::before {
    position: absolute;
    content: "";
    bottom: calc(0% - var(--btafter));
    left: calc(50% + 3px);
    width: 1px;
    height: 50px
}

.iContact-lsitem .iTtl::after {
    position: absolute;
    content: "";
    bottom: calc(0% - var(--btafter));
    left: calc(50% - 2px);
    width: 11px;
    height: 11px;
    border-radius: 50%
}

.iContact-lsitem .iImg {
    margin: 0 auto 25px
}

.iContact-lsitem .iDes {
    color: var(--body-color);
    font-family: var(--font-family);
    font-weight: 700;
    line-height: 1.7em;
    letter-spacing: -.5px
}

.txt-cl {
    color: var(--color-primary);
    font-size: 20px
}

footer {
    width: 100%;
    margin: 60px auto 0;
    position: relative;
    padding-top: 252px
}

footer::before {
    width: 100%;
    height: 500px;
    background-image: url(../images/ft-bg.png);
    z-index: 0
}

.ft-container {
    width: 100%;
    max-width: 1630px;
    padding: 0 15px;
    margin: 0 auto;
    position: relative;
    z-index: 2
}

.ft-btop {
    width: 100%;
    display: flex;
    background-color: var(--color-white);
    padding: 56px 50px
}

.ft-btop-logo {
    width: fit-content;
    text-decoration: none;
    margin-right: 39px
}

.ft-btop-des {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 0;
    letter-spacing: .05em;
    display: block;
    padding-top: 17px
}

.ft-bmenu-menu li a,
.ft-bmenu-ttl {
    line-height: 1.2em;
    text-decoration: none;
    letter-spacing: .1em;
    color: var(--body-color);
    font-family: var(--font-family)
}

.ft-bmap {
    width: 100%;
    height: 400px;
    margin-bottom: 118px
}

.ft-bmap iframe {
    width: 100%;
    height: 100%;
    border: none
}

.ft-bmenu {
    width: 100%;
    display: flex;
    margin-bottom: 95px
}

.ft-bmenu-col:first-child,
.ft-bmenu-col:nth-child(2),
.ft-bmenu-col:nth-child(3) {
    margin-right: 150px
}

.ft-bmenu-col:nth-child(4) {
    margin-right: -10px;
    position: relative;
    left: -7px
}

.ft-bmenu-ttl {
    font-size: 21px!important;
    font-weight: 700!important;
    margin-bottom: 36px
}

.ft-bmenu-menu li:not(:last-child) {
    margin-bottom: 25px
}

.ft-bmenu-menu li a {
    padding-left: 27px;
    position: relative;
    font-size: 18px;
    font-weight: 600
}

.ft-bmenu-menu li a::before {
    position: absolute;
    content: "";
    width: 15px;
    height: 2px;
    background-color: #e68432;
    top: 13px;
    left: 4px
}

address {
    border-top: 1px solid var(--color-secondary);
    color: var(--body-color);
    font-family: var(--font-family);
    font-weight: 500;
    padding: 60px 15px;
    letter-spacing: .11em
}


@media screen and (min-width: 751px) and (max-width: 1500px){
  .iBtel-des{
    max-width: 168px;
    line-height: 1.6;
    margin: 0 auto;
  }
}
