@import"base.css";
@import"fonts.css";
@import"https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700&display=swap";

:root {
    --content-width: 1130px;
    --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;
    --font-serif: "Noto Serif JP", serif;
    --color-primary: #044695;
    --color-secondary: #e00327;
    --color-third: #00479d;
    --color-black: #000000;
    --color-red: #990000;
    --color-sub: #2e282a;
    --color-white: #ffffff;
    --color-gray: #cccccc;
    --color-green: #06c755;
    --color-orange: #db4800;
    --color-yellow: #fffe49;
    --fs-18: 18px;
    --text-line-height: 1.8em;
    --font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
    --body-color: var(--color-black)
}

h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd {
    font-size: 160%;
    -webkit-text-size-adjust: none;
    font-family: var(--font-family)
}

input[type=text],
input[type=email],
input[type=tel],
input[type=number],
textarea,
select {
    width: 100%;
    border: solid 1px #999;
    padding: 10px
}

textarea {
    resize: vertical
}

::placeholder {
    opacity: .5
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.6em
}

a {
    color: var(--color-primary);
    font-family: var(--font-family);
    transition: all .2s;
    text-decoration: none
}

select {
    visibility: visible !important
}

[href^="tel:"] {
    word-break: keep-all;
    white-space: nowrap
}

img {
    vertical-align: middle;
    max-width: 100%;
    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 {
    cursor: pointer;
    border: solid 1px #333;
    border-radius: 0;
    outline: none;
    box-shadow: none
}

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

html {
    background: #fff
}

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);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px
}

.inner2 {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 35px;
}

.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: 0px !important
    }
}

#wpadminbar .show-template-name,
#wpadminbar .hover .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 .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 #wp-admin-bar-included_files_path .ab-item #included-files-list li:hover {
    color: #2ea2cc
}

#wpadminbar #included-files-list {
    margin-left: 20px
}

#wp-admin-bar-show_template_file_name_on_top-default {
    max-height: 90vh;
    overflow-x: hidden
}

#included-files-fie-on-wp-footer {
    display: none
}

#wpadminbar #wp-admin-bar-aioseo-main .aioseo-logo {
    display: inline-block !important;
    height: 23px !important;
    transform: translateY(6px)
}

.mb0 {
    margin-bottom: 0px !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
}

.mb60 {
    margin-bottom: 60px !important
}

.mb80 {
    margin-bottom: 80px !important
}

.mt0 {
    margin-top: 0px !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: 0px !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: 0px !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%
}

.w27 {
    width: 27%
}

.w30 {
    width: 30%
}

.w35 {
    width: 35%
}

.w40 {
    width: 40%
}

.w45 {
    width: 45%
}

.w50 {
    width: 50%
}

#menu-toggle {
    position: relative;
    width: 46px;
    height: 46px;
    z-index: 100;
    cursor: pointer;
    display: none
}

#menu-toggle>span {
    position: absolute;
    width: 65%;
    height: 1px;
    background: var(--color-black);
    opacity: 1;
    left: 10%;
    transition: .2s ease-in-out
}

#menu-toggle>span:nth-child(1) {
    top: 13px
}

#menu-toggle>span:nth-child(2),
#menu-toggle>span:nth-child(3) {
    top: 22px
}

#menu-toggle>span:nth-child(4) {
    top: 31px
}

#menu-toggle.open span:nth-child(1),
#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)
}

.open-nav {
    overflow: hidden
}

.open-nav main {
    margin-top: 0
}

.open-nav .to-top,
.open-nav .header_left-gg {
    display: none
}

.open-nav #side-navi {
    opacity: 1;
    visibility: visible
}

.to-top {
    position: fixed;
    z-index: 30;
    bottom: 120px;
    right: 20px;
    transition: all .2s;
    transform-origin: 50% 100%;
    transform: scale(0.5);
    opacity: 0;
    visibility: hidden
}

.to-top>a {
    display: block;
    cursor: pointer;
    width: 60px;
    height: 60px;
    background: var(--color-primary);
    border-radius: 0px;
    text-decoration: none
}

.to-top>a:before {
    content: "";
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: 14px;
    height: 14px;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    transform: rotateZ(-45deg);
    left: 23px;
    top: 26px
}

.to-top.show {
    transform: scale(1);
    opacity: 1;
    visibility: visible
}

.d-flex {
    display: flex
}

.d-flex-column {
    display: flex;
    flex-direction: column
}

.flex-wrap {
    display: flex;
    flex-wrap: wrap
}

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

.sp, .sp680 , .sp625, .sp374 , .sp320 {
    display: none !important
}

.left {
    text-align: left
}

.center {
    text-align: center
}

.right {
    text-align: right
}

.bold {
    font-weight: bold
}

.text-large {
    font-size: 130%
}

.text-small {
    font-size: 80%
}

.text-red {
    color: var(--color-red) !important
}

.txt-yellow {
    color: var(--color-yellow)
}

.btn-hover {
    opacity: 1;
    transition: .4s
}

.lap {
    display: none
}

#side-navi {
    position: fixed;
    z-index: 110;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none
}

#side-navi .list-navi {
    pointer-events: auto
}

#side-navi .list-navi li a {
    position: relative;
    font-size: 16px;
    line-height: 1em;
    display: block;
    padding-left: 5px;
    color: inherit
}

#side-navi .list-navi li a.active {
    pointer-events: none
}

#side-navi .list-navi li a.active .text {
    background: var(--color-primary);
    color: var(--color-white)
}

#side-navi .list-navi li a.active .icon {
    background: var(--color-primary)
}

#side-navi .list-navi li a .text {
    position: absolute;
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    padding: 8px 20px 6px;
    border-radius: 3em;
    background: #fff;
    z-index: 1;
    word-break: keep-all;
    white-space: nowrap;
    width: 190px;
    text-align: right;
    transition: all .2s;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, .2);
    opacity: 0;
    visibility: hidden
}

#side-navi .list-navi li:not(:last-child) {
    margin-bottom: 28px
}

#side-navi .list-navi .icon {
    display: block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #fff;
    transition: all .2s;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, .2)
}

.header {
    position: relative;
    padding: 0 22px;
    display: flex;
    justify-content: space-between;
    z-index: 2
}

.header_left {
    display: flex;
    column-gap: 17px;
    align-items: center
}

.header_left-logo {
    padding: 15px 20px;
    background: var(--color-yellow)
}

.header_left-logo img {
    max-width: 105px
}

.header_left-inner {
    padding: 27px 0 24px;
    display: flex;
    column-gap: 24px;
    align-items: center
}

.header_left-company {
    font-size: 24px;
    font-family: var(--font-family);
    font-weight: 700;
    color: #333;
    text-transform: none;
    letter-spacing: -0.04em;
    line-height: 1.4em
}

.header_left-company span {
    color: var(--color-primary)
}

.header_left-gg {
    position: relative;
    width: 100%;
    padding: 15px 18px 15px 15px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid var(--color-black);
    background: var(--color-white);
    transition: .3s
}

.header_left-gg span {
    font-size: 24px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    line-height: 1.1em;
    letter-spacing: -0.025em
}

.header_left-gg span .num {
    font-size: 24px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-primary);
    text-transform: none;
    letter-spacing: .08em
}

.header_left-gg::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -1px;
    transform: translate(-50%, -50%) rotate(45deg);
    width: 11px;
    height: 11px;
    background: var(--color-white);
    border-left: 1px solid var(--color-black);
    border-bottom: 1px solid var(--color-black)
}

.header_right {
    display: flex;
}

.header_right-contact {
    margin: 0 60px;
    transition: .4s
}

.header_right-contact .contact_title {
    margin-bottom: 10px;
    font-size: var(--fs-18);
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    letter-spacing: -0.07em;
    line-height: 2.4em;
    text-decoration: underline;
    text-underline-offset: 10px
}

.header_right-contact .contact_tel {
    display: flex;
    column-gap: 12px
}

.header_right-contact .contact_tel-icon {
    padding-top: 30px;
    font-size: 12.6px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    letter-spacing: .08em;
    background: url(../images/contact-ico.png) center top/53px auto no-repeat
}

.header_right-contact .contact_tel-num {
    padding-top: 2px;
    display: flex;
    flex-direction: column;
    font-size: 39.25px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none
}

.header_right-contact .contact_tel-detail {
    font-size: 12px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    line-height: 2em
}

.header_right-contact .contact_tel-detail span {
    font-size: 13px
}

.header_right-btn {
    padding-bottom: 17px;
    display: flex;
    column-gap: 10px
}

.header_right-btn .btn_item.line {
    background: var(--color-green)
}

.header_right-btn .btn_item.line img {
    max-width: 34px
}

.header_right-btn .btn_item.mail {
    background: var(--color-orange)
}

.header_right-btn .btn_item.mail img {
    max-width: 28px
}

.header_right-btn .btn_item a {
    position: relative;
    height: 100%;
    padding: 15px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.header_right-btn .btn_item a::after {
    content: "";
    display: block;
    position: absolute;
    right: 4px;
    bottom: 0;
    border-left: solid 7px var(--color-black);
    border-top: solid 7px rgba(0, 0, 0, 0);
    border-bottom: solid 7px rgba(0, 0, 0, 0);
    transform: rotate(45deg);
    opacity: .4
}

.header_right-btn .btn_item-title {
    font-size: var(--fs-18);
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-white);
    text-transform: uppercase;
    line-height: 1.2em;
    text-align: center
}

.header_right-btn .btn_item-sub {
    margin-bottom: 5px;
    font-size: 22px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-yellow);
    text-transform: uppercase;
    line-height: 1.2em;
    text-align: center
}

h1 img {
    max-width: 94px
}

.visual_banner {
    width: 100%
}

.visual_banner img {
    width: 100%
}

/* diagnosis */
.diagnosis {
    padding: 100px 0 110px;
    background: url(../images/diagnosis_heading_bg.png) center top 50px no-repeat, #002060;
    background-size: 100% auto;
}

.diagnosis .inner {
    position: relative;
    z-index: 2
}

.diagnosis_heading {
    margin-bottom: 46px;
    display: flex;
    flex-direction: column
}

.diagnosis_heading span {
    text-align: center
}

.diagnosis_heading-main {
    font-size: 60px;
    font-family: var(--font-family);
    font-weight: bold;
    color: #fff;
    text-transform: none;
    line-height: 1.8em
}

.yl-highlight {
    background: linear-gradient(to bottom, #FFC700 20%, #FFFF00 50%, #FFC700 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.diagnosis_content{
    width: 100%;
}

.diagnosis_flex {
    display: flex;
    box-sizing: border-box;
    justify-content: space-evenly;
    gap: 15px;
}

.diagnosis_left {
    width: 55%;
    max-width: 900px;

}
.diagnosis_right{ width: 45%;}

.diagnosis-img-group {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 15px;
}

.diagnosis-img-group img {
    width: 50%;
    max-width: 350px;
    height: auto;
    flex-shrink: 0;
    flex-grow: 0;
}

.diagnosis-txt-content {
    font-size: 20px;
    text-align: center;
    color: #fff;
    margin-bottom: 10px;
}

.diagnosis-txt-content.txt-large,
.diagnosis-txt-content.txt-large span {
    position: relative; 
    font-size: 100px;
    line-height: 1.5;
    font-weight: bold;
    background: linear-gradient(to bottom, #FFC700 20%, #FFFF00 50%, #FFC700 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.diagnosis-txt-content.txt-large span{
    position: relative; 
    z-index: 1;
   }

.diagnosis-txt-content.txt-large span::before{ 
   position: absolute;
   content: '無料診断';
   z-index: -1;
   top: -5px;
   left: 0;
   right: -1px;
   bottom: 0;
   color: black;
   text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.32), 
   0px 0px 1px rgba(0, 0, 0, 0.32), 
   0px 0px 1px rgba(0, 0, 0, 0.32), 
   0px 0px 1px rgba(0, 0, 0, 0.32), 
   0px 0px 1px rgba(0, 0, 0, 0.32), 
   0px 0px 1px rgba(0, 0, 0, 0.32), 
   0px 0px 1px rgba(0, 0, 0, 0.32), 
   0px 0px 1px rgba(0, 0, 0, 0.32), 
   0px 0px 1px rgba(0, 0, 0, 0.32), 
   0px 0px 1px rgba(0, 0, 0, 0.32), 
   0px 0px 5px rgba(80, 80, 80, 0.32), 
   0px 0px 5px rgba(80, 80, 80, 0.32), 
   0px 0px 5px rgba(80, 80, 80, 0.32), 
   0px 0px 5px rgba(80, 80, 80, 0.32), 
   0px 0px 5px rgba(80, 80, 80, 0.32), 
   0px 0px 5px rgba(80, 80, 80, 0.32), 
   0px 0px 5px rgba(80, 80, 80, 0.32), 
   0px 0px 5px rgba(80, 80, 80, 0.32), 
   0px 0px 5px rgba(80, 80, 80, 0.32), 
   0px 0px 5px rgba(80, 80, 80, 0.32);
   font-size: inherit;
   font-weight: inherit;
   letter-spacing: inherit;
   line-height: inherit;
   text-align: inherit;
   white-space: nowrap;
   overflow: hidden;
   display: block; 
   pointer-events: none; 
}
/* diagnosis end */

/* exterior painting */
.exterior-painting-bnr {
    background: #002060;
    position: relative;
    padding: 50px 0 0;
    display: flex;
    gap: 15px;
    justify-content: center;
    align-items: center;
}

.exterior-painting-bg {
    position: absolute;
    content: "";
    z-index: 1;
    left: 0;
    right: 0;
    top: 85px;
    bottom: 30px;
    width: 100%;
    background:
        url(../images/exterior-painting_bg02.png) repeat-x,
        url(../images/exterior-painting_bg02.png) repeat-x,
        #fff200;
    background-size: 70% auto, 70% auto;
    background-position: top, bottom;
}

.exterior-painting-bnr p {
    z-index: 2;
    font-size: 115px;
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
    margin-bottom: 0;
    text-shadow: 4px 4px 2px rgba(0, 0, 0, 0.32);
}

.exterior-painting-bnr p.exterior-painting-img {
    z-index: 2;
    display: block;
    height: 120%;
}

.exterior-painting-list {
    padding: 40px 0 0;
    background-color: #002060;
    display: flex;
    gap: 8%;
    flex-wrap: wrap;
    justify-content: center;
}

.exterior-painting-list .col {
    width: max-content;
    display: flex;
    flex-direction: column;
}

.exterior-painting-list .col:nth-child(2) {
    padding-left: 30px;
}

.exterior-painting-list p {
    padding: 5px 18px 5px 25px;
    margin-bottom: 20px;
    color: #fff;
    font-size: 36px;
    font-weight: bold;
    background-color: #ff0000;
    text-shadow: -2px -1px 7px rgb(17, 17, 17);
}

.exterior-painting-list .exterior-painting-img {
    width: 100%;
    text-align: center;
    background: none;
}

.exterior-painting-fee {
    padding: 50px 30px 60px;
    background-color: #fff200;
}

.painting-fee_heading {
    font-size: 90px;
    font-family: var(--font-family);
    font-weight: 900;
    letter-spacing: normal;
    text-align: center;
    color: #000;
    text-transform: none;
    line-height: 1.2em;
    padding-bottom: 20px;
}

.painting-fee_heading span.txt-small {
    font-size: 60px;
}

.txt-red {
    color: #ff0000;
}

.painting-fee_content {
    position: relative;
    padding-top: 30px;
}

.painting-fee_content::before {
    position: absolute;
    content: "";
    width: 900px;
    height: 1px;
    background: #000;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.painting-fee_content p {
    font-size: 40px;
    font-family: var(--font-family);
    font-weight: bold;
    text-align: center;
    color: #000;
    text-transform: none;
    line-height: 1.2em;
    margin: 15px 15px;
}

.painting-fee_content p.txt-large {
    font-size: 60px;
    color: #ff0000;
    letter-spacing: normal;
}

/* exterior painting */

/* true cost */
.true-cost {
    padding: 50px 0 120px;
    background-color: #002060;

}

.true-cost_heading {
    font-size: 50px;
    font-family: var(--font-family);
    font-weight: bold;
    letter-spacing: normal;
    text-align: center;
    color: #ffff00;
    text-transform: none;
    line-height: 1.5em;
    padding-bottom: 20px;
}

.true-cost_heading span.txt-large {
    font-size: 80px;
    line-height: 1.8em;
    letter-spacing: 0.05em;
}

.true-cost-headimg img {
    padding-bottom: 6px;
    padding-right: 10px;
}

.true-cost_content {
    max-width: 1200px;
    margin: 0 auto;
}

.true-cost_content .note-txt {
    color: #fff;
    font-size: 22px;
}

/* true cost */

/*  */
.free-booklet {
    padding: 30px 0 100px;
    background-color: #002060;

}

.free-booklet_heading {
    font-size: 80px;
    font-family: var(--font-family);
    font-weight: bold;
    letter-spacing: normal;
    text-align: center;
    color: #ff0000;
    text-transform: none;
    line-height: 1.5em;
    padding-bottom: 10px;
}

.free-booklet_txtsub1 {
    font-size: 34px;
    font-family: var(--font-family);
    font-weight: 200;
    letter-spacing: normal;
    text-align: center;
    color: #fff;
    text-transform: none;
    line-height: 1.8em;
    padding-bottom: 0;
    margin-bottom: 20px;

}

.free-booklet_txtsub1 span {
    font-size: 45px;
    font-weight: 700;
    letter-spacing: normal;
    letter-spacing: normal;

}

.free-booklet_txtsub2 {
    font-size: 60px;
    font-family: var(--font-family);
    font-weight: bold;
    letter-spacing: 0.05em;
    text-align: center;
    color: #ff0000;
    line-height: 1.8em;
    padding-bottom: 30px;
    margin-bottom: 0;
    text-shadow: 0px 0px 1px #e4e709,
        0px 0px 1px #e4e709,
        0px 0px 1px #e4e709,
        0px 0px 1px #e4e709,
        0px 0px 1px #e4e709,
        0px 0px 1px #e4e709,
        0px 0px 1px #e4e709,
        0px 0px 1px #e4e709,
        0px 0px 1px #e4e709,
        0px 0px 1px #e4e709,
        0px 0px 5px #e4e709,
        0px 0px 5px #e4e709,
        0px 0px 5px #e4e709,
        0px 0px 5px #e4e709,
        0px 0px 5px #e4e709,
        0px 0px 5px #e4e709,
        0px 0px 5px #e4e709,
        0px 0px 5px #e4e709,
        0px 0px 5px #e4e709,
        0px 0px 5px #e4e709
}

.free-booklet_img-group {
    display: flex;
    gap: 50px;
    justify-content: center;
}

.free-booklet_img-group>p {
    max-width: 350px;
    height: auto;
}

.free-booklet_contact-info {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
}

.contact-info-tag {
    width: 24%;
}


.contact-info-tag .tag {
    position: relative;
    width: 250px;
    padding: 10px 55px 10px 12px;
    margin-right: 15px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    color: #ff0000;
    background: url(../images/contact-info-tag_bg.png)no-repeat;
    background-size: contain;


}

.contact-info-tag .tag span {
    font-size: 32px;
}

.contact-info-ctn {
    width: 75%;
    display: flex;
    gap: 30px;
}

.contact-info-ctn>p {
    margin-bottom: 0;
    width: 50%;
}

.contact-info-ctn p.contact_img-btn {}

.contact-info-ctn .contact_img-btn a img {
    width: 50px;
}

.contact-info-ctn .contact_img-btn a {
    padding: 8px 24px 12px;
    font-size: 22px;
}

.contact-info-ctn .contact_img-btn a .large {
    font-size: 28px;
}

/*  */



/*  */
.glass-coating {
    padding: 50px 0 120px;
    background: #002060;
}

.glass-coating-wrap {
    position: relative;
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    border: 3px solid #bf9000;
    border-radius: 6px;
}

.glass-coating-wrap:before {
    position: absolute;
    z-index: 1;
    content: "";
    left: 3px;
    right: 3px;
    top: 3px;
    bottom: 3px;
    border: 10px solid #bf9000;
    border-radius: 3px;
    background: url(../images/glass-coating_bg01.png)no-repeat;
    background-size: 200% 200%;
    background-position-y: center;
    background-position-x: center;
}

.glass-coating-wrap .content {
    position: relative;
    z-index: 2;
    padding: 20px 20px;
}

.glass-coating_head-wrap {
    position: relative;
    width: 100%;
    padding: 0 3vw 35px;
}
.glass-coating_head-wrap:after{
    position: absolute;
    content: "";
    bottom: 0;
    left:  45px;
    right: 45px;
    height: 5px;
    background-color: #bf9000;

}

.glass-coating_heading {
    position: relative;
    padding: 30px 5px;
    font-size: 75px;
    font-family: var(--font-family);
    font-weight: bold;
    letter-spacing: 0.1em;
    text-align: center;
    line-height: 1.2em;
    padding-bottom: 10px;

    background: linear-gradient(to bottom, #FFC700 20%, #FFFF00 50%, #FFC700 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-transform: none;
}

.glass-coating_heading .txt-shadow {
    z-index: 1;
}

.glass-coating_heading .txt-shadow::before {
    content: '無機塗料を超えた、革新的な技術';
    position: absolute;
    top: 21%;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    color: black;
    text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.32), 
    0px 0px 1px rgba(0, 0, 0, 0.32), 
    0px 0px 1px rgba(0, 0, 0, 0.32), 
    0px 0px 1px rgba(0, 0, 0, 0.32), 
    0px 0px 1px rgba(0, 0, 0, 0.32), 
    0px 0px 1px rgba(0, 0, 0, 0.32), 
    0px 0px 1px rgba(0, 0, 0, 0.32), 
    0px 0px 1px rgba(0, 0, 0, 0.32), 
    0px 0px 1px rgba(0, 0, 0, 0.32), 
    0px 0px 1px rgba(0, 0, 0, 0.32), 
    0px 0px 5px rgba(80, 80, 80, 0.32), 
    0px 0px 5px rgba(80, 80, 80, 0.32), 
    0px 0px 5px rgba(80, 80, 80, 0.32), 
    0px 0px 5px rgba(80, 80, 80, 0.32), 
    0px 0px 5px rgba(80, 80, 80, 0.32), 
    0px 0px 5px rgba(80, 80, 80, 0.32), 
    0px 0px 5px rgba(80, 80, 80, 0.32), 
    0px 0px 5px rgba(80, 80, 80, 0.32), 
    0px 0px 5px rgba(80, 80, 80, 0.32), 
    0px 0px 5px rgba(80, 80, 80, 0.32);
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    text-align: inherit;
    white-space: nowrap;
    overflow: hidden;
}

.glass-coating_head-wrap>p {
    font-size: 55px;
    font-weight: bold;
    color: #000;
    text-align: center;

}

.glass-coating_head-wrap p span.txt-bg {
    margin-left: 35px;
    padding: 5px 15px;
    background: #ff0000;
    color: #fcff21;
    line-height: 1.2em;
}

.glass-coating_body {
    display: flex;
    gap: 30px;
    padding: 25px 20px;
}

.glass-coating-content-wrap {
    width: 40%;
}

.glass-coating-content {
    position: relative;
    padding: 70px 30px;

}

.glass-coating-content:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/glass-coating_bg02.png)no-repeat top,
        url(../images/glass-coating_bg03.png)no-repeat bottom;
    background-size: 100% auto;

}

.glass-coating-content:after {}

.glass-coating-content>p {
    text-align: center;
    margin-bottom: 0;
    font-size: 24px;
}

.glass-coating-content>p.ttl {
    font-size: 40px;
    line-height: 1.4;
    font-weight: bold;
    color: #ff0000;
}

.glass-coating-content>p.ttl-sub {
    font-weight: bold;
    color: #000;
}

.glass-coating-content>p.date {}

.glass-coating-btn span{
    font-size: 24px;
    line-height: 1.3;
    display: inline-block;
    padding: 43px 88px;
    background: url(../images/glass-coating-btn_bg.png)no-repeat;
    background-size: contain;
    background-position: center center;
}

.glass-coating-youtube {
    width: 60%;
    display: flex;
    align-items: center;
}

/*  */
.solved {
    padding: 30px 30px 50px;
}

.solved_heading {
    padding: 30px 5px;
    text-align: center;
    font-size: 50px;
    font-family: var(--font-family);
    font-weight: bold;
    letter-spacing: normal;
    text-align: center;
    line-height: 1.2em;
    padding-bottom: 10px;
}

.solved_heading > span {
    display: block;
}
.solved_heading-sub{ margin-bottom: 15px;}
.solved_heading-sub > span{
    position: relative;

}
.solved_heading-sub > span:after{
    position: absolute;
    content: "";
    left: 0; right: 0;
    bottom: 0;
    height: 3px;
    width: 100%;
    background: rgb(0,0,0);
    background: linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(29,135,253,1) 50%, rgba(69,217,252,1) 100%);
}

.solved-main01,
.solved-main02,
.solved-main03 {
    padding: 0 10px;
    font-size: 80px;
    line-height: 1.5em;
    font-weight: bold;
}

.solved-main01 {
    color: #ff0000;
}

.solved-main02,
.solved-main03 {
    position: relative;
    color: #385723;
}

.solved-main02::before,
.solved-main03::before {
    position: absolute;
    z-index: -1;
    content: "";
    width: 95%;
    height: 35px;
    bottom: 15px;
    background-color: #b4c7e7;
}

.solved-main03::before {
    background-color: #ffe699;
}

.solved_images_col {
    display: flex;
    gap: 30px;
}

.solved-txt1 {
    margin-bottom: 0;
    font-size: 40px;
    font-weight: bold;
    text-align: center;
}

.solved-txt2 {
    position: relative;
    font-size: 75px;
    padding: 15px 30px 0;
    text-align: center;
    font-family: var(--font-family);
    font-weight: bold;
    letter-spacing: normal;
    text-align: center;
    line-height: 1.2em;
    margin-bottom: 0;
}

.solved-txt2 span.blue {
    position: relative;
    color: #00afef;
    background-image: radial-gradient(ellipse, #00afef 20%, #0076c4 51%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.solved-txt2 span.blue:before{
    content: 'パーフェクトセルフガードG';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    text-shadow: -0px -1px 1px #ffffff3b, 
          -1px -1px 1px #fff,
           1px -1px 1px #fff,
            -1px 1px 1px #fff,
             1px 1px 1px #fff,
                  0 6px 1px rgba(0, 0, 0, .1), 0 0 5px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .3), 0 3px 5px rgba(0, 0, 0, .2), 0 5px 10px rgba(0, 0, 0, .25), 0 10px 10px rgba(0, 0, 0, .2), 0 15px 15px rgba(0, 0, 0, .15);
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    text-align: inherit;
    white-space: nowrap;
    overflow: hidden;
}

.solved-txt2 span.txt-small {
    font-size: 60px;
    text-shadow: 4px 4px 2px rgba(0, 0, 0, 0.32);
}

.solved-bnr-wrap {
    margin: 15px 0;
}
.solved-bnr{
    margin-bottom: 10px ;
}
.solved-note{
    font-size: 20px;
}

.solved-txt3 {
    position: relative;
    font-size: 45px;
    padding: 30px 10px 0;
    text-align: center;
    font-family: var(--font-family);
    font-weight: bold;
    letter-spacing: normal;
    text-align: center;
    line-height: 1.2em;
    margin-bottom: 0;
}
.solved-txt3 span{ position: relative; padding: 0 5px;}
.solved-txt3 span:after{
    position: absolute;
    content: "";
    left: 0; right: 0;
    bottom: 0;
    height: 3px;
    width: 100%;
    background: rgb(0,0,0);
    background: linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(29,135,253,1) 50%, rgba(69,217,252,1) 100%);
}

/*  */

.industry {
    padding: 60px 0 60px;
    background-color: #e4e709;
}

.industry_heading {
    font-size: 100px;
    font-family: var(--font-family);
    font-weight: bold;
    letter-spacing: normal;
    text-align: center;
    color: #ff0000;
    text-transform: none;
    line-height: 1.2em;
    padding-bottom: 10px;
}

.industry_heading-main {
    font-size: 120px;
    text-shadow: 4px 4px 2px rgba(0, 0, 0, 0.32);
}

.industry_heading-sub {
    color: #000;
}

.industry p {
    font-size: 30px;
    font-weight: bold;
    text-align: center;
}

/*  */
.guard_heading {
    padding: 35px 35px 45px;
    background: url('../images/guard_heading_bg01.png')no-repeat;
    background-size: 100% 100%;
    font-size: 40px;
    font-family: var(--font-family);
    font-weight: bold;
    letter-spacing: normal;
    text-align: center;
    color: #fff;
    text-transform: none;
    padding-bottom: 10px;
}

.guard_heading-sub,
.guard_heading-main {
    display: block;
}

.guard_heading-main {
    font-size: 70px;
    line-height: 1.54em;
}

.guard1_inner {
    padding: 30px 0;
}

.guard_txt1 {
    padding: 40px 35px;
    margin-bottom: 0;
    background: url('../images/guard_heading_bg02.png')no-repeat;
    background-size: 100% 100%;
    font-size: 60px;
    font-family: var(--font-family);
    font-weight: bold;
    line-height: 1.2em;
    letter-spacing: 0.1em;
    text-align: center;
    color: #000;
    text-transform: none;
}

.guard_txt1 .txt-sm {
    font-size: 80%;
}

.guard_txt3 {
    padding: 30px 15px;
    margin-bottom: 0;
    text-align: center;
}

.guard_txt3>span {
    position: relative;
    z-index: 1;
    font-size: 60px;
    font-family: var(--font-family);
    font-weight: bold;
    line-height: 1.2em;
    letter-spacing: normal;
    text-align: center;
    color: #000;
    text-transform: none;
}

.guard_txt3>span:after {
    position: absolute;
    z-index: -1;
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background-color: #fdfd1a;
}

.guard_txt3>span span.blue {
    color: #0073c2;
    background-image: linear-gradient(180deg, #0073c2 72%, #8bd1ed 46%, #0073c2 72%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.guard_txt3>span span.red {
    color: #c70909;
    background-image: linear-gradient(180deg, #c70909 44%, #f94444 60%, #c00000 80%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.guard_txt3>span span.small {
    color: #000;
    font-size: 60%;
    font-weight: bold;
}

.guard_txt4 {
    position: relative;
    margin: 20px 0 35px;
    padding: 12px 10px;
    text-align: center;
    font-size: 38px;
    font-weight: bold;
    line-height: 1.2em;
}

.guard_txt4::before {
    position: absolute;
    content: "";
    top: 5px;
    left: 0;
    bottom: 5px;
    width: 100%;
    background-color: #ffff00;
}

.guard_txt4>span {
    position: relative;
}

.guard_txt4>span:before,
.guard_txt4>span:after {
    position: absolute;
    content: "";
    width: 220px;
    height: 220px;
    top: 50%;
    transform: translateY(-50%);
    background: url('../images/guard_txt4_icon01.png')no-repeat;
    background-size: contain;
}

.guard_txt4>span:before {
    left: -220px;
}

.guard_txt4>span:after {
    right: -220px;
}

.guard_txt5 {
    position: relative;
    text-align: center;
}

.guard_txt5>span {
    display: block;
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    padding: 12px 10px;
    text-align: center;
    font-size: 50px;
    font-weight: bold;
    line-height: 1.2em;
}

.guard_txt5>span:before {
    position: absolute;
    content: "";
    z-index: -1;
    height: 104%;
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: url('../images/guard_txt5_bg.png')no-repeat;
    background-size: contain;
}


p.guard_img {
    margin-top: 30px;
    margin-bottom: 60px;
}


.guard2-list {
    padding: 50px 0 30px;
    display: flex;
    gap: 15px;
    justify-content: center;
}

.guard2-item {
    margin-bottom: 0;
}

.guard2-item span {
    display: block;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    padding: 15px 15px;
}

p.guard2_txt {
    font-size: 50px;
    text-align: center;
    font-family: var(--font-family);
    font-weight: bold;
    letter-spacing: normal;
    text-align: center;
    line-height: 1.2em;
    margin-bottom: 50px;
}

/*  */
.cost_saving {
    padding: 60px 0;
    background-color: #ffff00;
}

.cost_saving_heading {
    font-size: 60px;
    font-family: var(--font-family);
    font-weight: bold;
    letter-spacing: normal;
    line-height: 1.3em;
    text-align: center;
    color: #000;
    text-transform: none;
    padding-bottom: 10px;
}

.cost_saving_heading>span {
    display: block;
}

.cost_saving_heading>span.txt-big {
    font-size: 80px;
    font-weight: 700;
}

.cost_saving_sub01 {
    font-size: 70px;
    font-weight: bold;
    font-family: var(--font-family);
    text-align: center;
    margin-bottom: 0;
}

.cost_saving_sub01 .txt-small {
    font-size: 60%;
}

.cost_saving-group {
    display: flex;
    gap: 50px;
    justify-content: center;
    margin-bottom: 30px;
}

.cost_saving-item {
    position: relative;
    width: 500px;
    padding: 40px 20px 30px;
    background: #92d050;
    border-radius: 10px;
}

.cost_saving-item:before {
    position: absolute;
    content: "";
    top: 5px;
    bottom: 5px;
    left: 5px;
    right: 5px;
    border: 5px solid #ffff00;
    border-radius: 8px;
}

.cost_saving-note{ font-size: 22px;}


.cost_saving-item.item02 {
    background: #00b0f0;
}

.cost_saving-item.item02:after {
    position: absolute;
    content: "";
    z-index: 0;
    top: 20px;
    bottom: 20px;
    left: 20px;
    right: 20px;
    background-color: #ffff00;
    border: 5px solid #ffff00;
    border-radius: 0;
}

.cost_saving-item.item02>p {
    z-index: 2;
    position: relative;
}

.cost_saving-item>p {
    margin-bottom: 15px;
    text-align: center;
    line-height: 1.2em;
    font-weight: bold;
}

.cs-ttl {
    font-size: 42px;
    text-align: center;
}

.cs-sub {
    font-size: 32px;
}

.cs-sub2 {
    font-size: 30px;
}
.cost_saving-item.item02>p .cs-sub2-big,
.cs-sub2-big {
    font-size: 130%;
    line-height: 1.5em;
}

.cs-price {
    font-size: 80px;
}

.cost_saving-item.item02 .cs-ttl {
    color: #ff0000;
}


.painting-cost {
    padding: 60px 30px;
    background-color: #deebf7;
}

.painting-cost .inner{ width: 1366px;}

.painting-cost_heading,
.tbl_heading {
    text-align: center;
    font-size: 45px;
    font-weight: bold;
    margin-bottom: 30px;
}

.painting-cost-tbl table {
    margin-bottom: 30px;
}

.painting-cost-tbl table th {
    font-size: 28px;
    background-color: #002060;
    color: #fff;
}

.painting-cost-tbl table td {
    color: #000;
    font-size: 24px;
    text-align: center;
}

.painting-cost-tbl table td.web-price{ font-weight: bold;}
.painting-cost-tbl table tr.highlight-price td,
.painting-cost-tbl table tr.highlight-price span {
    color: #ff0000;
    font-weight: 700;
}

.painting-cost-tbl table tr.popular td {
    font-size: 22px;
    font-weight: 700;
}

.painting-cost-tbl table tr.popular td.big {
    font-size: 28px;
}
.painting-cost-tbl table tr.popular td.bigger {
    font-size: 40px;
}

.painting-cost-tbl table td.right {
    text-align: right;
}

.painting-cost-tbl .tbl-desc{ padding: 15px 15px; }
.painting-cost-tbl .tbl-desc p,
.painting-cost-tbl .tbl-desc span{
    font-size: 28px;
    font-weight: bold;
}

.painting-cost-tbl .tbl-desc span.tag-cl{
    padding: 2px 10px;
    margin: 0 5px;
    background-color: #ffff00;
    border-radius: 5px;
}


.painting-cost-tbl table.tbl02 { margin-bottom: 60px;}

.painting-cost-tbl table.tbl02 td {
    font-size: 18px;
}



.painting-cost-tbl table.tbl02 td span.main {
    font-size: 28px;
    font-weight: bold;
    text-decoration: underline;
}
.painting-cost-tbl table.tbl02 td span.main.no-under{
    text-decoration: none;
}
.painting-cost-tbl table.tbl02 td span.large {
    font-size: 30px;
    font-weight: bold;
}

.painting-cost-tbl table.tbl02 td span.larger {
    font-size: 42px;
    font-weight: bold;
}

.painting-cost-tbl table.tbl02 th span.small {
    font-size: 16px;
}

.painting-cost-tbl table.tbl02 td span.small {}

.painting-cost-tbl table.tbl02 td.web-price span {}

.painting-cost-note.right{
    max-width: 800px;
    width: max-content;
    margin-right: 0;
    margin-left: auto;
    text-align: left;
}
.painting-cost-note.right > p{ font-size: 20px;}

.painting-cost-note.note02{
    max-width: 800px;
    width: max-content;
    margin: 0 auto 50px;
}



.painting-cost-col {
    display: flex;
    gap: 25px;
    margin-bottom: 30px;
}

.painting-cost-col>.tbl03-scroll {
    width: 50%;
    align-items: normal;
    display: flex;
}

.painting-cost-col table.tbl03 th {
    height: 60px;
    font-size: 20px;
    color: #fff;
    background-color: #002060;
}
.painting-cost-col table.tbl03 td{
    font-size: 20px;
}
.painting-cost-col table.tbl03 td:last-child{
    font-size: 18px;
}

.painting-img-col {
    display: flex;
    gap: 25px;
}

.painting-img-col .img-item {
    width: 50%;
    display: flex;
    gap: 25px;
}

.painting-img-col .img-item>p {
    width: 50%;
    text-align: center;
}

.painting-img-col .img-item>p>span {
    text-align: center;
    font-size: 20px;
    display: block;
    padding: 15px;
}

.painting-cost .tbl_txt01 {
    text-align: center;
    font-size: 60px;
    font-weight: bold;
    margin-bottom: 0;
}
.painting-cost .tbl_highlight{ 
    text-align: center;
    margin: 80px 0 50px;
}
.painting-cost .tbl_highlight span{
    color: #000;
    font-size: 30px;
    font-weight: bold;
    padding: 40px 55px;
    background-color: #ffff00;
    border: 4px solid #fff;
    border-radius: 50%;
}


/*  */
.expertise {
    padding: 60px 0 100px;
    background: url(../images/expertise_img_bg.png)no-repeat;
    background-size: cover;
}

.expertise_heading {
    font-size: 55px;
    font-family: var(--font-family);
    font-weight: bold;
    text-align: center;
    color: #fff;
    text-transform: none;
    line-height: 1.8em;
}

.expertise_heading-highlight {
    background: linear-gradient(to bottom, #FFC700 20%, #FFFF00 50%, #FFC700 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.expertise_sub_txt {
    padding: 30px 0;
    margin-bottom: 0;
    text-align: center;
    font-size: 32px;
    font-family: var(--font-family);
    font-weight: bold;
    color: #fff;
    text-transform: none;
    line-height: 1.8em;
}

.expertise_img_group {
    display: flex;
    justify-content: center;
    gap: 30px;

    max-width: 600px;
    margin: 0 auto 75px;
}

.expertise_sub_txt02 {
    font-size: 60px;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    color: #fff;
}

#sec-05 .contact_top-heading .sub {
    font-size: 90px;
}

/*  */
.payment-method {
    padding: 60px 0 80px;
    background: url(../images/payment_bg01.png)no-repeat;
}

.payment_heading {
    font-size: 45px;
    font-family: var(--font-family);
    font-weight: bold;
    line-height: 1.8em;
    text-align: center;
    color: #fff;
    text-transform: none;
    margin-bottom: 30px;
}

.payment_img{ text-align: center;}





.bg-light {
    background-color: #ffffff;
}

.bg-dark {
    background-color: #e1e1e1;
}

.bg-or {
    background-color: #ffc000;
}

.bg-yl,
.bg-ffff00 {
    background-color: #ffff00;
}

.bg-92d050 {
    background-color: #92d050;
}

.txt-yl {
    color: #ffff00;
}

/*  */
.featured {
    padding: 80px 0 100px;
    background: url(../images/featured_bg.png) center center/cover no-repeat, #c9d1e0
}

.featured .inner {
    position: relative;
    z-index: 2
}

.featured_heading {
    margin-bottom: 46px;
    display: flex;
    flex-direction: column
}

.featured_heading span {
    text-align: center
}

.featured_heading-sub {
    font-size: 36px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    line-height: 1em
}

.featured_heading-main {
    font-size: 60px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-primary);
    text-transform: none;
    line-height: 1.8em
}

.featured_video-title {
    margin-bottom: 0;
    position: relative;
    display: flex;
    flex-direction: column
}

.featured_video-title::before {
    content: "";
    position: absolute;
    top: -7px;
    left: 0;
    display: block;
    width: 246px;
    height: 104px;
    background: url(../images/featured_ico01.png) center center/100% auto no-repeat;
    transition: .3s
}

.featured_video-title .title_sub {
    text-align: center
}

.featured_video-title .title_sub-num {
    margin-right: 30px;
    font-size: 36px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-primary);
    text-transform: none
}

.featured_video-title .title_sub-txt {
    font-size: 30px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none
}

.featured_video-title .title_main {
    text-align: center;
    font-size: 60px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    line-height: 1.74em
}

.featured_video-title .title_main .txt-dot {
    margin-left: 28px;
    letter-spacing: .08em
}

.featured_video-title .title_main .txt-dot .char {
    position: relative
}

.featured_video-title .title_main .txt-dot .char::after {
    content: "";
    position: absolute;
    top: 0;
    left: 35%;
    transform: translate(-50%, -13px);
    width: 10px;
    height: 10px;
    background: var(--color-black);
    border-radius: 50%
}

.featured_video-main {
    text-align: center
}

.featured_sub {
    position: absolute;
    bottom: -125px;
    left: 17px
}

.intro {
    padding: 60px 0 54px;
    background: url(../images/intro_bg.jpg) 70% top/cover no-repeat
}

.intro .inner {
    display: flex;
    column-gap: 80px
}

.intro_img {
    margin-left: 140px;
    flex-shrink: 0
}

.intro_heading {
    margin-bottom: 38px;
    padding-top: 36px;
    display: flex;
    flex-direction: column
}

.intro_heading-sub {
    margin-bottom: 17px;
    font-size: var(--fs-18);
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    letter-spacing: -0.045em
}

.intro_heading-main {
    font-size: 40px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    letter-spacing: .045em
}

.intro_heading-desc {
    font-size: var(--fs-18);
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    line-height: 2.56em;
    letter-spacing: .073em
}

.award {
    overflow: hidden;
    background: url(../images/award_bg05.jpg) top center/cover no-repeat
}

.award .inner02 {
    margin-bottom: 50px
}

.award_wrapper {
    padding: 118px 0 0;
    background: url(../images/award_bg02.png) top left/690px auto no-repeat, url(../images/award_bg01.png) center -320px/1637px auto no-repeat
}

.award_heading {
    margin-bottom: 18px
}

.award_heading span {
    text-align: center;
    display: flex;
    flex-direction: column
}

.award_heading-sub {
    font-size: 48px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-white);
    text-transform: none;
    letter-spacing: .075em;
    line-height: 1em
}

.award_heading-main {
    font-size: 60px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-white);
    text-transform: none;
    letter-spacing: .075em;
    line-height: 1.65em
}

.award_desc {
    margin-bottom: 7px;
    font-size: 24px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-white);
    text-transform: none;
    line-height: 2em;
    letter-spacing: .075em;
    text-align: center
}

.award_img {
    position: relative;
    display: flex;
    column-gap: 10px;
    gap: 30px;
    justify-content: center;
    align-items: center;
    z-index: 2
}

.award_img::after {
    content: "";
    position: absolute;
    top: -1245px;
    left: 50%;
    transform: translateX(-50%);
    width: 1920px;
    height: 2988px;
    background: url(../images/award_bg03.png) center center/100% auto no-repeat;
    z-index: -1
}

.award_img-item {
    max-width: 450px;
}

.award_img-item:nth-child(2) img {
    margin-top: 3px
}

.award_mid {
    position: relative;
    padding: 0 15px;
    width: 100%;
    max-width: 1632px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    z-index: 2
}

.award_mid-wrapper {
    padding: 80px 0;
    background: url(../images/ballon_bg.png) center top/1602px auto no-repeat, url(../images/award_bg04.png) center center/100% 100% no-repeat
}

.award_mid-heading {
    margin-bottom: 43px;
    text-align: center;
    display: flex;
    flex-direction: column
}

.award_mid-heading .sub {
    margin-bottom: 34px;
    font-size: 40px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-white);
    text-transform: none;
    letter-spacing: -0.025em;
    line-height: 1.4em
}

.award_mid-heading .main {
    font-size: 40px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-white);
    text-transform: none;
    letter-spacing: -4.5px;
    line-height: 1.8em
}

.award_mid-heading .main .large {
    font-size: 60px;
    letter-spacing: -5px;
    font-style: italic
}

.award_mid-book {
    margin-bottom: 50px;
    display: flex;
    column-gap: 50px
}

.award_mid-book li {
    width: 33.33%;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--color-white)
}

.award_mid-book li .author {
    margin-top: 20px;
    font-size: var(--fs-18);
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    line-height: 1.4em;
    text-align: center
}

.award_bottom {
    width: 100%;
    max-width: 1290px;
    margin: 0 auto;
    padding: 0 15px
}

.award_bottom-heading {
    margin-bottom: 25px;
    font-size: 48px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-white);
    text-transform: none;
    letter-spacing: .075em;
    line-height: 1.8em;
    text-align: center
}

.award_bottom-desc {
    margin-bottom: 65px;
    font-size: 24px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-white);
    text-transform: none;
    text-align: center;
    line-height: 2em;
    letter-spacing: .09em
}

.award_bottom-gallery {
    position: relative;
    padding: 80px;
    background: var(--color-white);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    grid-column-gap: 40px;
    grid-row-gap: 40px
}

.award_bottom-gallery::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    border-top: 40px solid #112236;
    border-left: 50px solid rgba(0, 0, 0, 0);
    border-right: 50px solid rgba(0, 0, 0, 0)
}

.reason {
    padding: 78px 0 62px;
    background: url(../images/reason_bg.jpg) left center/cover no-repeat
}

.reason_wrap {
    margin-bottom: 22px;
    padding: 0 71px 0 69px;
    display: flex;
    column-gap: 70px
}

.reason_content {
    display: flex;
    flex-direction: column;
    align-items: center
}

.reason_content-img {
    margin-bottom: 37px
}

.reason_content-heading {
    font-size: 36px;
    font-family: var(--font-serif);
    font-weight: 500;
    color: var(--color-white);
    text-transform: none;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-text-orientation: mixed;
    -moz-text-orientation: mixed;
    -ms-text-orientation: mixed;
    text-orientation: mixed;
    line-height: 1.7em
}

.reason_content-heading .h-1 {
    letter-spacing: -0.026em
}

.reason_content-heading .h-2 {
    letter-spacing: .05em
}

.reason_video {
    margin-top: 3px;
    margin-bottom: 0;
    flex-grow: 1;
    overflow: hidden;
    aspect-ratio: 729/410
}

.reason_video iframe {
    width: 100%;
    height: 100%
}

.reason_desc {
    position: relative;
    font-size: 34px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-white);
    text-transform: none;
    text-align: center;
    letter-spacing: .045em;
    font-style: italic;
    line-height: 2.075em
}

.reason_desc-hl {
    font-size: 48px;
    color: #fff799;
    text-decoration: underline;
    text-decoration-thickness: 3px;
    text-underline-offset: 11px;
    letter-spacing: -0.001em
}

.reason_desc::before {
    content: "";
    position: absolute;
    bottom: -5px;
    right: -80px;
    width: 305px;
    height: 106px;
    background: url(../images/reason_bg02.png) center center/100% auto no-repeat
}

.contact_top {
    position: relative;
    padding: 100px 0px 110px;
    background: url(../images/contact_bg01.jpg) top center/cover no-repeat
}

.contact_top-heading {
    display: flex;
    flex-direction: column
}

.contact_top-heading span {
    text-align: center
}

.contact_top-heading .sub {
    margin-bottom: 15px;
    font-size: 40px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    line-height: 1.15em
}

.contact_top-heading .main {
    position: relative;
    font-size: 62px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-primary);
    text-transform: none;
    line-height: 1.45em;
    z-index: 2
}

.contact_top-heading .main::before {
    content: "";
    position: absolute;
    bottom: -25px;
    left: 10px;
    width: 801px;
    height: 113px;
    background: url(../images/contact_bg02.jpg) center center/contain no-repeat;
    z-index: -1
}

.contact_top::after {
    content: "";
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 557px;
    height: 120px;
    background: url(../images/contact_bg03.jpg) center center/contain no-repeat
}

.contact_bottom {
    padding: 75px 0 57px;
    background: url(../images/contact_bg04.jpg) bottom center/cover no-repeat
}

.contact_bottom-heading {
    position: relative;
    width: fit-content;
    margin: 0 auto 48px;
    font-size: 44px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    text-align: center;
    line-height: 1.4em;
    background: #fff59e;
    background: linear-gradient(to right, #B07E1E 0%, #fff59e 17%, #FFFBDE 30%, #fff59e 41%, #B07E1E 58%, #734906 64%, #B07E1E 75%, #fff59e 88%, #FFFBDE 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0)
}

.contact_bottom-heading .large {
    font-size: 54px;
    font-style: italic
}

.contact_bottom-heading::before {
    content: "";
    position: absolute;
    bottom: -24px;
    left: 0;
    width: calc(100% + 30px);
    height: 18px;
    background: url(../images/contact_bg06.png)
}

.contact_bottom-heading::after {
    content: "";
    position: absolute;
    top: calc(50% + 10px);
    right: -133px;
    transform: translateY(-50%);
    height: 122px;
    width: 122px;
    background: url(../images/contact_bg05.png) center center/100% auto no-repeat;
    z-index: 2
}

.contact_bottom-desc {
    margin-bottom: 31px;
    font-size: 20px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-white);
    text-transform: none;
    text-align: center;
    line-height: 2.245em
}

.contact_bottom-desc .large {
    font-size: 26px;
    color: #fff45c
}

.contact_wrap {
    padding: 0 20px 0 30px;
    display: flex;
    justify-content: space-between;
    column-gap: 45px
}

.contact_form {
    width: 50%
}

.contact_form-main {
    padding: 0 20px;
    margin-bottom: 25px;
    width: 100%
}

.contact_form-main form {
    height: 100%;
    width: 100%
}

.contact_form-main form dl.mailform:not(:last-child) {
    margin-bottom: 18px;
}
.contact_img {
    width: 50%;
    display: flex;
    flex-direction: column
}

.contact_img-main {
    position: relative;
    margin: 7px 20px 60px 0;
    text-align: right
}

.contact_img-main::after {
    content: "";
    position: absolute;
    bottom: -63px;
    left: -38px;
    width: 274px;
    height: 106px;
    background: url(../images/contact02.png) center center/100% auto no-repeat
}

.contact_img-main.contact-book {
    display: flex;
    align-items: center;
    gap: 15px;
}
.contact_img-main.contact-book span.book-txt{
    font-size: 30px;
    font-weight: bold;
    line-height: 1.5;
    color: #ffff00;
    text-align: center;
}

.contact_img-btn {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: flex-end
}

.contact_img-btn a {
    padding: 16px 24px 14px;
    display: flex;
    align-items: center;
    column-gap: 22px;
    background: var(--color-green);
    width: 100%;
    max-width: 460px;
    font-size: 26.95px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-white);
    text-transform: none;
    text-align: center;
    line-height: 1.3em
}

.contact_img-btn a img {
    flex-shrink: 1;
    width: 69px;
    height: auto;
    object-fit: contain
}

.contact_img-btn a>span {
    margin-top: 2px
}

.contact_img-btn a .large {
    font-size: 30px;
    letter-spacing: .05em
}

.contact_btn {
    line-height: 1em;
    background: linear-gradient(67deg, rgb(255, 244, 220) 0%, rgb(120, 105, 49) 30%, rgb(255, 244, 220) 70%, #978d48 88%)
}

.contact_btn span {
    position: relative;
    margin-left: 50px;
    display: block;
    padding: 20px;
    font-size: 26px;
    font-family: var(--font-family);
    font-weight: 700;
    color: #352f1a;
    text-transform: none;
    text-align: center;
    letter-spacing: .04em
}

.contact_btn span::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -40px;
    transform: translateY(-50%);
    border-left: 45px solid #978d48;
    border-top: 55px solid rgba(0, 0, 0, 0);
    border-bottom: 55px solid rgba(0, 0, 0, 0)
}

.price {
    padding: 62px 0 35px
}

.price_heading {
    margin-bottom: 60px;
    font-size: 48px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    text-align: center;
    line-height: 1.75em
}

.price_heading span {
    color: var(--color-primary)
}

.price_heading span.large {
    font-size: 72px
}

.price_img {
    width: 100%;
    max-width: 1310px;
    margin: 0 auto;
    padding: 0 15px
}

.price_img img {
    width: 100%
}

.note {
    width: 100%;
    height: 626px;
    background: url(../images/note_pc.png) 0 center/cover no-repeat
}

.step {
    position: relative;
    padding: 46px 0 60px
}

.step::after {
    content: "";
    position: absolute;
    top: -8%;
    right: -1%;
    width: 1260px;
    height: 840px;
    background: url(../images/step_bg.png) center center/100% auto no-repeat;
    z-index: -1
}

.step_sub {
    margin-bottom: 43px;
    font-size: 20px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    text-align: center
}

.step_sub .large {
    font-size: 36px;
    color: var(--color-primary);
    font-weight: 700;
    letter-spacing: .04em;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 9px
}

.step_heading {
    margin-bottom: 45px;
    font-size: 48px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    text-align: center;
    line-height: 1.75em
}

.step_heading .large {
    font-size: 72px;
    color: var(--color-primary)
}

.step_list-item .item_heading {
    padding: 18px 20px 0;
    background: rgba(101, 170, 221, .3)
}

.step_list-item .item_heading-no {
    display: flex;
    align-items: flex-end
}

.step_list-item .item_heading-no span {
    display: block;
    font-size: 30px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: uppercase;
    line-height: 1em
}

.step_list-item .item_heading-no span:first-child {
    margin-bottom: 17px
}

.step_list-item .item_heading-no .num {
    padding-right: 10px;
    margin-left: 10px;
    font-size: 80px;
    font-style: italic;
    transform: translateY(-8px);
    background: var(--color-black);
    background: linear-gradient(to right, #0d88b3 0%, #3243b3 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0);
    line-height: .9em;
    transform: translateY(-5px)
}

.step_list-item .item_heading-no .title {
    margin-bottom: 20px;
    margin-left: 22px;
    font-size: 36px;
    color: var(--color-primary);
    letter-spacing: .025em
}

.step_list-item .item_content {
    padding: 30px 95px 20px 22px
}

.step_list-item .item_wrap {
    padding: 5px 0 5px 97px;
    display: flex;
    align-items: center
}

.step_list-item .item_wrap-img {
    margin-right: 50px
}

.step_list-item .item_wrap .point {
    margin-top: -30px;
    margin-left: 10px
}

.step_list-item .item_desc {
    margin-bottom: 17px;
    font-size: 20px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    line-height: 2.015em;
    letter-spacing: .0295em
}

.step_list-item .item_desc .large {
    font-size: 24px;
    text-decoration: underline;
    text-underline-offset: 5px;
    line-height: 1.9em
}

.step_list-item .item_desc.desc-1 {
    margin-bottom: 0;
    margin-top: 3px;
    font-size: 30px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-red);
    text-transform: none;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
    letter-spacing: .03em;
    line-height: 1.8em
}

.step_list-item .item_img {
    position: relative;
    margin-top: 50px;
    text-align: center
}

.step_list-item .item_img::after {
    content: "";
    position: absolute;
    top: -82px;
    right: -115px;
    width: 447px;
    height: 199px;
    background: url(../images/step02.png) center center/100% auto no-repeat
}

.checklist {
    position: relative;
    padding: 105px 0 147px;
    background: #d0d8e3
}

.checklist::before {
    content: url(../images/checklist_bg.png);
    position: absolute;
    top: 0;
    left: 0;
    width: 1068px;
    height: auto;
    mix-blend-mode: soft-light
}

.checklist::after {
    content: "";
    position: absolute;
    bottom: -55px;
    left: 50%;
    transform: translateX(-50%);
    width: 557px;
    height: 120px;
    background: url(../images/checklist01.png) center center/contain no-repeat;
    z-index: 2
}

.checklist_content {
    position: relative;
    margin-left: auto;
    width: fit-content;
    padding: 0 38px;
    z-index: 2
}

.checklist_heading {
    margin-bottom: 42px;
    font-size: 48px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-sub);
    text-transform: none
}

.checklist_list {
    padding-left: 80px
}

.checklist_list-item {
    padding: 13px 0 0px 60px;
    font-size: 24px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    letter-spacing: .08em;
    background: url(../images/check-ico-white.png) 0 0/54px auto no-repeat;
    line-height: 1.325em
}

.checklist_list-item:not(:last-child) {
    margin-bottom: 16px
}

.quote {
    position: relative;
    padding: 79px 0 110px;
    overflow: hidden
}

.quote::before {
    content: "";
    position: absolute;
    top: 54.8%;
    left: 0;
    transform: translateY(-50%);
    width: 755px;
    height: 542px;
    z-index: -1;
    background: url(../images/quote02.png) center center/100% auto no-repeat
}

.quote_desc {
    margin-bottom: 0;
    font-size: 20px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    text-align: center;
    line-height: 2em;
    letter-spacing: .025em
}

.quote_heading {
    font-size: 30px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-primary);
    text-transform: none;
    text-align: center;
    letter-spacing: .03em
}

.quote_img {
    position: relative;
    margin-top: 70px;
    text-align: center;
    padding: 0 15px
}

.quote_img img {
    width: 100%;
    width: 770px
}

.quote_img-sub {
    position: absolute;
    bottom: -110px;
    right: -48px;
    width: 547px !important
}

.cost {
    padding: 158px 0 120px;
    background: url(../images/cost_bg03.png) -10px 9.8%/auto no-repeat, url(../images/cost_bg.png) center center/cover repeat-y
}

.cost .inner {
    margin-bottom: 48px
}

.cost_heading {
    margin-bottom: 52px;
    position: relative;
    display: inline-flex;
    align-items: center;
    z-index: 2
}

.cost_heading .sub {
    display: inline-block;
    font-size: 40px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    line-height: 1.15em;
    letter-spacing: .025em
}

.cost_heading .highlight {
    position: relative;
    font-size: 36px;
    text-align: center
}

.cost_heading .highlight::after {
    content: "";
    position: absolute;
    top: 0;
    left: 54%;
    transform: translate(-50%, -102%);
    width: 39px;
    height: 68px;
    background: url(../images/cost01.png) center center/100% auto no-repeat
}

.cost_heading .highlight::before {
    content: "";
    position: absolute;
    top: 18%;
    left: 68%;
    transform: translate(-50%, -50%);
    width: 473px;
    height: 414px;
    background: url(../images/cost02.png) center center/100% auto no-repeat;
    z-index: -1
}

.cost_heading .normal {
    margin-top: -5px;
    line-height: 1em
}

.cost_heading .main {
    margin: 0 -25px;
    font-size: 72px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    line-height: 1.4em;
    letter-spacing: -0.055em
}

.cost_heading .main strong {
    color: var(--color-primary)
}

.cost_desc {
    margin-bottom: 25px;
    position: relative;
    z-index: 2;
    text-align: center;
    font-size: 20px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    letter-spacing: .025em;
    line-height: 2.25em
}

.cost_desc .large {
    font-size: 30px;
    color: var(--color-primary)
}

.cost_desc .more {
    display: block;
    margin-top: -13px
}

.cost_list {
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 60px
}

.cost_list-item {
    max-width: 163px;
    display: flex;
    flex-direction: column
}

.cost_list-item img {
    margin-bottom: 12px
}

.cost_list-item span {
    font-size: 27px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-sub);
    text-transform: none;
    text-align: center;
    word-break: keep-all;
    letter-spacing: .015em
}

.cost_box {
    width: 100%;
    max-width: 1310px;
    margin: 0 auto;
    padding: 0 15px
}

.cost_box .inner {
    margin-bottom: 0
}

.cost_box-heading {
    padding: 25px 0 20px;
    background: url(../images/cost_bg02.jpg) center center/cover no-repeat
}

.cost_box-heading h4 {
    text-align: center;
    font-size: 48px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-white);
    text-transform: none;
    line-height: 1.165em
}

.cost_box-heading h4 .sub {
    font-size: 36px
}

.cost_box-heading h4 .large {
    position: relative;
    display: inline-block;
    color: var(--color-black);
    z-index: 2
}

.cost_box-heading h4 .large::after {
    content: "";
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 96%;
    height: calc(100% + 4px);
    background: var(--color-white);
    opacity: .7;
    z-index: -1
}

.cost_box-content {
    position: relative;
    padding: 62px 0 57px;
    background: var(--color-white)
}

.cost_box-content::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    border-top: 20px solid #c00000;
    border-left: 20px solid rgba(0, 0, 0, 0);
    border-right: 20px solid rgba(0, 0, 0, 0)
}

.cost_box-content .content_chart {
    margin-bottom: 82px;
    display: flex;
    flex-direction: column;
    align-items: center
}

.cost_box-content .content_chart-img {
    margin-bottom: 32px;
    width: fit-content;
    position: relative
}

.cost_box-content .content_chart-img::after {
    content: "";
    position: absolute;
    top: -1.2%;
    right: -23%;
    width: 279px;
    height: 260px;
    background: url(../images/cost03.png) center center/100% auto no-repeat
}

.cost_box-content .content_chart-title {
    margin: 0 auto;
    width: 100%;
    max-width: 705px;
    display: flex;
    justify-content: space-between;
    column-gap: 68px
}

.cost_box-content .content_chart-title p {
    padding: 14px 10px;
    width: 50%;
    margin-bottom: 0;
    background: #0f2640;
    font-size: 22px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-white);
    text-transform: none;
    text-align: center
}

.cost_box-content .content_case-item .item_heading {
    margin-bottom: 0;
    position: relative;
    padding-left: 155px;
    display: flex;
    font-size: 40px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    border-bottom: 2px solid var(--color-black)
}

.cost_box-content .content_case-item .item_heading .recommend {
    margin-left: 23px;
    width: 146px;
    height: 66px;
    transform: translateY(-13px)
}

.cost_box-content .content_case-item .item_heading .small {
    font-size: 36px
}

.cost_box-content .content_case-item .item_heading>span {
    margin-left: 33px
}

.cost_box-content .content_case-item .item_heading::after {
    content: "";
    position: absolute;
    bottom: -16px;
    left: 6px;
    width: 148px;
    height: 72px;
    background: url(../images/case_ico.png) center center/100% auto no-repeat
}

.cost_box-content .content_case-item .item_content {
    display: flex;
    column-gap: 20px;
    padding: 45px 0 41px
}

.cost_box-content .content_case-item .item_content-img {
    width: min(55%, 578px)
}

.cost_box-content .content_case-item .item_content-detail {
    margin-top: 8px
}

.cost_box-content .content_case-item .item_content-detail li {
    margin-bottom: 15px;
    padding-left: 75px;
    font-size: 20px;
    font-family: var(--font-serif);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    line-height: 1.9em
}

.cost_box-content .content_case-item .item_content-detail.x-list li {
    background: url(../images/x_ico.png) left center/56px auto no-repeat
}

.cost_box-content .content_case-item .item_content-detail.o-list {
    margin-top: 7px
}

.cost_box-content .content_case-item .item_content-detail.o-list li {
    padding-left: 78px;
    background: url(../images/o_ico.png) left center/64px auto no-repeat
}

.support {
    padding-top: 120px
}

.support .img-fill img {
    opacity: .6
}

.support_top {
    position: relative;
    display: flex;
    column-gap: 165px
}

.support_top-sub {
    position: absolute;
    bottom: 0;
    left: 44%;
    transform: translateX(-50%);
    z-index: 2
}

.support_top-img {
    margin-left: -8px;
    width: min(48%, 840px)
}

.support_mid {
    margin-top: -60px;
    display: flex;
    justify-content: flex-end
}

.support_mid-content {
    max-width: 862px;
    position: relative;
    margin-top: 120px;
    margin-left: 15px;
    margin-right: -24%;
    background: var(--color-white);
    padding: 57px 145px 50px 85px;
    z-index: 5
}

.support_mid-content .content_heading {
    margin-bottom: 20px;
    font-size: 30px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-primary);
    text-transform: none
}

.support_mid-content .content_list-item {
    padding: 13px 0 0px 60px;
    font-size: 24px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    letter-spacing: .08em;
    background: url(../images/check-ico.png) 0 2px/54px auto no-repeat;
    line-height: 1.6em
}

.support_mid-content .content_list-item:not(:last-child) {
    margin-bottom: 9px
}

.support_mid-img {
    margin-right: -8px;
    width: min(48%, 858px)
}

.support_mid2 {
    margin-top: -20.75%;
    display: flex
}

.support_mid2-content {
    max-width: 800px;
    height: fit-content;
    position: relative;
    margin-left: -19.3%;
    margin-right: 15px;
    margin-top: 27.1%;
    padding: 55px 60px;
    background: var(--color-white);
    z-index: 5
}

.support_mid2-content .content_heading {
    margin-bottom: 38px;
    font-size: 30px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-primary);
    text-transform: none;
    letter-spacing: .025em
}

.support_mid2-content .content_desc {
    font-size: 20px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    line-height: 2em;
    letter-spacing: .025em
}

.support_mid2-img {
    margin-left: -8px;
    width: min(54%, 770px)
}

.support_bottom {
    margin-top: -20%;
    display: flex;
    justify-content: flex-end
}

.support_bottom-img {
    margin-right: -8px;
    width: min(70%, 1040px)
}

.support_content {
    position: relative;
    margin-top: 37px;
    display: flex;
    flex-shrink: 0
}

.support_content::after {
    content: "";
    position: absolute;
    top: 54.2%;
    left: 17%;
    transform: translate(0%, -50%);
    width: 785px;
    height: 396px;
    background: url(../images/sp07.png) center center/100% auto no-repeat;
    z-index: -1
}

.support_content-heading {
    position: relative;
    margin-right: 55px;
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 26px;
    height: fit-content;
    z-index: 2
}

.support_content-heading:first-child::after {
    right: 32px
}

.support_content-heading:nth-child(2)::before {
    content: "";
    position: absolute;
    top: 51%;
    left: -60px;
    transform: translateY(-50%);
    width: 61px;
    height: 52px;
    background: url(../images/arrow_ico.png) center/100% auto no-repeat
}

.support_content-heading::after {
    content: "";
    position: absolute;
    top: 0;
    right: 1px;
    width: 4px;
    height: 100%;
    background: #015eea;
    background: linear-gradient(to bottom, #015eea 0%, #00c0fa 100%);
    z-index: -1
}

.support_content-heading span {
    font-size: 66px;
    font-family: var(--font-serif);
    font-weight: 500;
    color: var(--color-black);
    text-transform: none;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-text-orientation: mixed;
    -moz-text-orientation: mixed;
    -ms-text-orientation: mixed;
    text-orientation: mixed;
    letter-spacing: .03em;
    line-height: 1.8em
}

.support_content-desc {
    margin-left: 10px;
    font-size: 30px;
    font-family: var(--font-serif);
    font-weight: 500;
    color: var(--color-black);
    text-transform: none;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-text-orientation: mixed;
    -moz-text-orientation: mixed;
    -ms-text-orientation: mixed;
    text-orientation: mixed;
    letter-spacing: .03em;
    line-height: 1.7em
}

.compare {
    padding: 150px 0 73px;
    background: linear-gradient(to left, rgba(101, 170, 221, 0.5) 50%, rgba(221, 221, 221, 0.5) 50%), url(../images/cost_bg.png) center center/cover repeat-y
}

.compare_sub {
    position: relative;
    margin-bottom: 18px;
    font-size: 30px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    text-align: center
}

.compare_sub::before {
    content: "";
    position: absolute;
    top: -84px;
    left: 16px;
    width: 246px;
    height: 94px;
    background: url(../images/compare01.png) center center/100% auto no-repeat
}

.compare_heading {
    width: fit-content;
    margin: 0 auto;
    font-size: 60px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    line-height: 1.5em
}

.compare_heading .large {
    color: var(--color-primary)
}

.compare_heading .char {
    position: relative
}

.compare_heading .char::after {
    content: "";
    position: absolute;
    top: -9px;
    left: 50%;
    transform: translateX(-50%);
    width: 10px;
    height: 10px;
    background: var(--color-primary);
    border-radius: 50%
}

.compare_title {
    margin-top: 136px;
    margin-bottom: 12px;
    position: relative;
    display: flex;
    align-items: center;
    column-gap: 98px;
    z-index: 5
}

.compare_title::before {
    content: "";
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 200px;
    height: 327px;
    background: url(../images/compare02.png) center center/100% auto no-repeat
}

.compare_title p {
    width: 50%;
    margin-bottom: 0;
    font-size: 40px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    text-align: center;
    line-height: 1.25em
}

.compare_flow {
    position: relative;
    display: flex;
    column-gap: 98px;
    z-index: 6
}

.compare_flow-col {
    position: relative;
    padding: 60px 0 47px;
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    row-gap: 60px
}

.compare_flow-col.col-l::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 100%);
    border-top: 38px solid rgba(153, 162, 169, .5);
    border-left: 60px solid rgba(0, 0, 0, 0);
    border-right: 60px solid rgba(0, 0, 0, 0)
}

.compare_flow-col.col-l::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 100%;
    background: rgba(153, 162, 169, .5);
    z-index: -1
}

.compare_flow-col.col-r::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 100%);
    border-top: 38px solid rgba(68, 138, 202, .5);
    border-left: 60px solid rgba(0, 0, 0, 0);
    border-right: 60px solid rgba(0, 0, 0, 0)
}

.compare_flow-col.col-r::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 100%;
    background: rgba(68, 138, 202, .5);
    z-index: -1
}

.compare .flow_group {
    display: flex;
    flex-direction: column;
    row-gap: 60px
}

.compare .flow_wrap {
    display: flex;
    flex-direction: column;
    row-gap: 30px
}

.compare .flow_item {
    padding: 10px 35px;
    background: var(--color-white);
    min-height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column
}

.compare .flow_item.has-content {
    padding: 37px 35px 18px
}

.compare .flow_item-title {
    margin-bottom: 0;
    font-size: 30px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    text-align: center;
    letter-spacing: .075em;
    line-height: 1em
}

.compare .flow_item-title .small {
    font-size: 24px
}

.compare .flow_item-img {
    margin: 25px 0
}

.compare .flow_item-desc {
    font-size: 20px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    text-align: center;
    line-height: 1.55em;
    letter-spacing: .08em
}

.compare .flow_item-desc .large {
    font-size: 26px;
    color: var(--color-primary)
}

.compare .flow_sub {
    padding: 0 35px
}

.compare .flow_sub-title {
    padding: 5px 10px;
    background: #549ad3;
    font-size: 20px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-white);
    text-transform: none;
    line-height: 1.5em;
    letter-spacing: .04em;
    text-align: center
}

.pickme {
    background: url(../images/pickme_bg.jpg) center center/cover repeat-y
}

.pickme_top {
    padding: 121px 0 65px
}

.pickme_top .inner {
    display: flex;
    align-items: center
}

.pickme_top-box {
    margin-right: 78px;
    padding: 23px;
    position: relative;
    font-size: 26px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-primary);
    text-transform: none;
    background: linear-gradient(to bottom, var(--color-third) 3px, transparent 3px, transparent calc(100% - 3px), var(--color-third) calc(100% - 3px)) no-repeat, linear-gradient(to left, var(--color-third) 3px, transparent 3px, transparent calc(100% - 3px), var(--color-third) calc(100% - 3px)) no-repeat;
    background-position: center;
    background-size: calc(100% - 20px) 100%, 100% calc(100% - 20px);
    display: flex;
    justify-content: center;
    align-items: center
}

.pickme_top-box::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(100%, -50%);
    width: 26px;
    height: 3px;
    background: var(--color-third)
}

.pickme_top-heading {
    position: relative;
    font-size: 60px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    line-height: 1.15em;
    z-index: 2
}

.pickme_top-heading .num {
    margin: 0 -32px 0 -25px;
    font-size: 150px;
    color: var(--color-third);
    font-style: italic
}

.pickme_top-heading .large {
    font-size: 100px
}

.pickme_top-heading::before {
    content: "クリエイトジャパンが";
    position: absolute;
    top: -20px;
    left: -45px;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -0.115em
}

.pickme_top-heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translate(87%, 8%);
    width: 313px;
    height: 107px;
    z-index: -1;
    transition: .3s;
    background: url(../images/pickme.png) center center/100% auto no-repeat
}

.pickme_mid {
    position: relative;
    padding: 110px 0 90px;
    background: url(../images/pickme_bg02.jpg) center center/cover no-repeat, var(--color-black)
}

.pickme_mid .inner {
    position: relative
}

.pickme_mid .inner::before {
    content: "";
    position: absolute;
    top: -112px;
    left: 0;
    transform: translateX(calc(-100% - 25px));
    width: 130px;
    height: 156px;
    transition: .4s;
    background: url(../images/pickme02.png) center center/100% auto no-repeat
}

.pickme_mid-wrap {
    margin-bottom: 32px;
    display: flex;
    justify-content: space-between;
    column-gap: 20px
}

.pickme_mid-content {
    position: relative;
    margin-top: 10px;
    z-index: 2
}

.pickme_mid-content .content_sub {
    margin-bottom: 0;
    font-size: 36px;
    font-family: var(--font-family);
    font-weight: 400;
    color: #b9ab80;
    text-transform: none;
    line-height: 1em;
    letter-spacing: .08em
}

.pickme_mid-content .content_heading {
    position: relative;
    margin-bottom: 51px;
    margin-top: -10px;
    font-size: 60px;
    font-family: var(--font-family);
    font-weight: 300;
    color: #b9ab80;
    text-transform: none;
    line-height: 1.4em;
    letter-spacing: -0.185em;
    background: linear-gradient(to bottom, #FFFBDE 0%, #b9ab80 10%, #FFFBDE 30%, #b9ab80 65%, #b9ab80 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0)
}

.pickme_mid-content .content_heading .large {
    font-size: 100px;
    font-weight: 400;
    letter-spacing: .1em
}

.pickme_mid-content .content_heading::after {
    content: "";
    position: absolute;
    top: -19px;
    right: 46px;
    width: 50px;
    height: 53px;
    background: url(../images/star_ico.png) center center/100% auto no-repeat
}

.pickme_mid-content .content_img {
    position: relative;
    padding-left: 65px
}

.pickme_mid-img {
    position: relative;
    z-index: 2
}

.pickme_mid-img::before {
    content: "";
    position: absolute;
    top: -12%;
    left: -50%;
    width: 289px;
    height: 391px;
    background: url(../images/pickme05.png) center/100% auto no-repeat;
    z-index: -1
}

.pickme_mid-check {
    position: relative;
    z-index: 2;
    display: flex;
    column-gap: 20px
}

.pickme_mid-check li {
    width: 50%;
    padding: 30px 21px;
    background: rgba(255, 255, 255, .5)
}

.pickme_mid-check li span {
    padding: 13px 0 5px 53px;
    font-size: 24px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-white);
    text-transform: none;
    background: url(../images/check-ico02.png) 0 5px/54px auto no-repeat;
    line-height: 1.325em
}

.pickme_bottom {
    padding: 215px 0 101px;
    background: url(../images/pickme_bg05.jpg) -5px 43.7%/auto no-repeat, url(../images/pickme_bg06.jpg) 118% 58%/auto no-repeat
}

.pickme_bottom-heading {
    position: relative;
    margin-bottom: 40px;
    display: flex;
    column-gap: 25px
}

.pickme_bottom-heading::before {
    content: "01";
    display: block;
    position: absolute;
    bottom: 15px;
    left: -140px;
    font-size: 200px;
    font-family: var(--font-family);
    font-weight: 300;
    color: rgba(11, 11, 11, .1);
    text-transform: none;
    line-height: 1em;
    letter-spacing: -0.08em;
    font-style: italic;
    transition: .3s
}

.pickme_bottom-heading .num {
    margin-left: -10px;
    flex-shrink: 0;
    font-size: 100px;
    font-family: var(--font-family);
    font-weight: 300;
    color: var(--color-black);
    text-transform: none;
    font-style: italic;
    line-height: 1em;
    background: linear-gradient(to right, #0d88b3 0%, #3243b3 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0)
}

.pickme_bottom-heading .title_main {
    margin: 0 -28px;
    font-size: 48px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-primary);
    text-transform: none;
    letter-spacing: -0.0725em;
    line-height: 1.55em
}

.pickme_bottom-heading .title_sub {
    font-size: 36px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none
}

.pickme_bottom-desc {
    margin-bottom: 90px;
    font-size: var(--fs-18);
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    line-height: 2em;
    letter-spacing: .074em
}

.pickme_bottom-cleaning {
    margin-bottom: 182px;
    position: relative;
    padding: 85px 60px 87px;
    background: url(../images/pickme_bg07.png) top left/auto no-repeat, url(../images/pickme_bg04.png) top left/cover no-repeat
}

.pickme_bottom-cleaning .heading {
    position: relative;
    margin-bottom: 45px;
    font-size: 48px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-primary);
    text-transform: none;
    text-align: center;
    line-height: 1.3em;
    z-index: 2
}

.pickme_bottom-cleaning .heading .sub {
    font-size: 36px;
    color: var(--color-black)
}

.pickme_bottom-cleaning .heading::after {
    content: "Self-cleaning";
    font-size: 120px;
    font-family: var(--font-family);
    font-weight: 300;
    color: var(--color-white);
    text-transform: uppercase;
    letter-spacing: auto;
    font-style: italic;
    opacity: .5;
    width: 100vw;
    max-width: 1100px;
    position: absolute;
    bottom: -17px;
    left: 49%;
    transform: translateX(-50%);
    z-index: -1
}

.pickme_bottom-cleaning .desc {
    margin-bottom: 57px;
    font-size: var(--fs-18);
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    text-align: center;
    line-height: 2.25em;
    letter-spacing: .08em
}

.pickme_bottom-cleaning .desc .large {
    font-size: 24px;
    color: var(--color-primary);
    font-weight: 700
}

.pickme_bottom-cleaning .content {
    position: relative;
    margin-left: 78px;
    display: flex;
    justify-content: space-between;
    column-gap: 170px
}

.pickme_bottom-cleaning .content::after,
.pickme_bottom-cleaning .content::before {
    content: "";
    position: absolute;
    top: 90px;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 16.8px;
    background: #a1c0d8
}

.pickme_bottom-cleaning .content::before {
    transform: translateX(-50%) rotate(90deg)
}

.pickme_bottom-cleaning .content_col {
    width: 300px;
    display: flex;
    flex-direction: column;
    align-items: center
}

.pickme_bottom-cleaning .content_title {
    width: 100%;
    margin-bottom: 35px;
    font-size: 72px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    text-align: center;
    line-height: 1.35em
}

.pickme_bottom-cleaning .content_title-sub {
    padding: 11px;
    display: block;
    background: #a1c0d8;
    font-size: 24px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-white);
    text-transform: none;
    text-align: center;
    line-height: 1em
}

.pickme_bottom-cleaning .content_img {
    flex-grow: 1;
    display: flex;
    align-items: center
}

.pickme_bottom-cleaning .content_img.img-out {
    width: 452px
}

.pickme_bottom-flow {
    margin-bottom: 10px
}

.pickme_bottom-flow .flow_item {
    display: flex;
    justify-content: space-between;
    column-gap: 47px
}

.pickme_bottom-flow .flow_item:nth-child(even) {
    flex-direction: row-reverse
}

.pickme_bottom-flow .flow_item:not(:last-child) {
    margin-bottom: 113px
}

.pickme_bottom-flow .flow_item:first-child .flow_item-img p {
    margin: 151px 0 0 90px
}

.pickme_bottom-flow .flow_item:nth-child(2) .flow_item-img {
    max-width: 443px
}

.pickme_bottom-flow .flow_item:nth-child(2) .flow_item-img p {
    margin-top: 10px;
    margin-bottom: 7px;
    width: 555px
}

.pickme_bottom-flow .flow_item:nth-child(2) .flow_item-img p img:not(:last-child) {
    margin-bottom: 30px
}

.pickme_bottom-flow .flow_item:nth-child(3) .flow_item-img {
    max-width: 415px
}

.pickme_bottom-flow .flow_item:nth-child(3) .flow_item-img p {
    margin-top: 153px;
    float: right;
    width: 556px
}

.pickme_bottom-flow .flow_item:last-child {
    padding-top: 21px
}

.pickme_bottom-flow .flow_item:last-child .flow_item-content {
    width: 645px
}

.pickme_bottom-flow .flow_item:last-child .flow_item-img {
    transform: scale(1.04)
}

.pickme_bottom-flow .flow_item:last-child .flow_item-img p {
    margin-top: -60px;
    float: right
}

.pickme_bottom-flow .flow_item-content {
    width: 610px;
    flex-shrink: 0
}

.pickme_bottom-flow .flow_item-content .title {
    position: relative;
    margin-bottom: 42px;
    display: flex;
    column-gap: 32px
}

.pickme_bottom-flow .flow_item-content .title::after {
    content: attr(data-num);
    position: absolute;
    top: -105px;
    left: -140px;
    font-size: 200px;
    font-family: var(--font-family);
    font-weight: 300;
    color: rgba(11, 11, 11, .1);
    text-transform: none;
    line-height: 1em;
    letter-spacing: -0.04em;
    font-style: italic;
    transition: .3s
}

.pickme_bottom-flow .flow_item-content .title.no-sub {
    column-gap: 28px
}

.pickme_bottom-flow .flow_item-content .title_main {
    margin-top: 5px;
    display: flex;
    flex-direction: column;
    font-size: 48px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-primary);
    text-transform: none;
    line-height: 1.45em
}

.pickme_bottom-flow .flow_item-content .title_main.font-s {
    margin-top: 20px;
    font-family: var(--font-serif);
    font-weight: 600;
    letter-spacing: .082em
}

.pickme_bottom-flow .flow_item-content .title_main-sub {
    margin-bottom: 10px;
    font-size: 36px;
    color: var(--color-black);
    line-height: 1.4em
}

.pickme_bottom-flow .flow_item-content .title_num {
    margin-left: -13px;
    padding-right: 15px;
    flex-shrink: 0;
    font-size: 100px;
    font-family: var(--font-family);
    font-weight: 300;
    color: var(--color-black);
    text-transform: none;
    letter-spacing: -0.04em;
    font-style: italic;
    line-height: 1em;
    text-align: right;
    background: linear-gradient(to right, #0d88b3 0%, #3243b3 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0)
}

.pickme_bottom-flow .flow_item-content .desc {
    padding-left: 3px;
    font-size: var(--fs-18);
    font-family: var(--font-serif);
    font-weight: 500;
    color: var(--color-black);
    text-transform: none;
    line-height: 2.03em;
    letter-spacing: .065em
}

.pickme_bottom-flow .flow_item-content .desc:not(:last-child) {
    margin-bottom: 38px
}

.pickme_bottom-logo {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px 37px
}

.about {
    padding: 56px 0 52px;
    background: url(../images/about_bg.jpg) center center/cover no-repeat
}

.about .inner {
    position: relative
}

.about_heading {
    position: relative;
    z-index: 2;
    margin-bottom: 20px;
    font-size: 30px;
    font-family: var(--font-family);
    font-weight: 300;
    color: var(--color-white);
    text-transform: none;
    text-align: center
}

.about_heading .large {
    position: relative;
    font-size: 48px;
    z-index: 2
}

.about_heading .large::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 46px;
    background: #3679b9;
    z-index: -1
}

.about_desc {
    position: relative;
    margin-bottom: 0;
    font-size: var(--fs-18);
    font-family: var(--font-serif);
    font-weight: 400;
    color: var(--color-white);
    text-transform: none;
    text-align: center;
    line-height: 1.9em;
    letter-spacing: .08em;
    z-index: 2
}

.about_desc .small {
    font-size: 14px
}

.about_img {
    position: absolute;
    bottom: -52px;
    right: 33px
}

.case {
    padding: 110px 0 120px;
    background: url(../images/case_bg.jpg) top center/cover no-repeat
}

.case_heading {
    display: flex;
    flex-direction: column
}

.case_heading-main {
    margin-bottom: 20px;
    font-size: 72px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: uppercase;
    text-align: center;
    line-height: 1.1em
}

.case_heading-sub {
    margin-bottom: 50px;
    font-size: 36px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    text-align: center;
    line-height: 1.35em
}

.case_slider {
    margin-bottom: 60px;
    padding: 60px;
    background: var(--color-white)
}

.case_slider-wrap {
    display: flex;
    column-gap: 58px
}

.case_slider-main {
    width: min(55%, 510px)
}

.case_slider-main li {
    width: 100%;
    aspect-ratio: 51/68
}

.case_slider-main li img {
    width: 100%;
    height: 100%
}

.case_slider-sub {
    width: 45%;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.case_slider-title {
    padding: 18px 0 12px;
    font-size: 30px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    letter-spacing: .075em;
    line-height: 1.4em;
    border-bottom: 2px solid var(--color-black)
}

.case_slider-thumb .slick-track {
    transform: none !important;
    width: 100% !important;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    grid-column-gap: 15px;
    grid-row-gap: 15px
}

.case_slider-thumb .slick-track::before,
.case_slider-thumb .slick-track::after {
    display: none
}

.case_slider-thumb .slick-track li {
    cursor: pointer;
    width: 100% !important;
    aspect-ratio: 4/3;
    overflow: hidden;
    transition: .4s
}

.case_slider-thumb .slick-track li img {
    width: 100%;
    height: 100%
}

.case_slider-cmt {
    margin-top: 20px
}

.case_slider-cmt li {
    font-size: var(--fs-18);
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none
}

.case_carousel {
    position: relative
}

.case_carousel .slick-slide {
    margin: 0 20px
}

.case_carousel .slick-list {
    margin: 0 -20px
}

.case_carousel-arrow {
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    transition: .3s
}

.case_carousel-arrow.arrow-next {
    right: -70px;
    transform: translateY(-50%) rotate(180deg)
}

.case_carousel-arrow.arrow-prev {
    left: -70px
}

.case_carousel-item {
    padding: 60px;
    background: var(--color-white);
    display: flex !important;
    column-gap: 110px
}

.case_carousel-item .item_before {
    width: min(48%, 360px);
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.case_carousel-item .item_before-title {
    margin-top: -12px;
    padding-bottom: 8px;
    font-size: 24px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    letter-spacing: .08em;
    border-bottom: 2px solid var(--color-black)
}

.case_carousel-item .item_before-title .large {
    font-size: 30px;
    line-height: 1.65em
}

.case_carousel-item .item_before-img {
    width: 100%;
    position: relative
}

.case_carousel-item .item_before-img::before {
    content: "before";
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    padding: 13px 30px 9px;
    background: rgba(255, 255, 255, .5);
    font-size: 24px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: uppercase;
    line-height: 1em
}

.case_carousel-item .item_before-img::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(137%, -50%);
    width: 62px;
    height: 45px;
    background: url(../images/img_arrow.png) center center/100% auto no-repeat
}

.case_carousel-item .item_before-img img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.case_carousel-item .item_after {
    margin-top: auto;
    width: min(53%, 510px);
    position: relative;
    height: fit-content;
    aspect-ratio: 3/4;
    background: rbga(#d3d3d3, 0.4)
}

.case_carousel-item .item_after::before {
    content: "after";
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    padding: 13px 40px 9px;
    background: rgba(255, 255, 255, .5);
    font-size: 24px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: uppercase;
    line-height: 1em
}

.case_carousel-item .item_after img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.greeting {
    padding: 110px 0 80px;
    background: url(../images/greeting01.png) calc(100% - 55px) 32.7%/auto no-repeat, url(../images/greeting_bg01.png) 101.2% -15%/1336px auto no-repeat, url(../images/greeting_bg02.png) -460px 101.5%/auto no-repeat, #f9f6f3
}

.greeting_heading {
    display: flex;
    flex-direction: column
}

.greeting_heading-main {
    margin-bottom: 20px;
    font-size: 72px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: uppercase;
    text-align: center;
    line-height: 1.1em
}

.greeting_heading-sub {
    margin-bottom: 70px;
    font-size: 36px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    text-align: center;
    line-height: 1.35em
}

.greeting_box {
    margin-bottom: 90px
}

.greeting_box-txt {
    width: 100%;
    max-width: 880px;
    background: var(--color-white);
    border-radius: 10px;
    padding: 50px 60px 40px
}

.greeting_box-txt:not(:last-child) {
    margin-bottom: 50px
}

.greeting_box-txt:nth-child(odd) {
    margin-right: auto
}

.greeting_box-txt:nth-child(even) {
    margin-left: auto
}

.greeting_box-txt p {
    font-size: var(--fs-18);
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    line-height: 2em;
    letter-spacing: .0295em;
    text-align: justify
}

.greeting_box-txt p .bold {
    color: var(--color-primary);
    font-weight: 700
}

.greeting_box-txt p:not(:last-child) {
    margin-bottom: 35px
}

.greeting_sign {
    display: flex;
    flex-direction: column;
    align-items: end
}

.greeting_sign p {
    width: fit-content
}

.greeting_sign-top {
    margin-bottom: 15px;
    font-size: 24px;
    font-family: var(--font-family);
    font-weight: 700;
    color: #333;
    text-transform: none;
    line-height: 1.9em;
    letter-spacing: .015em
}

.greeting_sign-top .large {
    font-size: 30px
}

.greeting_sign-bottom {
    display: flex;
    align-items: center;
    column-gap: 18px;
    text-align: right
}

.greeting_sign-bottom img {
    width: 113px
}

.greeting_sign-bottom span {
    margin-top: 13px;
    font-size: 20px;
    font-family: var(--font-family);
    font-weight: 700;
    color: #333;
    text-transform: none;
    letter-spacing: .015em;
    line-height: 1.5em
}

.greeting_promo {
    position: relative
}

.greeting_promo::before {
    content: "";
    position: absolute;
    top: -72px;
    left: 180px;
    width: 415px;
    height: 56px;
    background: url(../images/promotion_sub.png) center center/100% auto no-repeat
}

.greeting_promo-top {
    position: relative;
    padding: 50px 192px 40px;
    background: url(../images/promotion_bg.jpg) center center/cover no-repeat
}

.greeting_promo-top::after,
.greeting_promo-top::before {
    content: "";
    position: absolute;
    top: 30px;
    width: 50px;
    height: 201px;
    background: url(../images/promotion_bg02.png) center center/100% auto no-repeat
}

.greeting_promo-top::before {
    left: 0;
    transform: translateX(-100%)
}

.greeting_promo-top::after {
    right: 0;
    transform: translateX(100%) rotate(180deg)
}

.greeting_promo-top .top_heading {
    position: relative;
    font-size: 25.2px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-white);
    text-transform: none;
    line-height: 1.95em;
    letter-spacing: .095em
}

.greeting_promo-top .top_heading::after {
    content: "";
    position: absolute;
    top: -27px;
    right: 0;
    transform: translateX(160px);
    width: 252px;
    height: 125px;
    background: url(../images/promotion02.png) center center/100% auto no-repeat
}

.greeting_promo-top .top_heading .large {
    font-size: 33.6px
}

.greeting_promo-top .top_heading .highlight {
    color: #fff799
}

.greeting_promo-top .top_heading .num {
    letter-spacing: .08em;
    font-size: 56px
}

.greeting_promo-top .top_img {
    margin-bottom: 0;
    position: absolute;
    bottom: 0;
    left: 18px
}

.greeting_promo-bottom {
    padding: 75px 82px 68px;
    background: var(--color-white)
}

.greeting_promo-bottom p {
    font-size: var(--fs-18);
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none;
    line-height: 2em;
    letter-spacing: .08em;
    text-align: justify
}

.greeting_promo-bottom p .bold {
    font-size: 24px;
    color: #113f89;
    font-weight: 700;
    line-height: 2em
}

.greeting_promo-bottom p .highlight {
    font-size: 30px;
    color: #113f89;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
    letter-spacing: .1em
}

.greeting_promo-bottom p:not(:last-child) {
    margin-bottom: 22px
}

.promotion {
    background: #f9f6f3;
    padding: 85px 0 109px
}

.footer {
    margin-bottom: 160.38px
}

.footer_top {
    padding: 100px 0 90px;
    display: flex;
    column-gap: 25px;
    justify-content: space-between
}

.footer_top-content p {
    font-size: var(--fs-18);
    font-family: var(--font-family);
    font-weight: 700;
    color: #333;
    text-transform: none
}

.footer_top-content p .large {
    font-size: 24px
}

.footer_top-content p:not(:last-child) {
    margin-bottom: 20px
}

.footer_top-content .logo img {
    width: 105px
}

.footer_top-content .company {
    display: flex;
    align-items: center;
    column-gap: 15px
}

.footer_top-content .company_logo {
    width: 94px
}

.footer_top-content .company_name {
    font-size: 24px;
    font-family: var(--font-family);
    font-weight: 700;
    color: #333;
    text-transform: none
}

.footer_top-content .company_name .large {
    font-size: 30px
}

.footer_top-content .contact_tel {
    display: flex;
    align-items: center;
    column-gap: 16px
}

.footer_top-content .contact_tel-icon {
    padding-top: 35px;
    font-size: 15px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    letter-spacing: .08em;
    background: url(../images/contact-ico.png) center top/63px auto no-repeat
}

.footer_top-content .contact_tel-num {
    padding-top: 5px;
    display: flex;
    flex-direction: column;
    font-size: 47px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-black);
    text-transform: none
}

.footer_top-content .contact_tel-detail {
    font-size: 14px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    line-height: 2.25em
}

.footer_top-content .contact_tel-detail span {
    font-size: 15px
}

.footer_bottom {
    position: relative;
    width: 101%;
    padding: 8px 0;
    background: #333;
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: .4s
}

.footer_bottom.show {
    opacity: 1;
    visibility: visible
}

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

.footer_bottom-contact {
    display: flex;
    align-items: center;
    column-gap: 25px;
    flex-shrink: 0
}

.footer_bottom-contact .contact_title {
    margin-bottom: 0;
    font-size: 16px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-white);
    text-transform: none;
    line-height: 1.6em;
    letter-spacing: .1em;
    text-align: right
}

.footer_bottom-contact .contact_tel {
    margin-top: 6px;
    display: flex;
    align-items: center;
    column-gap: 8px
}

.footer_bottom-contact .contact_tel-icon {
    padding-top: 30px;
    font-size: 12.6px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-white);
    text-transform: none;
    letter-spacing: .08em;
    background: url(../images/contact-ico.png) center top/53px auto no-repeat
}

.footer_bottom-contact .contact_tel-num {
    padding-top: 4px;
    display: flex;
    flex-direction: column;
    font-size: 39.25px;
    font-family: var(--font-family);
    font-weight: 400;
    color: var(--color-white);
    text-transform: none;
    letter-spacing: .03em
}

.footer_bottom-contact .contact_tel-detail {
    font-size: 12px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-white);
    text-transform: none;
    line-height: 2em
}

.footer_bottom-contact .contact_tel-detail span {
    font-size: 13px
}

.footer_bottom-btn {
    display: flex;
    column-gap: 10px
}

.footer_bottom-btn .btn_item.line {
    display: flex;
    align-items: center;
    background: var(--color-green)
}

.footer_bottom-btn .btn_item.line img {
    max-width: 34px
}

.footer_bottom-btn .btn_item.line a {
    background: url(../images/line-icon.png) 9px center/32px auto no-repeat;
    height: fit-content
}

.footer_bottom-btn .btn_item.mail {
    background: var(--color-orange)
}

.footer_bottom-btn .btn_item.mail img {
    max-width: 28px
}

.footer_bottom-btn .btn_item.mail a {
    padding-left: 67px;
    background: url(../images/mail-ico.png) 20px center/28px auto no-repeat
}

.footer_bottom-btn .btn_item a {
    padding: 8px 15px 5px 50px;
    position: relative;
    height: 100%;
    min-width: 240px;
    display: block
}

.footer_bottom-btn .btn_item a .top {
    font-size: 13px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-white);
    text-transform: none;
    letter-spacing: .08em
}

.footer_bottom-btn .btn_item a .top.big {
    font-size: 14px
}

.footer_bottom-btn .btn_item a .bottom {
    font-size: 14px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-white);
    text-transform: none;
    line-height: 1.9em;
    letter-spacing: .07em
}

.footer_bottom-btn .btn_item a .bottom .large {
    font-size: 18px;
    color: var(--color-yellow)
}

address {
    margin-bottom: 59px;
    text-align: center;
    font-size: 14px;
    font-family: var(--font-family);
    font-weight: 700;
    color: var(--color-black);
    text-transform: none;
    letter-spacing: .08em
}

@-moz-document url-prefix() {}

.d_flex span.spacing {
    letter-spacing: 6px;
}

.d_flex span.w_txt {
    display: inline-block;
    width: 100px;
    text-align: justify;
}

.d_flex {
    display: flex;
    justify-content: flex-start;
}

.d_flex span {
    width: calc(100% - 100px);
}

/* 240604 */

.lppage h1 img {
    max-width: 290px;
    height: 80px;
}

.contact_bottom-heading {
    -webkit-text-fill-color: #fff;
    font-weight: bold;
}

.footer_top-content .company_logo {
    width: 290px;
}

.footer_top-content .company {
    justify-content: center;
}

.pickme_mid-content .content_heading {
    font-weight: bold;
}

.lp-pc-only {
    display: block;
}

.step_list-item .item_wrap .point {
    margin-top: -21px;
    margin-top: 0;
    margin-left: 10px;
}

.step_list-item .item_content.step01-item {
    padding: 0;
    padding-left: 20px;
}

.step01-item-text {
    display: flex;
    justify-content: space-between;
    width: calc(100% - 90px);
}

.step_list-item .item_desc.desc-1 {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.branch-name {
    transform: translateX(18px);
}

.visual {
    position: relative;
}

.visual_banner_txt a {
    position: absolute;
    content: "";
    top: 3.2em;
    right: 4%;
    max-width: 390px;
    width: 12.5%;
    max-width: 250px;
}

.visual_banner_txt img {}
.true-cost_heading span.fix_txt {
	color: #fd0001;
	border: 4px solid #fd0001;
	border-radius: 100%;
	padding: 5px;
	width: 100px;
	height: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
  	left: -110px;
}
.true-cost_heading > .group-item {
	position: relative;
}














