@charset "utf-8";
/*
theme Name: cleaning-lec
Description: クリーニングレックのテーマです
version： 1.0
*/

/*----------------------------------------
	all
----------------------------------------*/

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ ゴシック', sans-serif;
    font-size: 62.5%;
    color: #333;
    -webkit-text-size-adjust: 100%;
    line-height: 1;
    font-weight: 400;
    scroll-behavior: smooth;
}

body {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-size: 1.6rem;
}

a {
    text-decoration: none;
    color: #333;
}

img {
    vertical-align: bottom;
    height: auto;
}

ul {
    list-style-type: none;
}

.bold {
    font-weight: bold;
}

#container {
    overflow: clip;
}

@media screen and (max-width:768px) {
    body {
        font-size: 1.6rem;
    }
}

/*----------------------------------------
	common
----------------------------------------*/

.c-inner01 {
    width: 1200px;
    margin: auto;
}

.c-inner02 {
    width: 1400px;
    margin: auto;
}

.c-text {
    font-size: 1.6rem;
    line-height: 1.875;
}

.c-button {
    text-align: center;
    display: block;
    width: 225px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    letter-spacing: 0.06em;
    background-color: #29ABE3;
    color: #fff;
    transition: all 0.3s;
    position: relative;
    font-weight: bold;
    transition: all 0.4s;
    border-radius: 100px;
}

.c-button:after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: #fff;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    transition: all 0.4s;
}

.color {
    color: #29ABE3;
}

.op {
    transition: .3s;
}

.op:hover {
    opacity: 0.7;
}

.lookforward-close-btn {
    display: none;
}

@media screen and (min-width:769px) {
    .c-button:hover {
        background-color: #73C8EC;
    }

    .c-button:hover:after {
        right: 4px;
    }
}

@media screen and (max-width:1500px) {
    .c-inner02 {
        width: 100%;
        padding: 0 5%;
    }
}

@media screen and (max-width:1300px) {
    .c-inner01 {
        width: 100%;
        padding: 0 6%;
    }
}

@media screen and (max-width:768px) {
    .c-text {
        font-size: 1.4rem;
    }

    .c-inner01 {
        width: 100%;
        padding: 0 3.5%;
    }

    .c-inner02 {
        width: 100%;
        padding: 0 3.5%;
    }

    .c-button {
        width: 220px;
        height: 50px;
        font-size: 1.4rem;
    }
}

@media screen and (max-width:590px) {
    .c-button {
        width: 190px;
        height: 40px;
    }
}

/*----------------------------------------
	animation
----------------------------------------*/

.appear {
    transform-origin: center top;
    animation: show 1s both;
}

span.appear {
    display: inline-block;
}

.d1 {
    animation-delay: 0.5s;
}

.d2 {
    animation-delay: 1s;
}

.d3 {
    animation-delay: 1.5s;
}

.d4 {
    animation-delay: 2s;
}

.d5 {
    animation-delay: 2.5s;
}

.d6 {
    animation-delay: 3s;
}

.d8 {
    animation-delay: 3.5s;
}

.d10 {
    animation-delay: 10s;
}

.d12 {
    animation-delay: 12s;
}

@keyframes show {
    0% {
        transform: translate(0, 2em);
        opacity: 0;
    }

    100% {
        transform: translate(0, 0);
        opacity: 1;
    }
}

/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
    transition: 0.8s ease-in-out;
    transform: translateY(30px);
    opacity: 0;
}

.scroll_up.on {
    transform: translateY(0);
    opacity: 1.0;
}

.scroll_up__mv {
    transition: 0.8s ease-in-out;
    transform: translate(-50%, -35%);
    opacity: 0;
}

.scroll_up__mv.on {
    transform: translate(-50%, -50%);
    opacity: 1.0;
}

/*----------------------------
scroll_left ｜左から出現
----------------------------*/
.scroll_left {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(-30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}

.scroll_left.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}

/*----------------------------
scroll_right ｜右から出現
----------------------------*/
.scroll_right {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}

.scroll_right.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}

.timing02 {
    transition-delay: .2s;
}

.timing03 {
    transition-delay: .4s;
}

.timing04 {
    transition-delay: .6s;
}

.timing05 {
    transition-delay: .8s;
}

/*----------------------------------------
	l-header
----------------------------------------*/

.l-header {
    width: 100%;
    height: 110px;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    transition: all 0.4s ease;
}

/*.l-header.change-color {
    background-color: rgba(0, 0, 0, 0.5);
    transition: 0.3s;
}

.l-header.change-color02 {
    background-color: rgba(0, 0, 0, 0.5);
    transition: 0.3s;
}*/

.l-header__inner {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 9999;
}

.l-header__info {
    display: flex;
    align-items: center;
    margin: 0 0 26px;
}

.l-header__gnav {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
}

.l-header__gnavLists {
    display: flex;
    align-items: center;
}

.l-header__gnavList a {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    position: relative;
    font-weight: bold;
    font-size: 1.7rem;
    letter-spacing: 0.06em;
}

.l-header__gnavList:not(:last-child) {
    margin: 0 32px 0 0;
}

.input-hidden {
    display: none;
}

.hamburger-demo-cover {
    display: none;
}

.logo a {
    background-color: #fff;
    height: 197px;
    padding: 0 51px;
    border-radius: 0 0 50px 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.l-header__gnavSp {
    display: none;
}

.l-header__gnavShop,
.l-header__gnavPrice,
.l-header__gnavRecruit {
    width: 130px;
    height: 130px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.l-header__gnavShop a,
.l-header__gnavPrice a,
.l-header__gnavRecruit a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #fff;
    font-size: 1.6rem;
    letter-spacing: 0.06em;
    transition: .3s;
    font-weight: bold;
}

.l-header__gnavShop a {
    background-color: #00549C;
    border-radius: 0 0 0 10px;
}

.l-header__gnavPrice a {
    background-color: #29ABE3;
}

.l-header__gnavRecruit a {
    background-color: #1AA898;
}

.l-header__gnavShop span:before {
    content: "";
    display: block;
    background-image: url(images/header_search.svg);
    width: 37px;
    height: 37px;
    margin: 0 auto 12px;
}

.l-header__gnavPrice span:before {
    content: "";
    display: block;
    background-image: url(images/header_price.svg);
    width: 37px;
    height: 37px;
    margin: 0 auto 12px;
}

.l-header__gnavRecruit span:before {
    content: "";
    display: block;
    background-image: url(images/header_recruit.svg);
    width: 37px;
    height: 37px;
    margin: 0 auto 12px;
}

@media screen and (min-width:1025px) {
    .l-header__gnavLists li a {
        transition: .3s;
        padding: 0 0 12px;
    }

    .l-header__gnavLists li.current a,
    .l-header__gnavLists li a:hover {
        color: #29ABE3;
    }

    .l-header__gnavLists li a::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 2px;
        background: #29ABE3;
        transition: all .3s;
        transform: scale(0, 1);
        transform-origin: left top;
    }

    .l-header__gnavLists li.current a::after,
    .l-header__gnavLists li a:hover::after {
        transform: scale(1, 1);
    }

    .l-header__gnavPrice {
        transition: .3s;
    }

    .l-header__gnavLists li.l-header__gnavPrice a:after,
    .l-header__gnavLists li.l-header__gnavShop a:after,
    .l-header__gnavLists li.l-header__gnavRecruit a:after {
        display: none;
    }

    .l-header__gnavLists li.l-header__gnavPrice a:hover,
    .l-header__gnavLists li.l-header__gnavRecruit a:hover {
        color: #fff !important;
    }

    .l-header__gnavShop a:hover {
        background-color: #598FBE;
        color: #fff !important;
    }

    .l-header__gnavPrice a:hover {
        background-color: #73C8EC;
        color: #fff;
    }

    .l-header__gnavRecruit a:hover {
        background-color: #5fd3c2;
        color: #fff;
    }
}

@media screen and (max-width:1500px) {
    .l-header__gnavList:not(:last-child) {
        margin: 0px 25px 0 0;
    }

    .l-header__gnavList a {
        font-size: 1vw;
    }

    .logo a {
        height: 165px;
        padding: 0 25px;
    }

    .logo img {
        width: 88%;
    }
}

@media screen and (max-width:1300px) {
    .logo a {
        width: 220px;
        height: 140px;
        border-radius: 0 0 25px 0;
    }

    .logo img {
        width: 100%;
    }
}

@media screen and (max-width:1024px) {
    .l-header__gnavSp {
        display: flex;
    }

    .l-header__right {
        display: none;
    }

    #l-header {
        height: 70px;
    }

    .l-header__gnavLists {
        flex-direction: column;
    }

    .l-header__gnavList {
        width: 100%;
        height: auto;
    }

    .l-header__gnavList:not(:last-child) {
        margin: 0;
    }

    .l-header__gnavLists li > a {
        display: flex;
        flex-direction: column;
    }

    .l-header__gnavList a {
        font-size: 1.7rem;
    }

    .l-header__gnavLists li.has-child > a {
        position: relative;
    }

    .l-header__gnavLists li.has-child > a:after {
        content: '';
        position: absolute;
        right: 40px;
        width: 12px;
        height: 12px;
        border-top: 2px solid #222;
        border-right: 2px solid #222;
        transform: rotate(135deg) translateY(-50%);
    }

    .l-header__gnavLists li.has-child.active > a:after {
        transform: rotate(-45deg);
    }

    nav ul li a {
        padding: 10px 20px;
        border-bottom: 1px dashed #ccc;
    }

    .nav ul li:last-child a {
        border-bottom: none;
    }

    nav ul li:first-child a {
        border-top: 1px dashed #ccc;
    }

    nav ul li li a {
        padding: 0;
    }

    .input-hidden {
        display: none;
    }

    .hamburger-demo-switch {
        cursor: pointer;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        z-index: 9999;
        width: 70px;
        height: 70px;
        background-color: #00549C;
    }

    .hamburger-switch-line1,
    .hamburger-switch-line1-before,
    .hamburger-switch-line1-after {
        width: 25px;
        height: 3px;
        background: #fff;
        position: absolute;
        top: 50%;
        left: 50%;
        transition: .3s;
        border-radius: 100px;
        content: "";
    }

    .hamburger-switch-line1 {
        transform: translate(-50%, -50%);
    }

    .hamburger-switch-line1-before {
        transform: translate(-50%, -300%);
    }

    .hamburger-switch-line1-after {
        transform: translate(-50%, 200%);
    }

    #hamburger-demo1:checked ~ .hamburger-demo-switch .hamburger-switch-line1 {
        width: 0;
    }

    #hamburger-demo1:checked ~ .hamburger-demo-switch .hamburger-switch-line1-before {
        background-color: #fff;
        transform: rotate(45deg) translate(-40%, 325%);
    }

    #hamburger-demo1:checked ~ .hamburger-demo-switch .hamburger-switch-line1-after {
        background-color: #fff;
        transform: rotate(-45deg) translate(-40%, -325%);
    }

    .l-header__gnav {
        position: fixed;
        height: 100vh;
        background: #fafafa;
        padding: 5em 3% 2em;
        z-index: 9998;
        transition: .3s;
        overflow-y: scroll;
        justify-content: flex-start;
        align-items: center;
        top: 0;
        left: 100%;
        width: 80%;
    }

    .l-header__gnavLists {
        width: 100%;
        margin-right: 3%;
        padding-left: 5% !important;
        list-style: none;
        margin-bottom: 40px;
    }

    .l-header__gnavLists li a {
        text-decoration: none;
        padding: 1.6em 0;
    }

    #hamburger-demo1:checked ~ .l-header__gnav {
        left: 20%;
    }

    #hamburger-demo1:checked ~ .hamburger-demo-cover {
        position: fixed;
        width: 100%;
        height: 100vh;
        top: 0;
        left: 0;
        z-index: 9997;
        background: rgba(3, 3, 3, .5);
        display: block;
    }

    .l-header__gnavList > a {
        height: auto;
    }

    .l-header__gnavLists li a {
        padding: 1.5em 0;
    }

    .logo a {
        width: 260px;
        height: 120px;
        padding: 0 38px;
    }

    nav ul li.l-header__gnavPrice a,
    nav ul li.l-header__gnavShop a,
    nav ul li.l-header__gnavRecruit a {
        border-bottom: none;
        color: #fff;
        border-radius: 12px;
    }

    .l-header__gnavPrice,
    .l-header__gnavShop,
    .l-header__gnavRecruit {
        width: 100%;
        height: 85px;
    }

    .l-header__gnavShop {
        margin: 40px 0 0;
    }

    .l-header__gnavPrice,
    .l-header__gnavRecruit {
        margin: 15px 0 0;
    }

    .l-header__gnavShop span:before {
        background-size: 100%;
        width: 28px;
        height: 28px;
        margin: 0 auto 6px;
    }
}

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

    #l-header {
        height: 55px;
    }

    .hamburger-demo-switch {
        width: 55px;
        height: 55px;
    }

    .l-header__gnav {
        padding: 4em 3% 2em;
    }

    .l-header__gnavList a {
        font-size: 1.5rem;
    }

    .l-header__gnavList {
        width: 100%;
    }

    .l-header__gnavLists li.has-child > a:after {
        right: 8px;
        width: 8px;
        height: 8px;
    }

    .logo a {
        width: 170px;
        height: 80px;
        padding: 0 20px;
        border-radius: 0 0 15px 0;
    }

    .l-header__gnavLists li a {
        padding: 0.9em 0;
    }

    .l-header__gnavWrap {
        flex-direction: column;
    }
}

/*----------------------------------------
	footer
----------------------------------------*/

.l-footerSns__logo {
    text-align: center;
    margin: 0 0 49px;
}

.l-footerSns {
    width: 30%;
    background-color: #F0F6FA;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
    position: relative;
    padding: 103px 0 20px;
}

.l-footerWrap {
    display: flex;
}

.l-footerSns__wrap {
    display: flex;
    justify-content: center;
    background-color: #fff;
    width: 402px;
    margin: 0 auto 20px;
    padding: 33px 0 30px;
    border-radius: 20px;
}

.l-footerSns__box:nth-of-type(1) {
    margin: 0 30px 0 0;
}

.l-footerSns__box span {
    display: block;
    font-size: 1.6rem;
    margin: 0 0 9px;
    line-height: 1.375;
    text-align: center;
}

.l-footerSns h3 {
    font-size: 2.8rem;
    letter-spacing: 0.2em;
    color: #99CFEB;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: italic;
    text-align: center;
    margin: 0 0 -14px;
    position: relative;
    z-index: 1;
}

.l-footerSns h3 span:before {
    content: "";
    display: inline-block;
    background-image: url(images/top_title_deco_left03.svg);
    width: 15px;
    height: 18px;
    vertical-align: middle;
    margin: 0 12px 0 0;
}

.l-footerSns h3 span:after {
    content: "";
    display: inline-block;
    background-image: url(images/top_title_deco_right03.svg);
    width: 15px;
    height: 18px;
    vertical-align: middle;
    margin: 0 0 0 12px;
}

.l-footerSns__box {
    text-align: center;
}

.l-footerCopy {
    text-align: center;
    width: 100%;
    margin: 70px 0 0;
}

.l-footerNav {
    width: 70%;
    background-color: #0087BE;
    padding: 75px 0 81px 110px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.l-footerNav > ul {
    width: 880px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}

.l-footerNav > ul > li {
    width: 45.2%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.l-footerNav > ul > li:nth-child(n+3) {
    margin: 54px 0 0;
}

.l-footerNav ul li h3 {
    width: 100%;
    margin: 0 0 30px;
    padding: 0 0 12px;
    border-bottom: 1px solid #fff;
}

.l-footerNav ul li h3 a {
    font-size: 2.2rem;
    color: #fff;
}

.l-footerNav__child a {
    font-size: 1.5rem;
    color: #fff;
}

.l-footerNav__child {
    font-size: 1.5rem;
}

.l-footerNav__child:not(:last-child) {
    margin: 0 0 14px;
}

.l-footerNav > ul > li:nth-of-type(3) .l-footerNav__childWrap:first-child {
    width: 66%;
}

.l-footerNav > ul > li:nth-of-type(3) .l-footerNav__childWrap:last-child {
    width: 34%;
}

.l-footerSns__boxImg {
    display: block;
}

.l-footerSdgs {
    text-align: center;
}

.l-footerSdgs a {
    width: 100%;
    display: block;
}

.l-footerSdgs a img {
    width: 75%;
    margin: 0 auto;
}

.l-footerSdgs a span {
    display: block;
    font-size: 1.1vw;
    margin: 0 0 20px;
}

@media screen and (max-width:1500px) {
    .l-footerSns__wrap {
        width: 90%;
    }

    .l-footerNav {
        padding: 75px 0 81px 0;
    }

    .l-footerNav > ul {
        width: 95%;
        margin: 0 auto;
    }
}

@media screen and (max-width:1400px) {
    .l-footerNav__child a {
        font-size: 1.1vw;
    }

    .l-footerSns h3 {
        font-size: 2.2rem;
    }
}

@media screen and (max-width:820px) {
    .l-footerWrap {
        flex-direction: column-reverse;
    }

    .l-footerSns {
        width: 100%;
    }

    .l-footerNav {
        width: 100%;
        padding: 50px 0 60px;
    }

    .l-footerNav__child a {
        font-size: 1.7vw;
    }

    .l-footerNav ul li h3 {
        margin: 0 0 20px;
    }

    .l-footerNav ul li h3 a {
        font-size: 1.8rem;
    }

    .l-footerNav__child:not(:last-child) {
        margin: 0 0 10px;
    }

    .l-footerNav > ul > li:nth-child(n+3) {
        margin: 35px 0 0;
    }

    .l-footerSns {
        padding: 60px 0 20px;
    }

    .l-footerCopy {
        font-size: 1rem;
        margin: 60px 0 0;
    }

    .l-footerSns__box span {
        font-size: 1.3rem;
    }

    .l-footerSns__boxImg {
        width: 50px;
        margin: 0 auto;
    }

    .l-footerSns__boxImg img {
        width: 100%;
    }

    .l-footerSdgs a img {
        width: 40%;
    }

    .l-footerSdgs a span {
        font-size: 1.7vw;
    }
}

@media screen and (max-width:590px) {
    .l-footerSns {
        padding: 40px 0 20px;
    }

    .l-footerSns__logo {
        width: 140px;
        margin: 0 auto 30px;
    }

    .l-footerSns__logo img {
        width: 100%;
    }

    .l-footerSns__wrap {
        padding: 24px 0 20px;
    }

    .l-footerSns h3 {
        font-size: 2rem;
    }

    .l-footerCopy {
        margin: 50px 0 0;
    }

    .l-footerNav {
        padding: 40px 0 35px;
    }

    .l-footerNav > ul {
        flex-direction: column;
    }

    .l-footerNav > ul > li {
        width: 100%;
    }

    .l-footerNav > ul > li:nth-child(n+3) {
        margin: 0;
    }

    .l-footerNav > ul > li:nth-child(n+2) {
        margin: 30px 0 0;
    }

    .l-footerNav__child a {
        font-size: 1.2rem;
    }

    .l-footerNav ul li h3 {
        margin: 0 0 10px;
        padding: 0 0 10px;
    }

    .l-footerNav ul li h3 a {
        font-size: 1.6rem;
    }
    
    .l-footerSdgs a span {
        font-size: 1.2rem;
    }

    .l-footerSdgs a img {
        width: 58%;
    }
}

/*----------------------------------------
	floating
----------------------------------------*/

.floating-bnr.bnr01 {
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.05), 0 8px 14px rgba(0, 0, 0, 0.08);
    display: none;
    position: fixed;
    bottom: 20px;
    right: 10px;
    width: 350px;
    max-width: 90vw;
    height: auto;
    z-index: 9999;
}

.floating-bnr a:hover {
    opacity: 0.7;
    transition: 0.2s;
}

.floating-bnr a img {
    width: 100%;
}

/*閉じるボタン*/
.bnr_close {
    background-color: #f8f8f8;
    border: none;
    border-radius: 25px;
    box-shadow: 0 0 7px rgb(0, 0, 0, 0.4);
    color: #777;
    cursor: pointer;
    font-weight: bold;
    padding: 5px 8px;
    position: absolute;
    right: -4px;
    top: -2px;
}

.fa-xmark:before {
    content: "\f00d";
    font-family: "Font Awesome 5 Free";
    font-style: normal;
}

@media screen and (max-width: 768px) {
    .floating-bnr.bnr01 {
        width: 250px;
        bottom: 20px;
    }
}

@media screen and (max-width: 590px) {
    .floating-bnr.bnr01 {
        width: 200px;
    }

    .bnr_close {
        top: -10px;
    }
}

/*----------------------------------------
	topCommon
----------------------------------------*/

.c-topTitle {
    margin: 0 0 50px;
    text-align: center;
    z-index: 1;
    position: relative;
}

.c-topTitle__jp {
    font-size: 4.2rem;
    letter-spacing: 0.05em;
    line-height: 1.452;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.c-topTitle__en {
    font-size: 2.8rem;
    letter-spacing: 0.2em;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: italic;
    margin: 0 0 8px;
    line-height: 1.214;
    color: #29ABE3;
}

.c-topTitle__en span:before {
    content: "";
    display: inline-block;
    background-image: url(images/top_title_deco_left.svg);
    width: 15px;
    height: 18px;
    vertical-align: middle;
    margin: 0 12px 0 0;
}

.c-topTitle__en span:after {
    content: "";
    display: inline-block;
    background-image: url(images/top_title_deco_right.svg);
    width: 15px;
    height: 18px;
    vertical-align: middle;
    margin: 0 0 0 12px;
}

@media screen and (max-width:820px) {
    .c-topTitle {
        margin: 0 0 30px;
    }

    .c-topTitle__en {
        font-size: 1.8rem;
        margin: 0 0 4px;
    }

    .c-topTitle__jp {
        font-size: 2.8rem;
    }

    .c-topTitle__en span:before {
        width: 10px;
        height: 12px;
        background-size: 100%;
        margin: 0 6px 0 0;
    }

    .c-topTitle__en span:after {
        width: 10px;
        height: 12px;
        background-size: 100%;
        margin: 0 0 0 6px;
    }
}

@media screen and (max-width:590px) {
    .c-topTitle {
        margin: 0 0 20px;
    }

    .c-topTitle__en {
        font-size: 1.4rem;
    }

    .c-topTitle__jp {
        font-size: 2.2rem;
    }
}

/*----------------------------------------
	topMv
----------------------------------------*/

.p-topMv {
    width: 100%;
    height: 90vh;
    position: relative;
}

.p-topMv:before {
    content: "";
    background: transparent linear-gradient(184deg, #00549C 0%, #99CFEB 100%) 0% 0% no-repeat padding-box;
    width: 100%;
    height: 410px;
    position: absolute;
    bottom: -145px;
    left: 0;
    background-position: bottom;
    z-index: 0;
}

.p-topMv:after {
    content: "";
    background-image: url(images/top_mv_deco.svg);
    width: 100%;
    height: 95px;
    position: absolute;
    background-repeat: no-repeat;
    background-size: 100%;
    bottom: -146px;
    left: 0;
    position: absolute;
    background-position: bottom;
}

.p-topMv__wrap {
    width: 94.7%;
    height: 100%;
    background-image: url(images/mv.jpg);
    background-size: cover;
    margin: 0 auto;
    border-radius: 50px;
    position: relative;
    z-index: 1;
}

.p-topMv__wrap:before {
    content: "";
    background-image: url(images/header_logo_bottom.svg);
    width: 50px;
    height: 50px;
    position: absolute;
    top: 44px;
    left: 0;
}

.p-topMv__jp {
    position: absolute;
    top: 15.7%;
    left: 50%;
    transform: translateX(-50%);
}

.p-topMv__en {
    font-size: 5.2vw;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: italic;
    opacity: 0.48;
    position: absolute;
    left: 2.8%;
    bottom: 6px;
    letter-spacing: 0.14em;
    color: #fff;
}

.p-topMv__side {
    writing-mode: vertical-rl;
    color: #00549C;
    font-size: 1vw;
    letter-spacing: 0.2em;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: italic;
    position: absolute;
    top: 46%;
    left: -1.97%;
    transform: translateY(-50%);
}

.p-topMv__logo {
    width: 16.4%;
    mix-blend-mode: hard-light;
    position: absolute;
    bottom: 6px;
    right: 2.8%;
}

.p-topMv__logo img {
    width: 100%;
}

@media screen and (min-width:1024px) and (max-height:950px) {
    .p-topMv__jp {
        top: 7.7%;
        width: 8%;
    }

    .p-topMv__jp img {
        width: 100%;
    }
}

@media screen and (max-width:1500px) {
    .p-topMv__wrap:before {
        top: 28px;
    }

    .p-topMv:before {
        height: 320px;
        bottom: -120px;
    }

    .p-topMv:after {
        bottom: -121px;
    }
}

@media screen and (max-width:1300px) {
    .p-topMv__wrap:before {
        top: 15px;
    }
}

@media screen and (max-width:1024px) {
    .p-topMv__wrap:before {
        top: 25px;
    }
}

@media screen and (max-width:820px) {
    .p-topMv {
        height: 82vh;
    }

    .p-topMv:before {
        height: 280px;
        bottom: -80px;
    }

    .p-topMv:after {
        bottom: -81px;
    }

    .p-topMv__wrap {
        background-image: url(images/mv_sp.jpg);
        background-position: 65%;
    }

    .p-topMv__wrap:before {
        width: 35px;
        height: 35px;
        background-size: 100%;
    }

    .p-topMv__wrap {
        border-radius: 25px;
    }

    .p-topMv__jp {
        top: 10%;
        width: 130px;
    }

    .p-topMv__jp img {
        width: 100%;
    }

    .p-topMv__side {
        font-size: 1.4rem;
        left: -3.2%;
    }
}

@media screen and (max-width:590px) {
    .p-topMv {
        height: 83vh;
    }

    .p-topMv__wrap:before {
        width: 30px;
        height: 30px;
        background-size: 100%;
        top: 13px;
    }

    .p-topMv__wrap {
        width: 90%;
        border-radius: 18px;
        background-image: url(images/mv_sp02.jpg);
    }

    .p-topMv__logo {
        width: 29%;
    }

    .p-topMv__jp {
        width: 23%;
    }

    .p-topMv__en {
        font-size: 7.2vw;
    }

    .p-topMv__side {
        font-size: 1.2rem;
        left: -4.2%;
    }

    .p-topMv:before {
        height: 260px;
        bottom: -60px;
    }

    .p-topMv:after {
        bottom: -61px;
    }
}

/*----------------------------------------
	topNews
----------------------------------------*/

.p-topNews {
    padding: 200px 0 0;
    background-color: #F0F6FA;
}

.p-topNews__wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #fff;
    border-radius: 20px;
    padding: 60px 50px;
}

.p-topNews .p-newsArchive__lists {
    width: 75%;
}

.p-topNews .c-button {
    margin: 0 auto;
}

@media screen and (max-width:1200px) {
    .p-topNews .p-newsArchive__lists {
        width: 68%;
    }
}

@media screen and (max-width:820px) {
    .p-topNews {
        padding: 130px 0 0;
    }

    .p-topNews .p-newsArchive__lists {
        margin: 0 0 30px;
    }

    .p-topNews__wrap {
        flex-direction: column;
        padding: 32px 30px;
    }

    .p-topNews .p-newsArchive__lists {
        width: 100%;
    }
}

@media screen and (max-width:590px) {
    .p-topNews {
        padding: 100px 0 0;
    }
}

/*----------------------------------------
	topShop
----------------------------------------*/

.p-topShop {
    background-color: #F0F6FA;
    position: relative;
    padding: 60px 0 87px;
}

.p-topShop__wrap {
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.p-topShop__img {
    width: 39%;
    margin: 0 115px 0 0;
}

.p-topShop__text {
    width: 36.1%;
    margin: 133px 0 0;
}

.p-topShop__text .c-text {
    margin: 0 0 70px;
}

.p-topShop__title {
    margin: 0 0 40px;
}

.p-topShop__titleEn {
    font-size: 8.6rem;
    letter-spacing: 0.11em;
    color: #29ABE3;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: italic;
}

.p-topShop__titleJp {
    font-size: 2.8rem;
    letter-spacing: 0.06em;
    line-height: 1.429;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-topShop__search {
    background-color: #fff;
    border-radius: 20px;
    padding: 10px 38px 68px;
    position: relative;
}

.p-topShop__search h3 span:after {
    content: "";
    display: block;
    background-image: url(images/top_shop_search_icon.svg);
    width: 32px;
    height: 32px;
    margin: 0 auto 10px;
    position: absolute;
    top: -42px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    background-repeat: no-repeat;
}

.p-topShop__search:before {
    content: "";
    width: 126px;
    height: 126px;
    border-radius: 50%;
    background-color: #fff;
    position: absolute;
    top: -53px;
    left: 50%;
    transform: translateX(-50%);
}

.p-topShop__search h3 {
    font-size: 2.5rem;
    color: #00549C;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
    margin: 0 0 28px;
    text-align: center;
    position: relative;
    z-index: 1;
}

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

.p-topShop__searchLists li:not(:nth-child(3n+3)) {
    margin-right: 1.6%;
}

.p-topShop__searchLists li:nth-child(n+4) {
    margin-top: 20px;
}

.p-topShop__searchLists li {
    width: 32.2%;
    height: 60px;
}

.p-topShop__searchLists li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border: 1px solid #0087BE;
    color: #0087BE;
    border-radius: 100px;
    background-color: #fff;
    position: relative;
    z-index: 1;
}

.p-topShop__text .c-button {
    margin: -28px auto 0;
}

@media screen and (max-width:1300px) {
    .p-topShop__text {
        width: 44%;
    }

    .p-topShop__img {
        width: 32%;
        margin: 0 80px 0 0;
    }

    .p-topShop__text {
        width: 48%;
        margin: 100px 0 0;
    }

    .p-topShop__searchLists li {
        height: 50px;
    }
}

@media screen and (max-width:1200px) {
    .p-topShop {
        padding: 50px 0 87px;
    }

    .p-topShop:before {
        top: -40%;
    }
}

@media screen and (max-width:820px) {
    .p-topShop__wrap {
        flex-direction: column;
    }

    .p-topShop__img {
        width: 62%;
        margin: 0 auto 30px auto;
    }

    .p-topShop__text {
        width: 93%;
        margin: 0 auto;
    }

    .p-topShop__title {
        text-align: center;
        margin: 0 0 20px;
    }

    .p-topShop__titleEn {
        font-size: 5.6rem;
    }

    .p-topShop__titleJp {
        font-size: 2.2rem;
    }

    .p-topShop {
        padding: 70px 0 60px;
    }

    .p-topShop:before {
        background-image: url(images/shop_deco_bg_sp.svg);
        top: -16%;
        height: 344px;
    }
}

@media screen and (max-width:590px) {
    .p-topShop {
        padding: 60px 0 50px;
    }

    .p-topShop__img {
        width: 70%;
    }

    .p-topShop__search {
        padding: 10px 8px 50px;
    }

    .p-topShop__search:before {
        width: 100px;
        height: 100px;
    }

    .p-topShop__search h3 span:after {
        width: 25px;
        height: 25px;
        background-size: 100%;
    }

    .p-topShop__search h3 {
        font-size: 2rem;
        margin: 5px 0 20px;
    }

    .p-topShop__searchLists li {
        height: 40px;
    }

    .p-topShop__searchLists li a {
        font-size: 1.4rem;
    }

    .p-topShop__searchLists li:nth-child(n+4) {
        margin-top: 12px;
    }

    .p-topShop__text .c-button {
        margin: -25px auto 0;
    }

    .p-topShop__titleEn {
        font-size: 3.6rem;
    }

    .p-topShop__titleJp {
        font-size: 1.6rem;
    }

    .p-topShop:before {
        background-image: url(images/shop_deco_bg_sp02.svg);
        top: -13%;
        height: 220px;
    }
}

/*----------------------------------------
	topPickup
----------------------------------------*/

.p-topPickup {
    margin: 0 0 90px;
    padding: 125px 0 0;
    position: relative;
}

.p-topPickup:before {
    content: "";
    display: block;
    background-image: url(images/top_pickup_deco.svg);
    width: 100%;
    height: 327px;
    position: absolute;
    top: 0;
    left: 0;
    background-position: top;
    background-size: 100%;
    background-repeat: no-repeat;
}

.p-topPickup__line {
    display: block;
    position: relative;
    z-index: 1;
}

.p-topPickup__slider {
    margin: 0 0 70px;
}

.p-topPickup__slider .slick-slide img {
    width: 100%;
}

.p-topPickup__slider .slick-slide {
    padding: 0 15px;
}

.slick-prev:before {
    left: 15px !important;
}

.slick-next:before {
    right: -15px !important;
}

@media screen and (max-width:820px) {
    .p-topPickup {
        margin: 0 0 50px;
    }

    .slick-prev:before,
    .slick-next:before {
        background-size: 100% !important;
        background-repeat: no-repeat;
        width: 35px !important;
        height: 35px !important;
    }

    .p-topPickup__slider .slick-slide {
        padding: 0 5px;
    }

    .p-topPickup__slider {
        margin: 0 0 40px;
    }

    .p-topPickup__line {
        width: 70%;
        margin: 0 auto;
    }
}

@media screen and (max-width:590px) {
    .p-topPickup {
        margin: 0 0 30px;
        padding: 50px 0 0;
    }

    .p-topPickup__slider {
        width: 80%;
        margin: 0 auto 30px;
    }

    .p-topPickup__line {
        width: 100%;
    }
}

/*----------------------------------------
	topMenu
----------------------------------------*/

/*----- topMenu__cleaning -----*/

.p-topMenu__cleaning {
    background-color: #29ABE3;
    padding: 200px 0 133px;
    position: relative;
}

.p-topMenu__cleaning:before {
    content: "";
    display: block;
    background-image: url(images/top_menu_deco01.svg);
    width: 100%;
    height: 95px;
    position: absolute;
    top: 0;
    left: 0;
    background-position: top;
    background-size: 100%;
    background-repeat: no-repeat;
}

.p-topMenu__cleaning .c-topTitle__en {
    color: #fff;
}

.p-topMenu__cleaning .c-topTitle__jp {
    color: #fff;
}

.p-topMenu__cleaning h3 {
    color: #fff;
    font-size: 3rem;
    letter-spacing: 0.04em;
    text-align: center;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
    margin: 0 0 70px;
}

.p-topMenu__cleaning .c-topTitle__en span:before {
    background-image: url(images/top_title_deco_left02.svg);
}

.p-topMenu__cleaning .c-topTitle__en span:after {
    background-image: url(images/top_title_deco_right02.svg);
}

.p-topMenu__cleaning ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.p-topMenu__cleaning ul li {
    width: 30.7%;
    height: 531px;
}

.p-topMenu__cleaning ul li a {
    width: 100%;
    height: 100%;
    display: block;
    background-color: #fff;
    border-radius: 20px;
    padding: 58px 38px 0;
    position: relative;
}

.p-topMenu__cleaning ul li a:after {
    content: "";
    background-image: url(images/box_triangle.svg);
    width: 47px;
    height: 47px;
    position: absolute;
    bottom: 10px;
    right: 10px;
}

.p-topMenu__cleaning ul li:nth-of-type(3) a {
    padding: 45px 37px 0;
}

.p-topMenu__cleaningImg {
    margin: 0 0 42px;
    text-align: center;
}

.p-topMenu__cleaning ul li:nth-of-type(3) .p-topMenu__cleaningImg {
    margin: 0 0 30px;
}

.p-topMenu__cleaningText h2 {
    font-size: 3.6rem;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    margin: 0 0 24px;
}

.p-topMenu__cleaningText h2 span {
    font-size: 2.4rem;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
}

.p-topMenu__cleaningText .c-text {
    line-height: 1.875;
}

.p-topMenu__cleaningButton {
    text-align: center;
    display: block;
    width: 100%;
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.2rem;
    letter-spacing: 0.06em;
    background-color: #fff;
    color: #29ABE3;
    transition: all 0.3s;
    position: relative;
    font-weight: bold;
    transition: all 0.4s;
    border-radius: 100px;
    margin: 70px 0 0;
}

.p-topMenu__cleaningButton span {
    display: flex;
    align-items: center;
}

.p-topMenu__cleaningButton span:before {
    content: "";
    display: inline-block;
    background-image: url(images/top_menu_price_icon.svg);
    margin: 0 20px 0 0;
    width: 32px;
    height: 37px;
}

@media screen and (max-width:1200px) {
    .p-topMenu__cleaningImg {
        width: 65%;
        margin: 0 auto 30px;
    }

    .p-topMenu__cleaning ul li {
        height: 500px;
    }

    .p-topMenu__cleaning ul li:nth-of-type(3) .p-topMenu__cleaningImg {
        width: 62%;
    }

    .p-topMenu__cleaningImg img {
        width: 100%;
    }

    .p-topMenu__cleaning ul li:nth-of-type(3) .p-topMenu__cleaningImg {
        margin: 0 auto 8px;
    }

    .p-topMenu__cleaning ul li a {
        padding: 58px 20px 0;
    }

    .p-topMenu__cleaning ul li:nth-of-type(3) a {
        padding: 45px 20px 0;
    }

    .p-topMenu__cleaningText h2 {
        font-size: 3rem;
    }

    .p-topMenu__cleaningText h2 span {
        font-size: 2rem;
    }

    .p-topMenu__cleaning ul li a:after {
        width: 35px;
        height: 35px;
        background-size: 100%;
    }
}

@media screen and (max-width:820px) {
    .p-topMenu__cleaning {
        padding: 110px 0 90px;
    }

    .p-topMenu__cleaning ul {
        flex-direction: column;
        align-items: center;
    }

    .p-topMenu__cleaning ul li {
        width: 500px;
        height: auto;
    }

    .p-topMenu__cleaning ul li a {
        padding: 45px 35px 35px;
    }

    .p-topMenu__cleaning ul li:nth-of-type(3) a {
        padding: 45px 35px 35px;
    }

    .p-topMenu__cleaning ul li a:after {
        width: 30px;
        height: 30px;
        background-size: 100%;
    }

    .p-topMenu__cleaning ul li:not(:last-child) {
        margin: 0 0 40px;
    }

    .p-topMenu__cleaning h3 {
        font-size: 2.2rem;
        line-height: 1.4;
        margin: 0 0 50px;
    }

    .p-topMenu__cleaningButton {
        font-size: 1.8rem;
        height: 70px;
        margin: 30px 0 0;
    }

    .p-topMenu__cleaningButton span:before {
        width: 25px;
        height: 29px;
        background-size: 100%;
    }

    .p-topMenu__cleaningImg {
        width: 35%;
        margin: 0 auto 30px;
    }

    .p-topMenu__cleaningImg img {
        width: 100%;
    }

    .p-topMenu__cleaning ul li:nth-of-type(3) .p-topMenu__cleaningImg {
        width: 35%;
        margin: 0 auto 30px;
    }
}

@media screen and (max-width:590px) {
    .p-topMenu__cleaning {
        padding: 50px 0;
    }

    .p-topMenu__cleaning ul li {
        width: 100%;
    }

    .p-topMenu__cleaningButton {
        height: 45px;
        font-size: 1.2rem;
    }

    .p-topMenu__cleaningButton span:before {
        width: 16px;
        height: 19px;
        margin: 0 5px 0 0;
    }

    .p-topMenu__cleaning h3 {
        font-size: 1.8rem;
        margin: 0 0 20px;
    }

    .p-topMenu__cleaning ul li a {
        padding: 30px 20px 35px;
        border-radius: 12px;
    }

    .p-topMenu__cleaning ul li:nth-of-type(3) a {
        padding: 30px 20px 35px;
    }

    .p-topMenu__cleaningText h2 {
        font-size: 2rem;
        margin: 0 0 15px;
    }

    .p-topMenu__cleaningText h2 span {
        font-size: 1.6rem;
    }

    .p-topMenu__cleaningText .c-text {
        line-height: 1.6;
    }

    .p-topMenu__cleaningImg {
        margin: 0 auto 20px;
    }

    .p-topMenu__cleaning ul li:nth-of-type(3) .p-topMenu__cleaningImg {
        margin: 0 auto 20px;
    }

}


/*----- topMenu__trouble -----*/

.p-topMenu__trouble {
    padding: 185px 0 110px;
    position: relative;
}

.p-topMenu__trouble:before {
    content: "";
    background-image: url(images/top_menu_deco02.svg);
    width: 100%;
    height: 95px;
    position: absolute;
    left: 0;
    top: 0;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: top;
}

.p-topMenu__troubleTitle > span:before {
    content: "";
    display: inline-block;
    background-image: url(images/top_menu_trouble_title_deco_left.svg);
    width: 20px;
    height: 23px;
    vertical-align: middle;
    margin: 0 8px 0 0;
    background-repeat: no-repeat;
}

.p-topMenu__troubleTitle > span:after {
    content: "";
    display: inline-block;
    background-image: url(images/top_menu_trouble_title_deco_right.svg);
    width: 20px;
    height: 23px;
    vertical-align: middle;
    margin: 0 0 0 8px;
    background-repeat: no-repeat;
}

.p-topMenu__trouble ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.p-topMenu__trouble ul li {
    width: 18.5%;
}

.p-topMenu__trouble ul li a {
    display: block;
}

.p-topMenu__troubleImg {
    width: 100%;
}

.p-topMenu__troubleImg img {
    width: 100%;
}

.p-topMenu__troubleTitle {
    font-size: 4rem;
    letter-spacing: 0.06em;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    text-align: center;
    margin: 0 0 60px;
}

.p-topMenu__troubleTitle .big {
    display: inline-block;
    font-size: 5rem;
}

.p-topMenu__troubleTitle span .big {
    font-size: 5rem;
}

.p-topMenu__trouble ul li h2 {
    font-size: 2.9rem;
    font-weight: bold;
    background-color: #97A5C8;
    color: #fff;
    border-radius: 150px;
    margin: -30px 0 0;
    padding: 18px 0;
    position: relative;
    text-align: center;
}

.p-topMenu__trouble ul li h2:after {
    content: "";
    display: inline-block;
    background-image: url(images/top_menu_trouble_arrow.svg);
    width: 13px;
    height: 25px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 20px;
    background-repeat: no-repeat;
}

@media screen and (max-width:1300px) {
    .p-topMenu__trouble ul li h2 {
        font-size: 2.4rem;
        padding: 12px 0;
    }

    .p-topMenu__trouble ul li h2:after {
        background-size: 100%;
        width: 10px;
        height: 20px;
        right: 10px;
    }
}

@media screen and (max-width:820px) {
    .p-topMenu__trouble {
        padding: 90px 0 70px;
    }

    .p-topMenu__trouble ul {
        justify-content: center;
    }

    .p-topMenu__trouble ul li {
        width: 31%;
    }

    .p-topMenu__trouble ul li:not(:nth-child(3n+3)) {
        margin-right: 3%;
    }

    .p-topMenu__trouble ul li:nth-child(n+4) {
        margin-top: 30px;
    }

    .p-topMenu__trouble ul li h2 {
        font-size: 1.8rem;
        padding: 6px 0;
    }

    .p-topMenu__trouble ul li h2:after {
        width: 7px;
        height: 13px;
    }

    .p-topMenu__troubleTitle {
        font-size: 3rem;
        margin: 0 0 30px;
    }

    .p-topMenu__troubleTitle span .big {
        font-size: 4rem;
    }

    .p-topMenu__troubleTitle > span:before {
        width: 14px;
        height: 17px;
        background-size: 100%;
    }

    .p-topMenu__troubleTitle > span:after {
        width: 14px;
        height: 17px;
        background-size: 100%;
    }
}

@media screen and (max-width:590px) {
    .p-topMenu__trouble {
        padding: 60px 0 45px;
    }

    .p-topMenu__troubleTitle {
        font-size: 2rem;
        margin: 0 0 20px;
    }

    .p-topMenu__troubleTitle span .big {
        font-size: 2.8rem;
    }

    .p-topMenu__trouble ul li h2 {
        font-size: 4vw;
        margin: -18px 0 0;
        padding: 5px 0;
    }
}

/*----- topMenu__other -----*/

.p-topMenu__other {
    margin: 0 0 93px;
    padding: 195px 0 194px;
    background-color: #F7F6ED;
    position: relative;
}

.p-topMenu__other:before {
    content: "";
    background-image: url(images/top_menu_deco03.svg);
    width: 100%;
    height: 95px;
    position: absolute;
    left: 0;
    top: 0;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: top;
}

.p-topMenu__other:after {
    content: "";
    background-image: url(images/top_menu_deco04.svg);
    width: 100%;
    height: 95px;
    position: absolute;
    left: 0;
    bottom: 0;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: bottom;
}

.p-topMenu__other ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.p-topMenu__other ul li {
    width: 30.7%;
}

.p-topMenu__otherImg {
    width: 100%;
    margin: 0 0 30px;
    border-radius: 20px;
    border: 20px solid #fff;
}

.p-topMenu__otherImg img {
    border-radius: 20px;
}

.p-topMenu__otherText {
    width: 100%;
}

.p-topMenu__otherText h2 {
    font-size: 3.4rem;
    margin: 0 0 30px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-topMenu__otherText .c-text {
    line-height: 1.875;
}

.p-topMenu__otherText .c-button {
    width: 100%;
    margin: 50px auto 0;
}

@media screen and (max-width:1300px) {
    .p-topMenu__otherText h2 {
        font-size: 3rem;
    }
}

@media screen and (max-width:820px) {
    .p-topMenu__other {
        margin: 0 0 60px;
        padding: 115px 0 130px;
    }

    .p-topMenu__other ul {
        width: 500px;
        margin: 0 auto;
    }

    .p-topMenu__other ul li {
        width: 100%;
    }

    .p-topMenu__other ul li:not(:last-child) {
        margin: 0 0 60px;
    }

    .p-topMenu__otherImg {
        border: 10px solid #fff;
    }

    .p-topMenu__otherText h2 {
        font-size: 2.5rem;
    }

    .p-topMenu__otherText .c-button {
        margin: 20px auto 0;
    }

    .p-topMenu__otherText h2 {
        margin: 0 0 15px;
    }
}

@media screen and (max-width:590px) {
    .p-topMenu__otherText h2 {
        font-size: 2rem;
    }

    .p-topMenu__other {
        padding: 65px 0 70px;
    }

    .p-topMenu__other ul {
        width: 100%;
    }

    .p-topMenu__otherImg {
        margin: 0 0 20px;
    }

    .p-topMenu__other ul li:not(:last-child) {
        margin: 0 0 50px;
    }
}

/*----------------------------------------
	topDelivery
----------------------------------------*/

.p-topDelivery {
    margin: 0 0 125px;
    position: relative;
    z-index: 2;
}

.p-topDelivery__wrap {
    display: flex;
}

.p-topDelivery__img {
    width: 39.28%;
    height: 570px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(images/top_delivery.jpg);
    border-radius: 20px 0 0 20px;
}

.p-topDelivery__text {
    width: 60.72%;
    height: 570px;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(images/top_delivery_bg.jpg);
    background-position: center;
    border-radius: 0 20px 20px 0;
    padding: 0 93px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.p-topDelivery__text h3 {
    font-size: 3.4rem;
    letter-spacing: 0.06em;
    line-height: 1.441;
    margin: 0 0 30px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
    color: #fff;
}

.p-topDelivery__text .c-text {
    color: #fff;
    margin: 0 0 40px;
}

.p-topDelivery .c-topTitle {
    text-align: left;
    margin: 0 0 30px;
}

.p-topDelivery .c-topTitle__en {
    color: #fff;
}

.p-topDelivery .c-topTitle__jp {
    color: #fff;
}

.p-topDelivery .c-topTitle__en span:before {
    background-image: url(images/top_title_deco_left02.svg);
}

.p-topDelivery .c-topTitle__en span:after {
    background-image: url(images/top_title_deco_right02.svg);
}

@media screen and (max-width:1300px) {
    .p-topDelivery__text {
        padding: 0 50px;
    }
}

@media screen and (max-width:820px) {
    .p-topDelivery {
        margin: 0 0 70px;
    }

    .p-topDelivery__wrap {
        width: 500px;
        flex-direction: column;
        margin: 0 auto;
    }

    .p-topDelivery__img {
        width: 100%;
        height: 280px;
        background-image: url(images/top_delivery_sp.jpg);
        border-radius: 15px 15px 0 0;
    }

    .p-topDelivery__text {
        width: 100%;
        height: auto;
        border-radius: 0 0 15px 15px;
    }

    .p-topDelivery__text {
        padding: 50px 30px;
    }

    .p-topDelivery__text h3 {
        font-size: 2.5rem;
        text-align: center;
    }

    .p-topDelivery .c-topTitle {
        text-align: center;
        margin: 0 0 20px;
    }

    .p-topDelivery__text .c-text {
        margin: 0 0 20px;
    }
}

@media screen and (max-width:590px) {
    .p-topDelivery {
        margin: 0 0 50px;
    }

    .p-topDelivery__text {
        padding: 40px 20px;
    }

    .p-topDelivery__wrap {
        width: 100%;
    }

    .p-topDelivery__img {
        height: 175px;
    }

    .p-topDelivery__text {
        padding: 30px 20px;
    }

    .p-topDelivery__text h3 {
        font-size: 2rem;
        margin: 0 0 15px;
    }

    .p-topDelivery .c-topTitle {
        margin: 0 0 15px;
    }
}

/*----------------------------------------
	topConcept
----------------------------------------*/

.p-topConcept {
    margin: 0 0 140px;
    position: relative;
}

.p-topConcept .c-topTitle {
    margin: 0 0 40px;
}

.p-topConcept:before {
    content: "";
    width: 631px;
    height: 631px;
    background-image: url(images/top_concept_deco01.png);
    position: absolute;
    top: -256px;
    right: -116px;
    z-index: 1;
}

.p-topConcept__bg {
    width: 94.7%;
    height: 637px;
    background-image: url(images/top_concept_bg.jpg);
    background-size: cover;
    margin: 0 auto 98px;
    border-radius: 50px 50px 0 0;
    position: relative;
}

.p-topConcept__bg:before {
    content: "";
    display: block;
    background-image: url(images/top_concept_deco02.png);
    width: 419px;
    height: 419px;
    background-size: cover;
    background-position: bottom;
    position: absolute;
    left: -95px;
    bottom: -268px;
    z-index: 1;
}

.p-topConcept__bg:after {
    content: "";
    display: block;
    background-image: url(images/top_concept_bg.svg);
    width: 100%;
    height: 94px;
    background-size: 100%;
    background-position: bottom;
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    bottom: -1px;
}

.p-topConcept__wrap {
    display: flex;
    justify-content: center;
    align-items: center;
}

.p-topConcept__img {
    margin: 0 100px 0 0;
}

.p-topConcept__text {
    margin: 0 0;
}

.p-topConcept__text .c-text {
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
    line-height: 2.5;
    margin: 0 0 50px;
}


@media screen and (max-width:1500px) {
    .p-topConcept:before {
        background-size: 100%;
        width: 488px;
        height: 488px;
    }

    .p-topConcept__bg:before {
        background-size: 100%;
        width: 323px;
        height: 323px;
        bottom: -160px;
    }

    .p-topConcept__bg {
        height: 500px;
    }
}

@media screen and (max-width:1300px) {
    .p-topConcept__wrap {
        align-items: flex-start;
        justify-content: space-between;
    }

    .p-topConcept__img {
        width: 30%;
        margin: 0;
    }

    .p-topConcept__img img {
        width: 100%;
    }

    .p-topConcept__text {
        width: 64%;
    }
}

@media screen and (max-width:1100px) {
    .p-topConcept:before {
        width: 382px;
        height: 382px;
    }

    .p-topConcept__bg:before {
        width: 253px;
        height: 253px;
    }
}

@media screen and (max-width:820px) {
    .p-topConcept {
        margin: 0 0 70px;
    }

    .p-topConcept__text .c-text {
        margin: 0 0 20px;
        line-height: 2;
    }

    .p-topConcept__bg {
        height: 300px;
        border-radius: 25px 25px 0 0;
        margin: 0 auto 60px;
    }

    .p-topConcept:before {
        width: 300px;
        height: 300px;
        top: -186px;
        right: -60px;
    }

    .p-topConcept__bg:before {
        width: 198px;
        height: 198px;
        left: -80px;
        bottom: -90px;
    }

    .p-topConcept .c-topTitle {
        margin: 0 0 20px;
    }
}

@media screen and (max-width:590px) {
    .p-topConcept__bg {
        height: 180px;
        background-position: 44%;
    }

    .p-topConcept:before {
        width: 190px;
        height: 190px;
        top: -18%;
    }

    .p-topConcept__bg:before {
        width: 110px;
        height: 110px;
        left: -20px;
        bottom: -30px;
        background-size: 100%;
    }

    .p-topConcept__bg {
        margin: 0 auto 40px;
    }

    .p-topConcept__wrap {
        flex-direction: column;
    }

    .p-topConcept__text {
        width: 100%;
    }

    .p-topConcept__img {
        width: 50%;
        margin: 0 auto 20px;
    }

    .p-topConcept__text .c-text {
        line-height: 1.9;
        text-align: center;
    }

    .p-topConcept__text .c-button {
        margin-right: auto;
        margin-left: auto;
    }
}

/*----------------------------------------
	topOther
----------------------------------------*/

.p-topOther {
    margin: 0 0 120px;
}

.p-topOther__text .c-topTitle {
    margin: 0 0 30px;
}

.p-topOther ul {
    display: flex;
    justify-content: space-between;
}

.p-topOther ul li {
    width: 47%;
    border-radius: 20px;
    border: 4px solid #29ABE3;
    position: relative;
}

.p-topOther ul li a {
    display: block;
    padding: 36px 36px 73px;
    position: relative;
}

.p-topOther ul li:before {
    content: "";
    background-image: url(images/box_triangle.svg);
    width: 47px;
    height: 47px;
    position: absolute;
    bottom: 10px;
    right: 10px;
}

.p-topOther__img {
    width: 100%;
    margin: 0 0 60px;
}

.p-topOther__img img {
    border-radius: 20px 20px 0 0;
}

.p-topOther__text .c-text {
    width: 93.7%;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
    margin: 0 auto;
}

@media screen and (max-width:820px) {
    .p-topOther {
        margin: 0 0 60px;
    }

    .p-topOther ul li a {
        padding: 20px 20px 45px;
    }

    .p-topOther__img {
        margin: 0 0 30px;
    }

    .p-topOther__text .c-topTitle {
        margin: 0 0 15px;
    }

    .p-topOther__text .c-text {
        width: 100%;
        line-height: 1.6;
    }
}

@media screen and (max-width:590px) {
    .p-topOther ul {
        flex-direction: column;
    }

    .p-topOther ul li {
        width: 100%;
    }

    .p-topOther ul li:not(:last-child) {
        margin: 0 0 40px;
    }

    .p-topOther ul li:before {
        width: 30px;
        height: 30px;
        background-size: 100%;
    }

    .p-topOther__img {
        margin: 0 0 20px;
    }

    .p-topOther ul li {
        border-radius: 12px;
        border: 2px solid #29ABE3;
    }

    .p-topOther__img img {
        border-radius: 12px 12px 0 0;
    }
}

/*----------------------------------------
	bottomContact
----------------------------------------*/

.p-bottomContact {
    background-color: #F7F5EC;
    padding: 165px 0 100px;
    position: relative;
}

.p-bottomContact:before {
    content: "";
    background-image: url(images/bottom_contact_deco.svg);
    width: 100%;
    height: 95px;
    position: absolute;
    left: 0;
    top: 0;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: top;
}

.p-bottomContact__title {
    margin: 0 0 60px;
    text-align: center;
}

.p-bottomContact__title span {
    font-size: 8.6rem;
    letter-spacing: 0.11em;
    color: #29ABE3;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: italic;
}

.p-bottomContact__title h2 {
    font-size: 2.8rem;
    letter-spacing: 0.06em;
    line-height: 1.429;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    color: #29ABE3;
}

.p-bottomContact__box .c-button {
    width: 260px;
}

.p-bottomContact__wrap {
    display: flex;
    justify-content: space-between;
}

.p-bottomContact__box {
    width: 47.5%;
    border-radius: 20px;
    padding: 50px 30px;
    background-color: #fff;
    border: 4px solid #29ABE3;
}

.p-bottomContact__box h2 {
    font-size: 2.8rem;
    letter-spacing: 0.03em;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    margin: 0 0 25px;
    text-align: center;
}

.p-bottomContact__box .c-text {
    margin: 0 0 45px;
    text-align: center;
}

.p-bottomContact__box .c-button {
    margin: 0 auto;
}

@media screen and (max-width: 1200px) {
    .p-bottomContact__box h2 {
        font-size: 2.8rem;
    }

    .p-bottomContact__box h2 {
        font-size: 2.2vw;
    }
}

@media screen and (max-width: 820px) {
    .p-bottomContact {
        padding: 100px 0 70px;
    }

    .p-bottomContact__wrap {
        flex-direction: column;
        flex-wrap: wrap;
    }

    .p-bottomContact__box {
        width: 100%;
        padding: 30px 15px;
    }

    .p-bottomContact__box:not(:last-child) {
        margin: 0 0 40px;
    }

    .p-bottomContact__box h2 {
        margin: 0 0 18px;
    }

    .p-bottomContact__box .c-text {
        margin: 0 0 30px;
    }

    .p-bottomContact__title {
        margin: 0 0 40px;
    }

    .p-bottomContact__title span {
        font-size: 5rem;
    }

    .p-bottomContact__title h2 {
        font-size: 2.2rem;
    }

    .p-bottomContact__box h2 {
        font-size: 2.5rem;
    }

    .p-bottomContact__box {
        border: 2px solid #29ABE3;
    }
}

@media screen and (max-width: 590px) {
    .p-bottomContact__box {
        padding: 20px 15px;
    }

    .p-bottomContact__box h2 {
        font-size: 5vw;
    }

    .p-bottomContact__box .c-text {
        margin: 0 0 20px;
    }

    .p-bottomContact__box .c-button {
        width: 100%;
    }
}

/*----------------------------------------
	price
----------------------------------------*/
.p-price {
    margin: 0 0 130px;
}

.p-priceList section {
    background-color: #F0F6FA;
    border-radius: 0 0 20px 20px;
    padding: 60px 100px 130px;
}

.p-priceList h2 {
    font-size: 3.8rem;
    letter-spacing: 0.05em;
    padding: 22px 0 22px 40px;
    border: 1px solid #29ABE3;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    border-radius: 5px;
}

.p-priceLists__title {
    display: flex;
    align-items: center;
    background-color: #FFFFFF;
    border-radius: 5px;
    border-left: 9px solid #29ABE3;
    margin: 0 0 40px;
    padding: 20px 0 20px 39px;
    font-size: 3rem;
    letter-spacing: 0.05em;
    line-height: 1.467;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-priceLists__type {
    display: flex;
    align-items: center;
    margin: 0 0 0 53px;
}

.p-priceLists__type span {
    width: 101px;
    height: 32px;
    border-radius: 2px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    letter-spacing: 0.05em;
    border: 1px solid #29ABE3;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    color: #29ABE3;
}

.p-priceLists__type span:not(:last-child) {
    margin: 0 10px 0 0;
}

.p-priceLists__select {
    font-size: 2rem;
    letter-spacing: 0.05em;
    margin: 0 0 0 10px;
}

.p-priceList .table {
    width: 100%;
    display: block;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
}

.p-priceList .table tbody {
    display: block;
}

.p-priceList .table thead {
    display: block;
}

.p-priceList .table tr {
    display: flex;
}

.p-priceList .table td {
    display: block;
    border: 8px solid #F0F6FA;
    padding: 29px 0;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
}

.p-priceList .table tbody td:nth-child(1) {
    width: 50.4%;
    background-color: #fff;
    text-align: left;
    padding-left: 30px;
    font-size: 2rem;
    letter-spacing: 0.05em;
}

.p-priceList .table tbody td:nth-child(1):before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: #29ABE3;
    border-radius: 50%;
    vertical-align: middle;
    margin: 0 10px 0 0;
}

.p-priceList .table tbody td:nth-child(2) {
    width: 24%;
    background-color: #FFEAEA;

}

.p-priceList .table tbody td:nth-child(3) {
    width: 24%;
    background-color: #EBF4D4;
}

.p-priceList .table tbody td:nth-child(2),
.p-priceList .table tbody td:nth-child(3) {
    font-size: 2.6rem;
    letter-spacing: 0.05em;
}


.p-priceList .table tbody td:nth-child(2) span,
.p-priceList .table tbody td:nth-child(3) span {
    font-size: 1.5rem;
}

.p-priceList .table thead th {
    padding: 16px 0;
}

.p-priceList .table thead th .point {
    width: 200px;
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    line-height: 1.417;
    margin: 0 auto 14px;
    padding: 3px 0;
    border-radius: 100px;
    border: 1px solid #fff;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
}

.p-priceList .table thead th h3 {
    font-size: 2.5rem;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-priceList .table thead th h3 span {
    font-size: 1.6rem;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
    display: block;
    margin: 12px 0 0;
}

.p-priceList .table thead th:nth-child(1) {
    width: 50.4%;
    background-color: #F0F6FA;
    border: none;
}

.p-priceList .table thead th:nth-child(2) {
    width: 24%;
    background-color: #FF9696;
    color: #fff;
    border-radius: 10px 10px 0 0;
    border-right: 8px solid #F0F6FA;
}

.p-priceList .table thead th:nth-child(3) {
    width: 24%;
    background-color: #9CC928;
    color: #fff;
    border-radius: 10px 10px 0 0;
}

.p-priceList__attention {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    line-height: 1.444;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
    display: flex;
    align-items: center;
    margin: 30px 0 0;
}

.p-priceList__attentionIcon {
    margin: 0 20px 0 0;
}

.p-priceList__attention .color {
    font-size: 3rem;
    color: #29ABE3;
}

.p-priceShirts {
    margin: 140px 0 0;
}

.p-priceShirts ul li {
    display: flex;
    align-items: center;
    padding: 12px 0 12px 20px;
    background-color: #fff;
}

.p-priceShirts__info {
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
    background-color: #F0F6FA;
    padding: 8px 9px 8px 34px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
    position: relative;
    border-radius: 32px;
}

.p-priceShirts__info:after {
    content: "";
    display: block;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    right: -9px;
    background-image: url(images/price_triangle.svg);
    width: 17px;
    height: 17px;
}

.p-priceShirts ul li:not(:last-child) {
    margin: 0 0 8px;
}

.p-priceShirts ul li h3 {
    font-size: 2rem;
    letter-spacing: 0.05em;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
    margin: 0 0 0 59px;
}

.p-priceShirts ul li h3:before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: #29ABE3;
    border-radius: 50%;
    vertical-align: middle;
    margin: 0 10px 0 0;
}

.p-priceShirts__num {
    font-size: 2.6rem;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
    margin: 0 0 0 162px;
    letter-spacing: 0.05em;
}

.p-priceShirts__num span {
    font-size: 1.5rem;
}

@media screen and (max-width: 1200px) {
    .p-priceList section {
        padding: 60px 50px 130px;
    }
}

@media screen and (max-width: 1000px) {
    .p-priceList section {
        padding: 60px 3% 130px;
    }

    .p-priceList .table thead th .point {
        width: 100%;
    }

    .p-priceList .table thead th {
        padding: 16px 5px;
    }

    .p-priceList section {
        padding: 60px 2% 130px;
    }

    .p-priceList .table thead th .point {
        width: 100%;
    }

    .p-priceList .table thead th {
        padding: 16px 5px;
    }

    .p-priceList .table tbody td:nth-child(2),
    .p-priceList .table tbody td:nth-child(3) {
        font-size: 1.8rem;
    }

    .p-priceList .table tbody td:nth-child(2) span,
    .p-priceList .table tbody td:nth-child(3) span {
        font-size: 1.2rem;
    }

    .p-priceList .table td {
        padding: 20px 0;
    }

    .p-priceList .table tbody td:nth-child(1) {
        font-size: 1.6rem;
        padding-left: 15px;
    }

    .p-priceList .table tbody td:nth-child(1):before {
        width: 5px;
        height: 5px;
    }

    .p-priceList .table thead th h3 {
        font-size: 2rem;
    }

    .p-priceList .table thead th h3 span {
        font-size: 1.3rem;
    }

    .p-priceLists__title {
        margin: 0 0 20px;
        padding: 14px 0 14px 16px;
    }

    .p-priceList h2 {
        font-size: 3rem;
    }

    .p-priceList section {
        padding: 40px 2% 70px;
    }

    .p-priceShirts {
        margin: 70px 0 0;
    }

    .p-priceLists__title {
        flex-direction: column;
        align-items: flex-start;
    }

    .p-priceLists__type {
        margin: 5px 0;
    }

    .p-priceLists__type span {
        font-size: 1.8rem;
    }

    .p-priceLists__select {
        font-size: 1.8rem;
        margin: 0;
    }

    .p-priceList__attention {
        display: block;
        font-size: 1.6rem;
    }

    .p-priceList__attentionIcon {
        width: 35px;
        display: block;
        margin: 0 auto 10px;
        text-align: center;
    }

    .p-priceList__attentionIcon img {
        width: 100%;
    }

    .p-priceList__attention .color {
        font-size: 2rem;
    }

    .p-priceShirts ul li {
        flex-direction: column;
    }

    .p-priceShirts__info {
        margin: 0 0 10px;
    }

    .p-priceShirts ul li h3 {
        margin: 0;
    }

    .p-priceShirts__num {
        margin: 0;
    }

    .p-priceShirts ul li {
        padding: 12px 10px;
    }

    .p-priceShirts__info {
        width: 100%;
        margin: 0 0 20px;
        padding: 8px 12px;
        border-radius: 5px;
    }

    .p-priceShirts__info:after {
        display: none;
    }

    .p-priceShirts ul li h3 {
        margin: 0 0 5px;
    }
}

@media screen and (max-width: 820px) {
    .p-price {
        margin: 0 0 70px;
    }
}

@media screen and (max-width: 590px) {
    .p-priceList .table tr {
        flex-wrap: wrap;
    }

    .p-priceList .table td {
        padding: 15px 0;
        border: 3px solid #F0F6FA;
    }

    .p-priceList .table tr:not(:last-child) {
        margin: 0 0 30px;
    }

    .p-priceList .table tbody td:nth-child(1) {
        width: 100%;
    }

    .p-priceList .table tbody td:nth-child(2) {
        width: 50%;
    }

    .p-priceList .table tbody td:nth-child(3) {
        width: 50%;
    }

    .p-priceList .table thead th:nth-child(2) {
        width: 50%;
    }

    .p-priceList .table thead th:nth-child(3) {
        width: 50%;
    }

    .p-priceList .table thead th .point {
        font-size: 2.7vw;
    }

    .p-priceLists__title {
        font-size: 2rem;
        margin: 0 0 10px;
    }

    .p-priceList h2 {
        font-size: 2.4rem;
        padding: 15px 0 15px 25px;
    }

    .p-priceLists__type span {
        font-size: 1.4rem;
        width: 70px;
        height: 25px;
    }

    .p-priceLists__select {
        font-size: 1.4rem;
    }

    .p-priceList__attention {
        display: block;
        font-size: 1.4rem;
    }
}

/*----------------------------------------
	service
----------------------------------------*/

.page-id-308 .p-bottomContact:before {
    background-image: url(images/bottom_contact_deco02.svg);
}

/*----- p-serviceTitle -----*/

.p-serviceTitle {
    background-image: url(images/service_title_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 290px;
    border-radius: 20px;
    margin: 0 0 70px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
}

.p-serviceTitle:before {
    content: "";
    background-image: url(images/service_title_logo.svg);
    width: 210px;
    height: 232px;
    position: absolute;
    left: 100px;
    top: 50%;
    transform: translateY(-50%);
}

.p-serviceTitle h2 {
    font-size: 5.3rem;
    letter-spacing: 0.07em;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    text-align: center;
    color: #fff;
}

.p-serviceTitle__point {
    font-size: 3rem;
    letter-spacing: 0.07em;
    margin: 0 0 20px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    line-height: 1.467;
    text-align: center;
    color: #fff;
}

.p-serviceTitle__point:after {
    content: "";
    display: block;
    width: 180px;
    height: 10px;
    background-image: url(images/service_title_deco.svg);
    background-repeat: no-repeat;
    margin: 16px auto 0;
}

.p-serviceTitle__point span {
    font-size: 1.8rem;
    line-height: 1.444;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
    margin: 0 0 4px;
    color: #fff;
}

@media screen and (max-width: 1200px) {
    .p-serviceTitle:before {
        width: 163px;
        height: 180px;
        background-size: 100%;
        left: 4%;
    }
}


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

    .p-serviceTitle {
        margin: 0 0 30px;
    }

    .p-serviceTitle h2 {
        font-size: 3.5rem;
    }

    .p-serviceTitle__point {
        font-size: 2.2rem;
    }

    .p-serviceTitle__point span {
        font-size: 1.5rem;
    }

    .p-serviceTitle h2 {
        font-size: 3.5rem;
    }

    .p-serviceTitle {
        height: 210px;
    }

    .p-serviceTitle:before {
        width: 110px;
        height: 121px;
    }
}

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

    .p-serviceTitle h2 {
        font-size: 2.4rem;
    }

    .p-serviceTitle__point span {
        font-size: 1.3rem;
    }

    .p-serviceTitle__point {
        font-size: 4.2vw;
        margin: 0 0 10px;
    }

    .p-serviceTitle__point:after {
        width: 130px;
        height: 10px;
        background-size: 100%;
    }

    .p-serviceTitle__point:after {
        margin: 10px auto 0;
    }

    .p-serviceTitle:before {
        opacity: 0.5;
    }

    .p-serviceTitle {
        height: 145px;
        border-radius: 15px;
    }
}

/*----- p-serviceWave -----*/
.p-serviceWave {
    padding: 215px 0 120px;
    position: relative;
}

.p-serviceWave:before {
    content: "";
    width: 100%;
    height: 95px;
    position: absolute;
    background-repeat: no-repeat;
    background-size: 100%;
    top: 0;
    left: 0;
}

.p-serviceTrouble.p-serviceWave:before {
    background-image: url(images/service_trouble_wave.svg);
}

.p-serviceSpecial.p-serviceWave:before {
    background-image: url(images/service_special_wave.svg);
}

.p-serviceAirdown.p-serviceWave:before {
    background-image: url(images/service_airdown_wave.svg);
}

.p-serviceReform.p-serviceWave:before {
    background-image: url(images/service_reform_wave.svg);
}

@media screen and (max-width: 820px) {
    .p-serviceWave {
        padding: 120px 0 70px;
    }
}

@media screen and (max-width: 590px) {
    .p-serviceWave {
        padding: 80px 0 60px;
    }
}

/*----- p-serviceTab -----*/
.p-serviceTab {
    margin: 0 0 70px;
}

.p-serviceTab ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.p-serviceTab ul li {
    width: 18.7%;
}

.p-serviceTab ul li a {
    text-align: center;
    display: block;
    width: 100%;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    letter-spacing: 0.06em;
    border: 1px solid #2AABE3;
    color: #2AABE3;
    transition: all 0.3s;
    position: relative;
    font-weight: bold;
    transition: all 0.4s;
    border-radius: 100px;
}

.p-serviceTab ul li a:after {
    content: "";
    display: inline-block;
    width: 9px;
    height: 9px;
    background-color: #2AABE3;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
    transition: all 0.4s;
}

.p-serviceTab h2 {
    font-size: 4.2rem;
    letter-spacing: 0.07em;
    margin: 0 0 68px;
}

.p-serviceTab h2:after {
    content: "";
    display: block;
    border-bottom: 5px solid #29ABE3;
    width: 78px;
    margin: 30px 0 0;
}

@media screen and (max-width: 1400px) {
    .p-serviceTab ul li a:after {
        right: 7px;
    }

    .p-serviceTab ul li a {
        font-size: 1.6rem;
    }
}

@media screen and (max-width: 1100px) {
    .p-serviceTab ul {
        flex-wrap: wrap;
        justify-content: center;
    }

    .p-serviceTab ul li:not(:nth-child(3n+3)) {
        margin-right: 2%;
    }

    .p-serviceTab ul li {
        width: 32%;
    }

    .p-serviceTab ul li:nth-of-type(n+4) {
        margin-top: 20px;
    }

    .p-serviceTab h2 {
        font-size: 3.2rem;
        margin: 0 0 30px;
    }

    .p-serviceTab h2:after {
        width: 70px;
        margin: 20px 0 0;
    }
}

@media screen and (max-width: 820px) {
    .p-serviceTab h2 {
        font-size: 2.2rem;
    }

    .p-serviceTab {
        margin: 0 0 50px;
    }

    .p-serviceTab ul li a {
        height: 50px;
    }
}

@media screen and (max-width: 590px) {
    .p-serviceTab ul li {
        width: 100%;
    }

    .p-serviceTab ul li:nth-of-type(n+2) {
        margin-top: 15px;
    }

    .p-serviceTab h2:after {
        width: 50px;
        margin: 12px 0 0;
        border-bottom: 3px solid #29ABE3;
    }
}

/*----- p-serviceFree -----*/

.p-serviceFree {
    background-color: #F0F6FA;
    border-radius: 20px;
    margin: 0 0 120px;
    padding: 70px 100px 90px;
}

.p-serviceFree__title {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 37px;
}

.p-serviceFree__all {
    width: 165px;
    height: 165px;
    background-color: #FFF100;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    font-size: 3rem;
    letter-spacing: 0.05em;
    font-weight: bold;
    line-height: 1.333;
    text-align: center;
    margin: 0 35px 0 0;
}

.p-serviceFree__title h2 {
    font-size: 3.7rem;
    letter-spacing: 0.05em;
    line-height: 1.4;
}

.p-serviceFree__title h2 .color01 {
    display: inline-block;
    color: #00549C;
}

.p-serviceFree__title h2 .color02 {
    display: inline-block;
    color: #29ABE3;
}

.p-serviceFree__title h2 .color03 {
    display: inline-block;
    color: #6DD53F;
}

.p-serviceFree__title h2 .small {
    display: inline-block;
    font-size: 2.2rem;
}

.p-serviceFree__subTitle {
    font-size: 3.4rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin: 0 0 30px;
    padding: 23px 0;
    width: 100%;
    background-color: #fff;
    text-align: center;
}

.p-serviceFree__subTitle span {
    background: linear-gradient(transparent 50%, #FFF100 50%);
}

.p-serviceFree__img {
    text-align: center;
    margin: 0 auto;
}

@media screen and (max-width: 1300px) {
    .p-serviceFree {
        padding: 40px 50px 60px;
    }

    .p-serviceFree__img {
        width: 85%;
    }

    .p-serviceFree__img img {
        width: 100%;
    }

    .p-serviceFree__title h2 {
        width: 80%;
        font-size: 3.2rem;
    }

    .p-serviceFree__all {
        width: 140px;
        height: 140px;
        font-size: 2.5rem;
    }

    .p-serviceFree__subTitle {
        font-size: 3rem;
    }
}

@media screen and (max-width: 820px) {
    .p-serviceFree__title {
        flex-direction: column;
    }

    .p-serviceFree__img {
        width: 90%;
    }

    .p-serviceFree {
        padding: 40px 15px 30px;
    }

    .p-serviceFree__all {
        width: 100px;
        height: 100px;
        font-size: 2rem;
        margin: 0 0 20px;
    }

    .p-serviceFree__title h2 {
        font-size: 2.5rem;
        width: 100%;
        text-align: center;
    }

    .p-serviceFree__title h2 .small {
        font-size: 1.3rem;
    }

    .p-serviceFree__subTitle {
        font-size: 2.5rem;
        padding: 12px 0;
    }
}

@media screen and (max-width: 590px) {
    .p-serviceFree {
        border-radius: 15px;
        margin: 0 0 60px;
        padding: 25px 15px 30px;
    }

    .p-serviceFree__title h2 {
        font-size: 2rem;
    }

    .p-serviceFree__all {
        width: 85px;
        height: 85px;
        font-size: 1.8rem;
    }

    .p-serviceFree__subTitle {
        font-size: 1.8rem;
        margin: 0 0 15px;
    }

    .p-serviceFree__all {
        margin: 0 0 10px;
    }

    .p-serviceFree__title {
        margin: 0 0 20px;
    }
}

@media screen and (max-width: 450px) {
    .p-serviceFree__title h2 {
        font-size: 4.5vw;
    }

    .p-serviceFree__title h2 .small {
        font-size: 2.6vw;
    }
}

/*----- p-serviceCleaning -----*/

.p-serviceCleaning > ul > li {
    padding: 195px 0 120px;
    position: relative;
}

.p-serviceCleaning > ul > li:nth-of-type(1) {
    background-color: rgba(255, 234, 234, 0.71);
}

.p-serviceCleaning > ul > li:nth-of-type(2) {
    background-color: #F4F8E6;
}

.p-serviceCleaning > ul > li:nth-of-type(3) {
    background-color: rgba(251, 243, 214, 0.88);
}

.p-serviceCleaning > ul > li:before {
    content: "";
    width: 100%;
    height: 95px;
    position: absolute;
    background-size: 100%;
    background-repeat: no-repeat;
    top: 0;
    left: 0;
}

.p-serviceCleaning > ul > li:nth-of-type(1):before {
    background-image: url(images/service_regular_wave.svg);
}

.p-serviceCleaning > ul > li:nth-of-type(2):before {
    background-image: url(images/service_deluxe_wave.svg);
}

.p-serviceCleaning > ul > li:nth-of-type(3):before {
    background-image: url(images/service_wwash_wave.svg);
}

.p-serviceCleaning li h2 {
    font-size: 3.5rem;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    margin: 0 0 60px;
    text-align: center;
    line-height: 1.457;
}

.p-serviceCleaning li h2 span:before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    vertical-align: middle;
    margin: 0 20px 0 0;
}

.p-serviceCleaning > ul > li:nth-of-type(1) h2 span:before {
    background-color: #FF9696;
}

.p-serviceCleaning > ul > li:nth-of-type(2) h2 span:before {
    background-color: #9CC928;
}

.p-serviceCleaning > ul > li:nth-of-type(3) h2 span:before {
    background-color: #FAB301;
}

.p-serviceCleaning > ul > li:nth-of-type(1) .p-serviceCleaning__text h3 {
    color: #FF9696;
}

.p-serviceCleaning > ul > li:nth-of-type(2) .p-serviceCleaning__text h3 {
    color: #9CC928;
}

.p-serviceCleaning > ul > li:nth-of-type(3) .p-serviceCleaning__text h3 {
    color: #FAB301;
}

.p-serviceCleaning__wrap {
    display: flex;
    justify-content: space-between;
    margin: 0 0 55px;
}

.p-serviceCleaning__img {
    width: 44.28%;
}

.p-serviceCleaning__img img {
    border-radius: 20px;
}

.p-serviceCleaning__text {
    width: 50.07%;
}

.p-serviceCleaning__text h3 {
    font-size: 3rem;
    letter-spacing: 0.05em;
    margin: 0 0 40px;
    color: #FF9696;
    line-height: 1.467;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-serviceCleaning__text .c-text:not(:last-child) {
    margin: 0 0 40px;
}

.p-serviceCleaning__point {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #FF9696;
    padding: 80px 100px 60px;
    border-radius: 20px;
}

.p-serviceCleaning__pointImg {
    width: 33.6%;
}

.p-serviceCleaning__pointImg img {
    border-radius: 20px;
}

.p-serviceCleaning__pointText {
    width: 59.25%;
}

.p-serviceCleaning__pointTitle {
    font-size: 2.8rem;
    letter-spacing: 0.05em;
    line-height: 1.429;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    text-align: center;
    margin: 0 0 -20px;
    position: relative;
    z-index: 1;
}

.p-serviceCleaning__pointTitle span {
    display: inline-block;
    padding: 0 30px;
    background-color: #FFF0F0;
}

.p-serviceCleaning__pointTitle span:before {
    content: "";
    display: inline-block;
    width: 35px;
    height: 50px;
    background-image: url(images/service_check_icon.svg);
}

.p-serviceCleaning__recommend {
    background-color: #fff;
    border-radius: 20px;
    margin: 0 0 70px;
    padding: 44px 70px;
}

.p-serviceCleaning__recommend h3 {
    font-size: 2.5rem;
    margin: 0 0 30px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-serviceCleaning > ul > li:nth-of-type(1) .p-serviceCleaning__recommend h3 {
    color: #FF9696;
}

.p-serviceCleaning > ul > li:nth-of-type(2) .p-serviceCleaning__recommend h3 {
    color: #9CC928;
}

.p-serviceCleaning > ul > li:nth-of-type(3) .p-serviceCleaning__recommend h3 {
    color: #FAB301;
}

.p-serviceCleaning__recommend ul li {
    font-size: 1.5rem;
    line-height: 2.133;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
}

.p-serviceCleaning__recommend ul li:not(:last-child) {
    margin: 0 0 15px;
}

.p-serviceCleaning__recommend ul li span {
    display: flex;
    align-items: center;
}

.p-serviceCleaning__recommend ul li span:before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 12px;
}

.p-serviceCleaning > ul > li:nth-of-type(1) .p-serviceCleaning__recommend ul li span:before {
    background-image: url(images/service_cleaning_regular_check.svg);
}

.p-serviceCleaning > ul > li:nth-of-type(2) .p-serviceCleaning__recommend ul li span:before {
    background-image: url(images/service_cleaning_deluxe_check.svg);
}

.p-serviceCleaning > ul > li:nth-of-type(3) .p-serviceCleaning__recommend ul li span:before {
    background-image: url(images/service_cleaning_wwash_check.svg);
}

.p-serviceCleaning__button {
    text-align: center;
    display: block;
    width: 100%;
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.2rem;
    letter-spacing: 0.06em;
    background-color: #fff;
    color: #fff;
    transition: all 0.3s;
    position: relative;
    font-weight: bold;
    transition: all 0.4s;
    border-radius: 100px;
    margin: 70px 0 0;
}

.p-serviceCleaning__button span {
    display: flex;
    align-items: center;
}

.p-serviceCleaning__button span:before {
    content: "";
    display: inline-block;
    background-image: url(images/service_cleaning_button_icon.svg);
    margin: 0 20px 0 0;
    width: 32px;
    height: 37px;
}

.p-serviceCleaning > ul > li:nth-of-type(1) .p-serviceCleaning__button {
    background-color: #FF9696;
}

.p-serviceCleaning > ul > li:nth-of-type(2) .p-serviceCleaning__button {
    background-color: #9CC928;
}

.p-serviceCleaning > ul > li:nth-of-type(3) .p-serviceCleaning__button {
    background-color: #FAB301;
}

.p-serviceCleaning__subTitle {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    line-height: 1.444;
    color: #FAB301;
    text-align: center;
    margin: 0 0 5px;
}

.p-serviceCleaning__subTitle:after {
    content: "";
    display: block;
    margin: 16px auto 0;
    width: 179px;
    height: 9px;
    background-image: url(images/service_cleaning_wwash_title_deco.svg);
}

@media screen and (max-width: 1200px) {
    .p-serviceCleaning__point {
        padding: 60px 50px 40px;
    }

    .p-serviceCleaning__pointTitle span {
        width: 645px;
        padding: 0 15px;
    }
}

@media screen and (max-width: 820px) {
    .p-serviceCleaning__text h3 {
        font-size: 2.6rem;
        margin: 0 0 20px;
    }

    .p-serviceCleaning__recommend {
        padding: 44px 15px;
    }

    .p-serviceCleaning__recommend h3 {
        font-size: 2rem;
    }

    .p-serviceCleaning > ul > li {
        padding: 90px 0 100px;
    }

    .p-serviceCleaning__button {
        height: 90px;
    }

    .p-serviceCleaning li h2 {
        font-size: 3rem;
    }

    .p-serviceCleaning__recommend ul li {
        line-height: 1.4;
    }

    .p-serviceCleaning__recommend ul li span:before {
        background-size: 100%;
        width: 20px;
        height: 20px;
    }

    .p-serviceCleaning__recommend ul li:not(:last-child) {
        margin: 0 0 10px;
    }

    .p-serviceCleaning__recommend h3 {
        margin: 0 0 15px;
    }

    .p-serviceCleaning__recommend {
        margin: 0 0 30px;
        padding: 30px 15px;
    }

    .p-serviceCleaning__pointTitle {
        font-size: 3.2vw;
    }

    .p-serviceCleaning__pointTitle span {
        width: 84%;
        padding: 0 15px;
    }

    .p-serviceCleaning__point {
        align-items: flex-start;
    }

    .p-serviceCleaning__point {
        padding: 50px 25px 40px;
    }

    .p-serviceCleaning__button {
        margin: 30px 0 0;
    }

    .p-serviceCleaning__button {
        font-size: 1.8rem;
        height: 70px;
    }

    .p-serviceCleaning__button span:before {
        width: 25px;
        height: 29px;
        background-size: 100%;
    }

    .p-serviceCleaning li h2 span:before {
        width: 8px;
        height: 8px;
        margin: 0 10px 0 0;
    }

    .p-serviceCleaning li h2 {
        margin: 0 0 30px;
    }

    .p-serviceCleaning__text .c-text:not(:last-child) {
        margin: 0 0 15px;
    }

    .p-serviceCleaning__wrap {
        margin: 0 0 30px;
    }

    .p-serviceCleaning__subTitle {
        font-size: 1.5rem;
    }
}

@media screen and (max-width: 590px) {
    .p-serviceCleaning > ul > li {
        padding: 65px 0 70px;
    }

    .p-serviceCleaning li h2 {
        font-size: 2.2rem;
    }

    .p-serviceCleaning__wrap {
        flex-direction: column;
    }

    .p-serviceCleaning__img {
        width: 100%;
        margin: 0 0 20px;
    }

    .p-serviceCleaning__text {
        width: 100%;
    }

    .p-serviceCleaning__text h3 {
        font-size: 2rem;
    }

    .p-serviceCleaning__text .c-text:not(:last-child) {
        margin: 0 0 10px;
    }

    .p-serviceCleaning__pointText {
        width: 100%;
    }

    .p-serviceCleaning__point {
        border-radius: 15px;
        padding: 40px 15px 30px;
    }

    .p-serviceCleaning__pointImg {
        width: 100%;
        margin: 0 0 20px;
    }

    .p-serviceCleaning__pointImg img {
        border-radius: 15px;
    }

    .p-serviceCleaning__pointTitle span:before {
        display: block;
        margin: 0 auto 5px;
    }

    .p-serviceCleaning__pointTitle {
        font-size: 4vw;
    }

    .p-serviceCleaning__pointTitle span {
        width: 82%;
        padding: 0 8px;
    }

    .p-serviceCleaning__button span:before {
        width: 16px;
        height: 19px;
        background-size: 100%;
        margin: 0 5px 0 0;
    }

    .p-serviceCleaning__button {
        height: 45px;
        font-size: 1.2rem;
    }

    .p-serviceCleaning__pointTitle span:before {
        width: 30px;
        height: 43px;
        background-size: 100%;
    }

    .p-serviceCleaning__recommend {
        border-radius: 15px;
    }

    .p-serviceCleaning__recommend ul li {
        font-size: 1.3rem;
    }

    .p-serviceCleaning__recommend h3 {
        font-size: 1.8rem;
    }

    .p-serviceCleaning__subTitle {
        font-size: 1.3rem;
    }

    .p-serviceCleaning__subTitle:after {
        background-size: 100%;
        width: 120px;
        height: 6px;
        margin: 10px auto 0;
    }

    .p-serviceCleaning__point {
        flex-direction: column;
    }
}

/*----- p-serviceTrouble -----*/

.p-serviceTrouble {
    background-color: #F0F6FA;
}

.p-serviceTrouble__wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.p-serviceTrouble__box {
    width: 46.4%;
    background-color: #fff;
    border-radius: 20px;
    padding: 0 58px 58px;
}

.p-serviceTrouble__box:nth-child(n+3) {
    margin: 142px 0 0;
}

.p-serviceTrouble__box h2 {
    font-size: 3.5rem;
    letter-spacing: 0.05em;
    margin: 0 0 30px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    display: flex;
    align-items: center;
    line-height: 1.3;
}

.p-serviceTrouble__box h2:before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    vertical-align: middle;
    margin: 0 20px 0 0;
    background-color: #29ABE3;
}

.p-serviceTrouble__example {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin: 110px 0 0;
}

.p-serviceTrouble__exampleBox {
    width: 45.75%;
}

.p-serviceTrouble__exampleBox ul {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.p-serviceTrouble__exampleBox ul li {
    width: 46.6%;
}

.p-serviceTrouble__exampleBox h3 {
    font-size: 2.6rem;
    letter-spacing: 0.05em;
    background-color: #F0F6FA;
    border-radius: 100px;
    margin: 0 0 32px;
    padding: 12px 0 12px 33px;
}

.p-serviceTrouble__exampleBox h3 span {
    font-size: 1.4rem;
    margin: 0 0 0 17px;
    color: #29ABE3;
}

.p-serviceTrouble__exampleBox ul li h4 {
    font-size: 1.8rem;
    width: 131px;
    background-color: #fff;
    border-radius: 5px 5px 0 0;
    padding: 6px 0;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: italic;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    letter-spacing: 0.11em;
}

.p-serviceTrouble__exampleImg {
    margin: 0 0 22px;
}

.p-serviceTrouble__exampleBox ul li:nth-of-type(1) h4 {
    background-color: #000000;
}

.p-serviceTrouble__exampleBox ul li:nth-of-type(2) h4 {
    background-color: #29ABE3;
}

.p-serviceTrouble__simi {
    margin: 0 0 110px;
}

.p-serviceTrouble__simiWrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background-color: #fff;
    border-radius: 20px;
    padding: 82px 100px 110px;
}

.p-serviceTrouble__simiWrap h2 {
    width: 100%;
    font-size: 3.5rem;
    letter-spacing: 0.05em;
    text-align: center;
    margin: 0 0 40px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-serviceTrouble__simiWrap h2 span:before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    vertical-align: middle;
    margin: 0 20px 0 0;
    background-color: #29ABE3;
}

.p-serviceTrouble__simiSub {
    width: 466px;
    font-size: 2.6rem;
    background-color: #29ABE3;
    margin: 0 auto;
    padding: 14px 0;
    border-radius: 100px;
    text-align: center;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    color: #fff;
    margin: 0 auto -32px;
    position: relative;
    z-index: 1;
}

.p-serviceTrouble__simiImg {
    width: 44.5%;
}

.p-serviceTrouble__simiImg img {
    border-radius: 20px;
}

.p-serviceTrouble__simiText {
    width: 48.8%;
}

.p-serviceTrouble__simiText p:not(:last-child) {
    margin: 0 0 40px;
}

.p-serviceTrouble__simiWrap {
    display: flex;
    align-items: center;
}

.p-serviceTrouble__point {
    width: 100%;
    height: 64px;
    font-size: 2.6rem;
    letter-spacing: 0.07em;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #29ABE3;
    border-radius: 100px;
    color: #fff;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    margin: -32px auto 30px;
}

.p-serviceTrouble__img {
    margin: 0 0 40px;
}

.p-serviceTrouble__img img {
    border-radius: 20px;
}

.p-serviceTrouble__price {
    font-size: 3.5rem;
    letter-spacing: 0.1em;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    margin: 30px 0 0;
}

.p-serviceTrouble__price .number {
    font-size: 1.8rem;
    margin: 0 15px 0 0;
}

.p-serviceTrouble__price .unit {
    font-size: 2rem;
}

@media screen and (max-width: 1400px) {
    .p-serviceTrouble__simiWrap {
        align-items: flex-start;
    }

    .p-serviceTrouble__simiWrap {
        padding: 82px 50px 110px;
    }

    .p-serviceTrouble__box {
        width: 48%;
    }

    .p-serviceTrouble__box h2 {
        font-size: 3rem;
    }

    .p-serviceTrouble__box:nth-child(n+3) {
        margin: 110px 0 0;
    }
}

@media screen and (max-width: 1200px) {
    .p-serviceTrouble__point {
        font-size: 2vw;
        height: 50px;
        margin: -25px auto 30px;
    }
}

@media screen and (max-width: 820px) {
    .p-serviceTrouble__simiWrap {
        padding: 80px 35px 60px;
    }

    .p-serviceTrouble__simiWrap h2 {
        font-size: 2.5rem;
    }

    .p-serviceTrouble__simiWrap h2 span:before {
        width: 8px;
        height: 8px;
        margin: 0 10px 0 0;
    }

    .p-serviceTrouble__simiWrap {
        align-items: flex-start;
    }

    .p-serviceTrouble__simiText p:not(:last-child) {
        margin: 0 0 15px;
    }

    .p-serviceTrouble__simiSub {
        width: 300px;
        font-size: 2rem;
        margin: 0 auto -20px;
    }

    .p-serviceTrouble__simiWrap {
        padding: 60px 35px;
    }

    .p-serviceTrouble__example {
        margin: 60px 0 0;
    }

    .p-serviceTrouble__exampleBox ul li h4 {
        font-size: 1.4rem;
        width: 84px;
        padding: 4px 0;
    }

    .p-serviceTrouble__exampleBox ul li .c-text {
        font-size: 1.2rem;
    }

    .p-serviceTrouble__exampleImg {
        margin: 0 0 12px;
    }

    .p-serviceTrouble__exampleBox h3 {
        font-size: 2rem;
        margin: 0 0 20px;
    }

    .p-serviceTrouble__exampleBox h3 span {
        font-size: 1.1rem;
        margin: 0 0 0 8px;
    }

    .p-serviceTrouble__box {
        padding: 0 20px 35px;
    }

    .p-serviceTrouble__box h2 {
        font-size: 2.8vw;
        margin: 0 0 20px;
    }

    .p-serviceTrouble__point {
        height: 38px;
        margin: -25px auto 20px;
    }

    .p-serviceTrouble__simiText p:not(:last-child) {
        margin: 0 0 20px;
    }

    .p-serviceTrouble__price .number {
        font-size: 1.4rem;
        margin: 0 8px 0 0;
    }

    .p-serviceTrouble__price .unit {
        font-size: 1.6rem;
    }

    .p-serviceTrouble__price {
        font-size: 2.7rem;
    }

    .p-serviceTrouble__box:nth-child(n+3) {
        margin: 70px 0 0;
    }
}

@media screen and (max-width: 590px) {
    .p-serviceTrouble__simiWrap {
        flex-direction: column;
    }

    .p-serviceTrouble__simiImg {
        width: 100%;
        margin: 0 0 20px;
    }

    .p-serviceTrouble__simiText {
        width: 100%;
    }

    .p-serviceTrouble__simiWrap h2 {
        font-size: 2rem;
        margin: 0 0 20px;
    }

    .p-serviceTrouble__simiText p:not(:last-child) {
        margin: 0 0 10px;
    }

    .p-serviceTrouble__example {
        flex-direction: column;
    }

    .p-serviceTrouble__exampleBox {
        width: 100%;
    }

    .p-serviceTrouble__exampleBox:not(:last-child) {
        margin: 0 0 30px;
    }

    .p-serviceTrouble__example {
        margin: 40px 0 0;
    }

    .p-serviceTrouble__exampleBox ul li .c-text {
        line-height: 1.4;
    }

    .p-serviceTrouble__simiWrap {
        padding: 60px 20px;
    }

    .p-serviceTrouble__simiWrap h2 {
        font-size: 5vw;
    }

    .p-serviceTrouble__simiSub {
        padding: 10px 0;
        width: 92%;
        font-size: 1.4rem;
    }

    .p-serviceTrouble__box {
        width: 100%;
    }

    .p-serviceTrouble__box h2:before {
        width: 8px;
        height: 8px;
    }

    .p-serviceTrouble__box h2 {
        font-size: 2.2rem;
    }

    .p-serviceTrouble__point {
        font-size: 4.5vw;
    }

    .p-serviceTrouble__img {
        margin: 0 0 25px;
    }

    .p-serviceTrouble__box:nth-child(n+2) {
        margin: 75px 0 0;
    }
}

/*----- p-serviceSpecial -----*/

.p-serviceSpecial__intro {
    margin: 0 0 90px;
}

.p-serviceSpecial .p-serviceTitle {
    margin: 0 0 60px;
}

.p-serviceSpecial__img {
    margin: 0 0 30px;
}

.p-serviceSpecial__img img {
    border-radius: 20px;
}

.p-serviceSpecial ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.p-serviceSpecial ul li {
    width: 31.4%;
    background-color: #F0F6FA;
    padding: 35px 38px 50px;
    border-radius: 20px;
}

.p-serviceSpecial ul li:nth-child(n+4) {
    margin: 80px 0 0;
}

.p-serviceSpecial ul li h2 {
    font-size: 2.8rem;
    margin: 0 0 20px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-serviceSpecial ul li h2 span:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #29ABE3;
    margin: 0 14px 0 0;
}

.p-serviceSpecial__text .c-text {
    margin: 0 0 18px;
}

.p-serviceSpecial__price {
    font-size: 2.8rem;
    letter-spacing: 0.1em;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-serviceSpecial__price span {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

@media screen and (max-width: 820px) {
    .p-serviceSpecial .p-serviceTitle {
        margin: 0 0 30px;
    }

    .p-serviceSpecial__intro {
        margin: 0 0 40px;
    }

    .p-serviceSpecial ul li {
        width: 48%;
        padding: 30px 25px 40px;
    }

    .p-serviceSpecial ul li:nth-child(n+3) {
        margin: 40px 0 0;
    }

    .p-serviceSpecial ul li h2 {
        font-size: 2.4rem;
    }

    .p-serviceSpecial__text .c-text {
        margin: 0 0 10px;
    }

    .p-serviceTrouble__price {
        margin: 20px 0 0;
    }
}

@media screen and (max-width: 590px) {
    .p-serviceSpecial ul li {
        width: 100%;
    }

    .p-serviceSpecial ul li:nth-child(n+2) {
        margin: 40px 0 0;
    }

    .p-serviceSpecial ul li {
        padding: 30px 20px 40px;
    }

    .p-serviceSpecial ul li h2 {
        font-size: 2rem;
    }
}

/*----- p-serviceAirdown -----*/

.p-serviceAirdown {
    background-color: #F0F6FA;
}

.p-serviceAirdown__intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 90px;
}

.p-serviceAirdown__introImg {
    width: 44.2%;
}

.p-serviceAirdown__introImg img {
    border-radius: 20px;
}

.p-serviceAirdown__introText {
    width: 50%;
}

.p-serviceAirdown__introText h2 {
    font-size: 3rem;
    line-height: 1.467;
    margin: 0 0 40px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-serviceAirdown__recommend {
    width: 1100px;
    margin: 0 auto 55px;
}

.p-serviceAirdown__recommend h2 {
    width: 1000px;
    height: 79px;
    background-color: #00549C;
    color: #fff;
    margin: 0 auto -39px;
    padding: 16px 0 0;
    text-align: center;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    font-size: 4.2rem;
    letter-spacing: 0.08em;
    position: relative;
    line-height: 1.19;
}

.p-serviceAirdown__recommend h2:after {
    content: "";
    display: block;
    width: 1000px;
    height: 63px;
    background-image: url(images/service_airdown_triangle.svg);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -63px;
    left: 0;
}

.p-serviceAirdown__recommendWrap {
    background-color: #fff;
    border-radius: 20px;
    padding: 124px 78px 60px;
}

.p-serviceAirdown__recommendBox {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.p-serviceAirdown__recommendBox:not(:last-child) {
    margin: 0 0 30px;
}

.p-serviceAirdown__recommendBox:nth-of-type(even) {
    flex-direction: row-reverse;
}

.p-serviceAirdown__recommendText {
    font-size: 2.4rem;
    letter-spacing: 0.08em;
    line-height: 1.25;
    width: 78.3%;
    background-color: #F0F6FA;
    border-radius: 10px;
    padding: 32px 0;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    padding-left: 44px;
    position: relative;
}

.p-serviceAirdown__recommendText:before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -19px;
    background-image: url(images/service_airdown_recommend_triangle01.svg);
    background-repeat: no-repeat;
    width: 23px;
    height: 20px;
}

.p-serviceAirdown__recommendBox:nth-of-type(even) .p-serviceAirdown__recommendText:before {
    background-image: url(images/service_airdown_recommend_triangle02.svg);
    left: auto;
    right: -19px;
}

.p-serviceAirdown__recommendText span:before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 12px;
    background-image: url(images/service_airdown_recommend_check.svg);
}

.p-serviceAirdown__recommendImg {
    width: 16.4%;
}

.p-serviceAirdown__recommendImg img {
    width: 100%;
}

.p-serviceAirdown__development {
    margin: 0 0 70px;
}

.p-serviceAirdown__development h2 {
    font-size: 4.2rem;
    letter-spacing: 0.05em;
    line-height: 1.452;
    margin: 0 0 57px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    color: #29ABE3;
    text-align: center;
}

.p-serviceAirdown__merit {
    margin: 0 0 80px;
}

.p-serviceAirdown__merit h2 {
    font-size: 3.5rem;
    letter-spacing: 0.05em;
    line-height: 1.457;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    text-align: center;
    position: relative;
    z-index: 1;
    margin: 0 0 -26px;
}

.p-serviceAirdown__merit h2 span {
    background: linear-gradient(transparent 68%, #FFF100 50%);
}

.p-serviceAirdown__meritWrap {
    background-color: #FCE3EF;
    border-radius: 20px;
    padding: 103px 100px 83px;
    line-height: 1.457;
}

.p-serviceAirdown__meritWrap ul li {
    font-size: 2.8rem;
    letter-spacing: 0.05em;
    line-height: 1.429;
    padding: 30px 0;
    border-bottom: 1px dashed #E41D7A;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-serviceAirdown__meritWrap ul li span:before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 12px;
    background-image: url(images/service_airdown_merit_check.svg);
}

.p-serviceAirdown__flow ul {
    display: flex;
    flex-wrap: wrap;
}

.p-serviceAirdown__flow ul li {
    width: 22%;
    height: 183px;
    border-radius: 20px;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    text-align: center;
}

.p-serviceAirdown__flow ul li:not(:nth-child(4n+4)) {
    margin-right: 4%;
}

.p-serviceAirdown__flow ul li:nth-child(n+5) {
    margin-top: 92px;
}

.p-serviceAirdown__flow ul li h3 {
    font-size: 2.5rem;
    letter-spacing: 0.08em;
    line-height: 1.44;
    font-weight: bold;
}

.p-serviceAirdown__flowNum {
    font-size: 3.3rem;
    width: 75px;
    height: 75px;
    background-color: #00549C;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: -38px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: italic;
    letter-spacing: 0.12em;
    color: #fff;
}

.p-serviceAirdown__flowNum span {
    display: block;
    font-size: 1rem;
}

.p-serviceAirdown__flow h2 {
    font-size: 3.5rem;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    margin: 0 0 78px;
    color: #00549C;
    padding: 0 0 20px;
    border-bottom: 1px solid #00549C;
    text-align: center;
}

.p-serviceAirdown__flow h2 span {
    display: inline-block;
    margin: 0 20px 0 0;
}

.p-serviceAirdown__introImg img {
    border-radius: 20px;
}

@media screen and (max-width: 1200px) {
    .p-serviceAirdown__flow ul li h3 {
        font-size: 1.7vw;
    }

    .p-serviceAirdown__flow ul li {
        width: 23%;
        height: 160px;
    }

    .p-serviceAirdown__flow ul li:not(:nth-child(4n+4)) {
        margin-right: 2%;
    }

    .p-serviceAirdown__recommend {
        width: 100%;
    }


    .p-serviceAirdown__recommend h2 {
        font-size: 3.5rem;
    }

    .p-serviceAirdown__recommendWrap {
        padding: 124px 50px 60px;
    }
}

@media screen and (max-width: 1100px) {
    .p-serviceAirdown__recommend h2 {
        width: 100%;
        height: auto;
        padding: 15px 0 0;
    }

    .p-serviceAirdown__recommend h2:after {
        width: 100%;
        background-size: 100%;
        background-position: top;
    }
}

@media screen and (max-width: 820px) {
    .p-serviceAirdown__intro {
        align-items: flex-start;
    }

    .p-serviceAirdown__flow ul {
        justify-content: space-between;
    }

    .p-serviceAirdown__flow ul li {
        width: 48%;
    }

    .p-serviceAirdown__flow ul li:not(:nth-child(4n+4)) {
        margin-right: 0;
    }

    .p-serviceAirdown__flow ul li:nth-child(n+5) {
        margin-top: 0;
    }

    .p-serviceAirdown__flow ul li:nth-child(n+3) {
        margin-top: 55px;
    }

    .p-serviceAirdown__flow ul li h3 {
        font-size: 1.8rem;
    }

    .p-serviceAirdown__flow ul li {
        height: 140px;
    }

    .p-serviceAirdown__flowNum {
        font-size: 2.3rem;
        line-height: 1.2;
        width: 55px;
        height: 55px;
    }

    .p-serviceAirdown__flow h2 span {
        width: 100px;
    }

    .p-serviceAirdown__flow h2 span img {
        width: 100%;
    }

    .p-serviceAirdown__meritWrap {
        padding: 50px 20px 40px;
    }

    .p-serviceAirdown__meritWrap ul li {
        font-size: 2rem;
        padding: 20px 0;
    }

    .p-serviceAirdown__flow h2 {
        font-size: 2.5rem;
    }

    .p-serviceAirdown__merit {
        margin: 0 0 40px;
    }

    .p-serviceAirdown__merit h2 {
        font-size: 3.5vw;
    }

    .p-serviceAirdown__development {
        font-size: 3rem;
    }

    .p-serviceAirdown__recommend h2 {
        font-size: 3rem;
    }

    .p-serviceAirdown__recommendText {
        font-size: 2rem;
        padding: 25px 20px;
    }

    .p-serviceAirdown__recommendBox:not(:last-child) {
        margin: 0 0 20px;
    }

    .p-serviceAirdown__recommendWrap {
        padding: 110px 35px 60px;
    }

    .p-serviceAirdown__recommendText span:before {
        width: 20px;
        height: 20px;
        background-size: 100%;
    }

    .p-serviceAirdown__development h2 {
        font-size: 3rem;
        margin: 0 0 25px;
    }

    .p-serviceAirdown__meritWrap ul li span:before {
        background-size: 100%;
        width: 20px;
        height: 20px;
    }

    .p-serviceAirdown__development {
        margin: 0 0 40px;
    }
}

@media screen and (max-width: 590px) {
    .p-serviceAirdown__intro {
        flex-direction: column;
        margin: 0 0 40px;
    }

    .p-serviceAirdown__introImg {
        width: 100%;
        margin: 0 0 20px;
    }

    .p-serviceAirdown__introText {
        width: 100%;
    }

    .p-serviceAirdown__introText h2 {
        font-size: 2rem;
        margin: 0 0 20px;
    }

    .p-serviceAirdown__flow ul li {
        height: 100px;
        border-radius: 10px;
    }

    .p-serviceAirdown__flowNum {
        top: -30px;
    }

    .p-serviceAirdown__flow ul li:nth-child(n+3) {
        margin-top: 40px;
    }

    .p-serviceAirdown__development {
        font-size: 2rem;
    }

    .p-serviceAirdown__recommend h2 {
        font-size: 2rem;
    }

    .p-serviceAirdown__recommendBox {
        flex-direction: column;
    }

    .p-serviceAirdown__recommendText {
        width: 100%;
    }

    .p-serviceAirdown__recommendWrap {
        padding: 90px 20px 40px;
    }

    .p-serviceAirdown__recommendImg {
        width: 45%;
    }

    .p-serviceAirdown__recommendText:before {
        display: none;
    }

    .p-serviceAirdown__recommendBox:nth-of-type(even) {
        flex-direction: column;
    }

    .p-serviceAirdown__recommendText {
        font-size: 1.8rem;
    }

    .p-serviceAirdown__recommendImg {
        margin: 0 0 10px;
    }

    .p-serviceAirdown__recommendBox:not(:last-child) {
        margin: 0 0 30px;
    }

    .p-serviceAirdown__development h2 {
        font-size: 2rem;
    }

    .p-serviceAirdown__meritWrap ul li span:before {
        font-size: 1.4rem;
        padding: 10px 0;
    }

    .p-serviceAirdown__flow h2 {
        line-height: 1.3;
    }

    .p-serviceAirdown__flow h2 span {
        display: block;
        margin: 0 auto 5px;
    }
}

/*----- p-serviceReform -----*/

.p-serviceReform__intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.p-serviceReform__introImg {
    width: 44.2%;
}

.p-serviceReform__introText {
    width: 50%;
}

.p-serviceReform__introText h2 {
    font-size: 3rem;
    line-height: 1.467;
    margin: 0 0 40px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

@media screen and (max-width: 820px) {
    .p-serviceReform__intro {
        align-items: flex-start;
    }

    .p-serviceReform__introText h2 {
        font-size: 2.5rem;
        margin: 0 0 20px;
    }
}

@media screen and (max-width: 590px) {
    .p-serviceReform__intro {
        flex-direction: column;
    }

    .p-serviceReform__introImg {
        width: 100%;
        margin: 0 0 20px;
    }

    .p-serviceReform__introText {
        width: 100%;
    }

    .p-serviceReform__introText h2 {
        font-size: 2rem;
    }
}

/*----------------------------------------
	news
----------------------------------------*/

.p-catchNews .p-catchWrap {
    background-image: url(images/news_catch.jpg);
}

.post-type-archive-news .p-newsArchive__List a:before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 18px 18px;
    border-color: transparent transparent #29ABE3 transparent;
    position: absolute;
    bottom: 6px;
    right: 0;
}

/*----- archiveNews -----*/
.p-newsArchive {
    margin: 0 0 130px;
}

.p-newsArchive__text {
    display: flex;
    align-items: center;
}

.p-newsArchive__text h3 {
    font-size: 1.8rem;
    letter-spacing: 0.06em;
    line-height: 1.222;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-newsArchive__time {
    font-size: 1.5rem;
    color: rgba(0, 0, 0, 0.5);
    letter-spacing: 0.04em;
    margin: 0 50px 0 0;
}

.p-newsArchive__lists {
    border-top: 1px dotted #808080;
}

.p-newsArchive__List {
    border-bottom: 1px dotted #808080;
}

.p-newsArchive__List a {
    display: block;
    padding: 24px 0;
    position: relative;
}

.tax-news_category .p-newsArchive__lists {
    border-top: none;
}

.tax-news_category .p-newsArchive__List:nth-of-type(1) {
    border-top: 1px dashed rgba(0, 0, 0, 0.3);
}

@media screen and (max-width:820px) {
    .p-newsArchive {
        margin: 0 0 70px;
    }

    .p-newsArchive__List a {
        text-align: left;
        padding: 15px 0;
    }

    .p-newsArchive__text h3 {
        font-size: 1.6rem;
    }

    .p-newsArchive__time {
        font-size: 1.3rem;
        margin: 0 0 6px 0;
    }

    .p-newsArchive__text {
        flex-direction: column;
        align-items: flex-start;
    }

    .p-newsArchive__text h3 {
        width: 100%;
    }
}

@media screen and (max-width:590px) {
    .p-newsArchive__text h3 {
        font-size: 1.4rem;
    }

    .p-newsArchive__time {
        font-size: 1rem;
    }

    .p-newsArchive__List a {
        padding: 10px 0;
    }

    .post-type-archive-news .p-newsArchive__List a:before {
        border-width: 0 0 14px 14px;
        bottom: 4px;
    }
}

/*----- singleNews -----*/

.single-info__time {
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    color: rgba(0, 0, 0, 0.53);
}

.single-news__title {
    font-size: 3.7rem;
    line-height: 1.486;
    letter-spacing: 0.08em;
    font-weight: bold;
    margin: 6px 0 60px;
    padding-bottom: 25px;
    border-width: 5px;
    border-bottom: 5px dotted #29ABE3;
}

.single-news__text {
    margin: 0 0 120px;
}

.single-news__text pre {
    white-space: pre-wrap;
}

.single-all__button {
    width: 100%;
    text-align: center;
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    font-weight: bold;
}

.single-all__button:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 46px;
    height: 46px;
    background-image: url(images/single_all_arrow.svg);
    margin: 0 20px 0 0;
    background-repeat: no-repeat;
}

.single-news {
    margin: 0 0 130px;
}

.single-news__box {
    width: 1000px;
    margin: 0 auto;
}

.single-news__wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.single-news .c-button {
    margin: auto;
}

.single-news__img {
    margin: 0 0 40px;
}

.single-news__img img {
    width: 100%;
    max-height: 618px;
}

@media screen and (max-width:820px) {
    .single-news {
        margin: 0 0 60px;
    }

    .single-news__title {
        font-size: 3.2rem;
        border-bottom: 3px dotted #29ABE3;
    }

    .single-news__text {
        margin: 0 0 50px;
    }

    .single-info__time {
        font-size: 1.3rem;
    }
}

@media screen and (max-width:590px) {
    .single-news__title {
        font-size: 2.2rem;
        margin: 6px 0 30px;
        padding-bottom: 15px;
    }

}

/*----------------------------------------
	shop
----------------------------------------*/

.p-catchShop .p-catchWrap {
    background-image: url(images/shop_catch.jpg);
}

.post-type-archive-shop .p-catch,
.tax-shop_category .p-catch {
    margin: 0 auto;
}

.post-type-archive-shop .p-catch:after,
.tax-shop_category .p-catch:after {
    content: "";
    width: 100%;
    height: 260px;
    background-color: #F0F6FA;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.post-type-archive-shop .p-bottomContact:before,
.tax-shop_category .p-bottomContact:before {
    background-image: url(images/bottom_contact_deco02.svg);
}

.p-shopArchive {
    background-color: #F0F6FA;
    padding: 120px 0 130px;
}

/*----- archiveShop -----*/

.p-shopArchive__categoryTitle {
    font-size: 5.3rem;
    letter-spacing: 0.06em;
    color: #00549C;
    margin: 0 0 60px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    text-align: center;
}

.p-shopArchive__lists {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.p-shopArchive__list {
    width: 30.8%;
    display: flex;
    flex-direction: column;
    background-color: #fff;
    padding: 28px 27px 68px;
    border-radius: 10px;
}

.p-shopArchive__list a {
    display: block;
}

.p-shopArchive__list:not(:nth-child(3n+3)) {
    margin-right: 3.8%;
}

.p-shopArchive__list:nth-child(n+4) {
    margin-top: 70px;
}

.p-shopArchive__img {
    width: 100%;
    margin: 0 0 30px;
}

.p-shopArchive__img img {
    width: 100%;
    height: 223px;
    object-fit: cover;
}

.p-shopArchive__text {
    flex: 1;
}

.p-shopArchive__text h2 {
    font-size: 3rem;
    letter-spacing: 0.06em;
    margin: 0 0 30px;
    font-weight: bold;
}

.p-shopArchive__text table {
    display: block;
}

.p-shopArchive__text tbody {
    display: block;
}

.p-shopArchive__text table tr {
    display: flex;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px dashed #707070;
}

.p-shopArchive__text table tr:nth-of-type(1) {
    padding-top: 0;
}

.p-shopArchive__text table tr th {
    width: 28.6%;
    display: block;
    color: #29ABE3;
    font-size: 1.6rem;
    font-weight: bold;
}

.p-shopArchive__text table tr td.attention {
    font-size: 1.5rem;
    color: #29ABE3;
    font-weight: bold;
}

.p-shopArchive__text table tr td.attention_close {
    width: 100%;
    font-size: 1.3rem;
    color: #ff0000;
    font-weight: bold;
}


.p-shopArchive__text table tr td.attention_close span {
    display: block;
    width: 100%;
    font-size: 1.4rem;
    text-align: center;
    background-color: #ff0000;
    color: #fff;
    font-weight: bold;
    margin: 0 0 5px;
    padding: 3px 5px;
}


.p-shopArchive__text table tr td {
    width: 71.4%;
    font-size: 1.4rem;
    letter-spacing: 0.06em;
    line-height: 1.429;
}

.p-shopArchive__searchWrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.p-shopArchive__searchWrap {
    background-color: #fff;
    border-radius: 20px;
    margin: 0 0 100px;
    padding: 46px 52px 46px 0;
}

.p-shopArchive__searchWrap h2 {
    font-size: 2.2rem;
    border-radius: 0 100px 100px 0;
    background-color: #00549C;
    padding: 12px 18px;
    color: #fff;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
}

.p-shopArchive__searchWrap h2 span {
    display: flex;
    align-items: center;
}

.p-shopArchive__searchWrap h2 span:before {
    content: "";
    display: inline-block;
    width: 29px;
    height: 29px;
    background-image: url(images/shop_archive_search_icon.svg);
    vertical-align: middle;
    margin: 0 10px 0 0;
}

.p-shopArchive__searchLists li {
    width: 152px;
    height: 46px;
}

.p-shopArchive__searchLists li:not(:nth-child(5n+5)) {
    margin-right: 0.8%;
}

.p-shopArchive__searchLists li:nth-child(n+6) {
    margin-top: 14px;
}

.p-shopArchive__searchLists li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border: 1px solid #0087BE;
    color: #0087BE;
    border-radius: 100px;
    background-color: #fff;
    position: relative;
    z-index: 1;
}

.p-shopArchive__searchLists {
    width: 68.4%;
    display: flex;
    flex-wrap: wrap;
}

.p-shopArchive .text.center {
    width: 100%;
}

.p-archiveShop__line {
    margin: 20px 0 0;
}

.p-archiveShop__line a {
    display: block;
    color: #fff;
    padding: 10px 15px;
    font-size: 1.5rem;
    font-weight: bold;
    border-radius: 100px;
    background-color: #06C755;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.05em;
    position: relative;
}

.p-archiveShop__line a span {
    display: flex;
    align-items: center;
    justify-content: center;
}

.p-archiveShop__line a span:before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 24px;
    background-image: url(images/line_icon.svg);
    background-size: 100%;
    margin: 0 10px 0 0;
}

@media screen and (max-width: 1300px) {
    .p-shopArchive__searchLists {
        width: 62%;
    }

    .p-shopArchive__searchLists li:not(:nth-child(5n+5)) {
        margin-right: 0;
    }

    .p-shopArchive__searchLists li:not(:nth-child(3n+3)) {
        margin-right: 1.5%;
    }

    .p-shopArchive__searchLists li:nth-child(n+6) {
        margin-top: 0;
    }

    .p-shopArchive__searchLists li:nth-child(n+4) {
        margin-top: 15px;
    }

    .p-shopArchive__searchWrap h2 {
        font-size: 2vw;
    }

    .p-shopArchive__searchWrap {
        padding: 30px 10px 30px 0;
    }

    .p-shopArchive__text h2 {
        font-size: 2.5vw;
        margin: 0 0 15px;
    }

    .p-shopArchive__categoryTitle {
        font-size: 4.3rem;
    }
}


@media screen and (max-width: 1200px) {
    .p-shopArchive__text table tr th {
        font-size: 1.3vw;
    }

    .p-shopArchive__img img {
        height: 160px;
    }
}

@media screen and (max-width: 1000px) {
    .p-shopArchive__searchLists li {
        width: 135px;
    }

    .p-shopArchive__img img {
        height: 150px;
    }

    .p-shopArchive__list:nth-child(n+4) {
        margin-top: 50px;
    }
}

@media screen and (max-width: 820px) {
    .p-shopArchive {
        padding: 60px 0 70px;
    }

    .p-shopArchive__list:not(:nth-child(3n+3)) {
        margin-right: 0;
    }

    .p-shopArchive__lists {
        justify-content: space-between;
    }

    .p-shopArchive__list {
        width: 48%;
        display: grid;
        padding: 20px 18px 45px;
    }

    .p-shopArchive__text h2 {
        font-size: 2rem;
    }

    .p-shopArchive__text table tr {
        padding: 10px 0;
    }

    .p-shopArchive__text table tr th {
        font-size: 1.4rem;
    }

    .p-shopArchive__list:nth-child(n+4) {
        margin-top: 0;
    }

    .p-shopArchive__list:nth-child(n+3) {
        margin-top: 30px;
    }

    .p-shopArchive__searchWrap {
        flex-direction: column;
    }

    .p-shopArchive__searchWrap h2 {
        font-size: 2rem;
    }

    .p-shopArchive__searchLists {
        width: 95%;
    }

    .p-shopArchive__searchWrap h2 {
        margin-right: auto;
        margin-bottom: 20px;
    }

    .p-shopArchive__searchLists {
        justify-content: center;
    }

    .p-shopArchive__searchLists li {
        width: 32%;
    }

    .p-shopArchive__categoryTitle {
        font-size: 3rem;
        margin: 0 0 30px;
    }

    .p-shopArchive__searchWrap {
        margin: 0 0 50px;
    }
}

@media screen and (max-width: 590px) {
    .p-shopArchive__searchLists li a {
        font-size: 3.6vw;
    }

    .p-shopArchive__searchLists li {
        height: 38px;
    }

    .p-shopArchive__list {
        width: 100%;
    }

    .p-shopArchive__list:nth-child(n+3) {
        margin-top: 0;
    }

    .p-shopArchive__list:nth-child(n+2) {
        margin-top: 30px;
    }

    .p-shopArchive__img img {
        height: 200px;
    }

    .p-shopArchive__categoryTitle {
        font-size: 2.2rem;
        margin: 0 0 30px;
    }

    .p-shopArchive__searchWrap h2 {
        padding: 10px 12px;
    }

    .p-shopArchive__searchWrap h2 span:before {
        width: 20px;
        height: 20px;
        background-size: 100%;
    }
}

@media screen and (max-width: 460px) {
    .p-shopArchive__searchLists li a {
        font-size: 3.8vw;
    }

    .p-shopArchive__img img {
        height: 170px;
    }
}

/*----- singleShop -----*/

.p-singleShop {
    margin: 0 0 130px;
}

.acf-map {
    width: 100%;
    height: 500px;
}

.acf-map img {
    max-width: inherit !important;
}

.p-singleShop__img {
    width: 100%;
    margin: 0 0 70px;
}

.p-singleShop__img img {
    width: 100%;
    height: 711px;
    object-fit: cover;
}

.p-singleShop__text {
    border-radius: 20px;
    background-color: #F0F6FA;
    margin: 0 0 50px;
    padding: 50px 60px;
}

.p-singleShop__text table {
    display: block;
}

.p-singleShop__text tbody {
    display: block;
}

.p-singleShop__text table tr {
    display: flex;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px dashed #707070;
}

.p-singleShop__text table tr:nth-of-type(1) {
    padding-top: 0;
}

.p-singleShop__text table tr th {
    width: 200px;
    display: block;
    color: #29ABE3;
    font-size: 1.6rem;
    line-height: 1.3;
    font-weight: bold;
    text-align: left;
}

.p-singleShop__text table tr td {
    width: 70%;
    font-size: 1.4rem;
    letter-spacing: 0.06em;
    line-height: 1.429;
    text-align: left;
}

.p-singleShop__text table tr td.attention {
    color: #ff0000;
}

.p-singleShop__titleWrap {
    display: flex;
    align-items: center;
    justify-content: center;
}

.p-singleShop__titleBox {
    margin: 0 0 70px;
}

.p-singleShop__titleBox:after {
    content: "";
    display: block;
    width: 102px;
    height: 5px;
    background-color: #29ABE3;
    margin: 30px auto 0;
}

.p-singleShop__titleWrap span {
    font-size: 3rem;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-singleShop__titlename {
    text-align: center;
}

.p-singleShop__titleArea {
    display: flex;
    justify-content: center;
    flex-direction: row-reverse;
}

.p-singleShop__title {
    font-size: 4rem;
    letter-spacing: 0.06em;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    line-height: 1.5;
}

.p-singleShop__box {
    text-align: center;
}

.p-singleShop__titlename {
    font-size: 3rem;
    letter-spacing: 0.06em;
    margin: 0 0 5px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-singleShop__robot {
    margin: 0 0 120px;         
    padding: 48px 0 56px;
    background: #f7f7f7;
    text-align: center;
}

.p-singleShop__robot .c-pageTitle {
    margin-bottom: 24px;
}

.p-singleShop__robotNote {
    font-size: 1.6rem;
    color: #555;
    margin-bottom: 24px;
    line-height: 1.6;
}

.p-singleShop__robotVideo {
    width: 100%;
    max-width: 420px;          
    aspect-ratio: 9 / 16;
    height: auto;
    display: block;
    margin: 0 auto;
    border-radius: 12px;
    background: #000;          
    box-shadow: 0 12px 30px rgba(0,0,0,.15);
}

.p-singleShop__line {
    width: 100%;
    margin: 0 auto 120px;
}

.p-singleShop__line li a {
    display: block;
    color: #fff;
    padding: 20px 30px;
    font-size: 2.5rem;
    font-weight: bold;
    border-radius: 100px;
    background-color: #06C755;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.05em;
    position: relative;
}

.p-singleShop__line li a span {
    display: flex;
    align-items: center;
    justify-content: center;
}

.p-singleShop__line li a span:before {
    content: "";
    display: inline-block;
    width: 55px;
    height: 52px;
    background-image: url(images/line_icon.svg);
    margin: 0 10px 0 0;
}

.p-singleShop__line li a:after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background-color: #fff;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    transition: all 0.4s;
}

@media screen and (max-width: 1024px) {
    .p-singleShop__robot {
        padding: 40px 0 48px;
    }

    .p-singleShop__robotVideo {
        max-width: 380px;
    }
}

@media screen and (max-width: 820px) {
    .p-singleShop__titleBox:after {
        margin: 15px auto 0;
        width: 70px;
        height: 3px;
    }

    .p-singleShop__titlename {
        font-size: 2rem;
    }

    .p-singleShop__title {
        font-size: 3rem;
    }

    .p-singleShop__titleArea {
        font-size: 2.4rem;
    }

    .p-singleShop__titleWrap span {
        font-size: 2.5rem;
    }

    .p-singleShop__titleBox {
        margin: 0 0 30px;
    }

    .p-singleShop__img {
        margin: 0 0 20px;
    }

    .p-singleShop__img img {
        height: auto;
    }

    .p-singleShop__text {
        border-radius: 15px;
        padding: 30px 25px;
    }

    .p-singleShop__text table tr {
        padding: 10px 0;
    }

    .p-singleShop__text {
        margin: 0 0 70px;
    }

    .p-singleShop {
        margin: 0 0 70px;
    }

    .acf-map {
        height: 400px;
    }

    .p-singleShop__line {
        margin: 0 auto 70px;
    }
    
    .p-singleShop__robot {
        margin: 0 0 60px;
        padding: 32px 16px 40px;
    }

    .p-singleShop__robotNote {
        font-size: 1.4rem;
        margin-bottom: 20px;
    }

    .p-singleShop__robotVideo {
        max-width: 100%;        
        border-radius: 10px;
    }
}

@media screen and (max-width: 590px) {
    .p-singleShop__titleBox:after {
        width: 50px;
        height: 3px;
    }

    .p-singleShop__titlename {
        font-size: 1.8rem;
    }

    .p-singleShop__title {
        font-size: 2.2rem;
    }

    .p-singleShop__titleArea {
        font-size: 1.8rem;
    }

    .p-singleShop__titleWrap span {
        font-size: 1.8rem;
    }

    .acf-map {
        height: 300px;
    }

    .p-singleShop__robot span {
        font-size: 1.4rem;
    }

    .p-singleShop__line li a {
        font-size: 3.7vw;
        padding: 14px 20px;
    }

    .p-singleShop__line li a span:before {
        background-size: 100%;
        width: 40px;
        height: 38px;
    }

    .p-singleShop__line li a:after {
        width: 8px;
        height: 8px;
    }

    .p-singleShop__text {
        margin: 0 0 20px;
        padding: 20px;
    }

    .p-singleShop__text table tr {
        flex-direction: column;
    }

    .p-singleShop__text table tr th {
        width: 100%;
        margin: 0 0 10px;
    }

    .p-singleShop__text table tr td {
        width: 100%;
    }
}

/*----------------------------------------
	contact
----------------------------------------*/

.p-contact {
    margin: 0 0 130px;
}

.p-contactTel {
    margin: 0 0 130px;
}

.p-contactTel h3 {
    font-size: 2.5rem;
    letter-spacing: 0.08em;
    font-weight: bold;
    margin: 0 0 60px;
    line-height: 1.48;
    text-align: center;
}

.p-contact {
    margin: 0 0 150px;
}

.p-contactTel__button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 110px;
    background-color: #29ABE3;
    color: #fff;
    border-radius: 100px;
    font-size: 2.2rem;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-contactTel__button span {
    display: flex;
    align-items: center;
}

.p-contactTel__button span:before {
    display: inline-block;
    width: 32px;
    height: 32px;
    background-image: url(images/contact_search_icon.svg);
    margin: 0 18px 0 0;
}

.p-contactTel__button span:before {
    content: "";
    display: inline-block;
}

.contact_address_wrap input {
    width: 100%;
    border: none;
    height: 40px;
    padding: 0 0 0 10px;
    background-color: #fff;
    font-size: 1.6rem;
    border: 1px solid rgba(112, 112, 112, 0.3) !important;
}

.contact_address_box:not(:last-child) {
    margin: 0 0 13px;
}

.contact_address_box:nth-of-type(1) input {
    width: 45.6%;
    margin: 0 0 20px;
}

.contact_address_box:nth-of-type(2) input {
    width: 26%;
}

.contact_address_box:nth-of-type(n+3) input {
    width: 60%;
}

.contact_address_box span {
    display: inline-block;
    width: 74px;
}

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

.p-contact__form {
    position: relative;
    padding: 130px 0 0;
}

.p-contact__form:before {
    content: "";
    background-color: #F0F9F8;
    width: 100%;
    height: 436px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
}

.contact_mail {
    padding: 110px 0;
    background-color: #F7F7F7;
}

.contact_text {
    line-height: 2;
    padding: 70px 0;
}

.contact_time_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 60px;
    font-size: 1.6rem;
}

.contact_time_title {
    display: inline-block;
    background-color: #2da266;
    color: #fff;
    padding: 7px 14px;
    margin-right: 10px;
}

.page_contact_subtitle {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}

.table_contact_wrap {
    display: block;
    width: 1000px;
    margin: auto;
    padding: 80px 65px 110px;
    background-color: #F0F6FA;
    border-radius: 12px;
    border: 1px solid rgba(41, 171, 227, 0.3);
}

.table_contact {
    width: 100%;
    display: block;
}

.table_contact th {
    color: #333333;
    width: 24.5%;
    padding: 20px 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 1.8rem;
    line-height: 1.722;
    text-align: left;
}

.contact_address_wrap div:first-child {
    margin: 0 0 20px;
}

.table_contact tbody {
    display: block;
}

.table_contact td {
    padding: 20px;
    width: 75.5%;
    vertical-align: middle;
}

.table_contact td input.text {
    width: 100%;
    border: none;
    height: 40px;
    padding: 0 0 0 10px;
    background-color: #fff;
    font-size: 1.6rem;
    border: 1px solid rgba(112, 112, 112, 0.3);
}

.table_contact td input.text.addr {
    width: 85%;
}

.table_contact td span {
    margin: 0 20px 0 0;
}

.table_contact td span:last-of-type {
    font-weight: bold;
    margin: 0 0 15px;
}

.table_contact td textarea {
    width: 100%;
    border: none;
    height: 220px;
    padding: 20px 0 0 20px;
    background-color: #fff;
    border: 1px solid rgba(112, 112, 112, 0.3);
    border-radius: 3px;
    font-size: 1.6rem;
}

::placeholder {
    color: #9D9D9D;
}

.table_contact tr {
    display: flex;
    border-bottom: 1px solid #DDDDDD;
    width: 100%;
}

.table_contact tr:first-child {
    border-top: 1px solid #DDDDDD;
}

.required {
    display: inline-block;
    background-color: #29ABE3;
    color: #fff;
    margin-left: 20px;
    padding: 1px 3px;
    font-weight: normal;
    letter-spacing: 0.06em;
    font-size: 1.1rem;
    border-radius: 2px;
}

.contact_button {
    width: 397px;
    height: 66px;
    margin: 70px auto 0;
    position: relative;
}

.contact_button input {
    background: none;
    border: none !important;
    border-radius: 3px;
    background-color: #29ABE3 !important;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.07em;
    color: #fff;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
}

.mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0;
}

.table_radio_wrap {
    display: flex;
}

.mwform-radio-field:last-child {
    margin: 0;
}

.agree_check {
    margin-bottom: 60px;
    color: #2B3A3F;
}

.agree_check a {
    color: #5BA560;
}

.mwform-checkbox-field {
    margin: 0 40px 0 0;
}

.agree_check .mwform-checkbox-field {
    margin: 0;
}

.mw_wp_form_confirm .required,
.mw_wp_form_confirm .option,
.mw_wp_form_confirm .agree_check,
.mw_wp_form_confirm .table_contact td span {
    display: none;
}

.selectbox {
    width: 320px;
    height: 40px;
    background-color: #EDEDED;
    border: 1px solid #DDDDDD;
    padding: 0 20px;
    border: none;
}

input::placeholder {
    color: #A0A0A0;
}

input[type="text"] {
    border: none;
}

input[type="text"]:focus {
    border: 1px solid #004DA0;
    outline: 0;
}

input::placeholder {
    color: #CECDCD;
}

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

.table_radio_wrap span:not(:last-child) {
    margin: 0 0 15px;
}

@media screen and (max-width: 1000px) {
    .table_contact_wrap {
        width: 100%;
        padding: 50px 40px 80px;
    }

    .table_contact td input.text {
        width: 80%;
    }

    .table_contact th {
        width: 37%;
    }

    .table_contact td {
        width: 63%;
    }

    .table_radio_wrap {
        flex-direction: column;
        line-height: 2;
    }
}

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

    .p-contact {
        margin: 0 0 70px;
    }

    .table_contact tr:nth-of-type(1) td {
        display: flex;
        flex-direction: column;
        line-height: 2;
    }

    .mw_wp_form .bg01 {
        margin: 0 0 40px;
    }

    .contact_text {
        padding: 40px 0;
    }

    .table_contact tr {
        flex-direction: column;
        padding: 20px 0;
    }

    .table_contact th {
        width: 100%;
        font-size: 1.6rem;
        justify-content: flex-start;
        margin: 0 0 15px;
        padding: 0;
    }

    .table_contact td {
        width: 100%;
        padding: 0;
    }

    .mw_wp_form .bg01 {
        padding: 40px 0;
    }

    .table_contact td input.text {
        width: 60%;
        height: 35px;
    }

    .table_contact td input.text.addr {
        width: 85%;
    }

    .selectbox {
        width: 240px;
        height: 35px;
    }

    .contact_time_wrap {
        margin: 0 0 30px;
    }

    .agree_check {
        line-height: 1.75;
        margin-bottom: 30px;
    }

    .contact_time_wrap {
        font-size: 1.4rem;
    }

    .contact_button {
        width: 230px;
        height: 45px;
        margin: 30px auto 0;
    }

    .contact_button::before {
        left: 50px;
    }

    .contact_mail {
        padding: 60px 0;
    }

    .table_radio_wrap span:not(:last-child) {
        font-size: 1.4rem;
        margin: 0 0 8px;
    }

    .p-contact__form {
        padding: 70px 0 0;
    }

    .p-contactTel {
        margin: 0 0 60px;
    }

    .p-contactTel h3 {
        font-size: 2rem;
        margin: 0 0 30px;
    }
}

@media screen and (max-width: 820px) {
    .p-contactTel__button {
        height: 75px;
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 590px) {
    .table_contact_wrap {
        padding: 50px 20px 80px;
    }

    .table_contact td input.text {
        width: 100%;
        height: 45px;
        font-size: 1.5rem;
    }

    .p-contactTel h3 {
        font-size: 1.5rem;
    }

    .p-contactTel__button {
        height: 55px;
        font-size: 1.5rem;
    }

    .p-contactTel__button span:before {
        background-size: 100%;
        width: 26px;
        height: 26px;
    }

    .contact_address_box:nth-of-type(1) input {
        width: 220px;
    }
}


/*----------------------------------------
	page_common
----------------------------------------*/

.p-catch {
    position: relative;
    width: 100%;
    margin: 0 auto 130px;
}

.p-catchWrap {
    width: 94.7%;
    height: 520px;
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 50px;
    margin: 0 auto;
}

.p-catchWrap:before {
    content: "";
    background-image: url(images/header_logo_bottom.svg);
    background-repeat: no-repeat;
    width: 50px;
    height: 50px;
    position: absolute;
    top: 44px;
    left: 0;
}

.p-catch__textWrap {
    display: flex;
    flex-direction: column-reverse;
    position: absolute;
    top: 50%;
    left: 6.5%;
    transform: translateY(-50%);
    z-index: 1;
}

.p-catch__jp {
    font-size: 4rem;
    letter-spacing: 0.07em;
    color: #fff;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    line-height: 1.45;
}

.p-catch__en {
    font-size: 10.2rem;
    letter-spacing: 0.11em;
    color: #fff;
    margin: 0 0 7px;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: italic;
    line-height: 1.206;
}

.breadcrumbs {
    position: absolute;
    bottom: 20px;
    left: 6.5%;
    color: #fff;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
}

.breadcrumbs span {
    color: #fff;
}

.breadcrumbs a {
    color: #fff;
}

.breadcrumbs a.home,
.breadcrumbs a.post-page {
    padding: 0 0 1px;
    border-bottom: 1px solid #fff;
}

.c-sectionBlock {
    margin: 0 0 120px;
}

.c-pageTitle {
    margin: 0 0 50px;
    text-align: center;
    display: flex;
    flex-direction: column-reverse;
}

.c-pageTitle h2 {
    font-size: 4.2rem;
    letter-spacing: 0.05em;
    line-height: 1.452;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.c-pageTitle p {
    font-size: 2.8rem;
    letter-spacing: 0.2em;
    line-height: 1.214;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: italic;
    color: #29ABE3;
}

@media screen and (max-width:1500px) {
    .p-catch {
        margin: 0 0 90px;
    }

    .p-catchWrap:before {
        top: 27px;
    }

    .p-catchWrap {
        height: 350px;
    }

    .p-catch__en {
        font-size: 8.2rem;
    }

    .p-catch__jp {
        font-size: 3rem;
    }
}

@media screen and (max-width:1300px) {
    .p-catchWrap:before {
        top: 14px;
    }
}

@media screen and (max-width:1024px) {
    .p-catchWrap {
        height: 400px;
    }

    .p-catchWrap:before {
        top: 25px;
    }
}

@media screen and (max-width:820px) {
    .p-catch {
        margin: 0 auto 70px;
    }

    .p-catchWrap {
        height: 280px;
        border-radius: 25px;
    }

    .p-catch__en {
        font-size: 6.2rem;
    }

    .p-catch__jp {
        font-size: 2.4rem;
    }

    .breadcrumbs {
        font-size: 1.4rem;
        bottom: 11px;
    }

    .p-catchWrap:before {
        width: 35px;
        height: 35px;
        background-size: 100%;
    }

    .c-pageTitle {
        margin: 0 0 35px;
    }

    .c-pageTitle h2 {
        font-size: 3.2rem;
    }

    .c-pageTitle p {
        font-size: 2.2rem;
    }
}

@media screen and (max-width:590px) {
    .p-catch {
        margin: 0 auto 60px;
    }

    .p-catch__en {
        font-size: 3.8rem;
        margin: 0;
    }

    .p-catch__jp {
        font-size: 1.8rem;
    }

    .p-catchWrap {
        border-radius: 18px;
        height: 180px;
    }

    .p-catchWrap:before {
        width: 30px;
        height: 30px;
        top: 13px;
    }

    .breadcrumbs {
        line-height: 1.6;
        font-size: 1rem;
        bottom: 5px;
    }

    .c-pageTitle {
        margin: 0 0 20px;
    }

    .c-pageTitle h2 {
        font-size: 2.2rem;
    }

    .c-pageTitle p {
        font-size: 1.6rem;
    }
}

/*----------------------------------------
    delivery
----------------------------------------*/

.p-deliveryIntro {
    width: 94.7%;
    background-image: url(images/delivery_intro.png);
    background-size: cover;
    margin: 0 auto;
    padding: 130px 0 202px;
    border-radius: 50px;
}

.p-deliveryIntro__title {
    margin: 0 0 54px;
    text-align: center;
}

.p-deliveryIntro__title p {
    font-size: 10.2rem;
    letter-spacing: 0.11em;
    color: #fff;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: italic;
    margin: 0 0 7px;
}

.p-deliveryIntro__title h2 {
    font-size: 4rem;
    letter-spacing: 0.07em;
    line-height: 1.429;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    color: #fff;
}

.p-deliveryPoint ul {
    display: flex;
    justify-content: space-between;
    margin: -142px 0 80px;
}

.p-deliveryPoint ul li {
    width: 283px;
    height: 283px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 2.8rem;
    letter-spacing: 0.07em;
    line-height: 1.429;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    text-align: center;
}

.p-deliveryPoint ul li:nth-of-type(1) {
    background-color: #00549C;
}

.p-deliveryPoint ul li:nth-of-type(2) {
    background-color: #0087BE;
}

.p-deliveryPoint ul li:nth-of-type(3) {
    background-color: #2DABE2;
}

.p-deliveryPoint ul li:nth-of-type(4) {
    background-color: #70B2CE;
}

.p-deliveryIntro__boxSub {
    text-align: center;
    margin: 0 0 -40px;
}

.p-deliveryIntro__boxSub span {
    display: inline-block;
    background-color: #7BC6E6;
    padding: 15px 44px;
    position: relative;
    z-index: 1;
}

.p-deliveryWrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 100px;
}

.p-deliveryIntro__box {
    border: 1px solid #fff;
    border-radius: 20px;
    padding: 50px 0;
    text-align: center;
    position: relative;
}

.p-deliveryIntro__box:before {
    content: "";
    background-image: url(images/delivery_intro_illust.svg);
    background-repeat: no-repeat;
    width: 191px;
    height: 103px;
    position: absolute;
    right: -56px;
    bottom: 0;
}

.p-deliveryIntro__box h3 {
    font-size: 4.2rem;
    letter-spacing: 0.07em;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    color: #fff;
    line-height: 1.452;
}

.p-deliveryImg {
    width: 44.2%;
    border-radius: 20px;
}

.p-deliveryImg img {
    border-radius: 20px;
}

.p-deliveryText {
    width: 50%;
}

.p-deliveryText h2 {
    font-size: 3rem;
    letter-spacing: 0.05em;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    margin: 0 0 40px;
    line-height: 1.467;
}

.p-deliveryText .c-text:not(:last-child) {
    margin: 0 0 35px;
}

.p-deliveryAttention {
    font-size: 1.6rem;
    margin: 45px 0 0;
}

.p-deliveryAttention span {
    color: #00549C;
}

.p-deliveryMap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0 0 120px;
}

.p-deliveryMap__text {
    width: 35.2%;
}

.p-deliveryMap__text h2 {
    font-size: 3.5rem;
    letter-spacing: 0.05em;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    background-color: #00549C;
    margin: 0 0 45px;
    padding: 14px 0 14px 30px;
    border-radius: 0 100px 100px 0;
    line-height: 1.457;
    color: #fff;
}

.p-deliveryMap__text ul {
    display: flex;
    flex-wrap: wrap;
}

.p-deliveryMap__text ul li {
    font-size: 2.8rem;
    letter-spacing: 0.05em;
    font-weight: bold;
    width: 44.8%;
}

.p-deliveryMap__text ul li:nth-child(n+3) {
    margin: 24px 0 0;
}

.p-deliveryMap__text ul li:before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background-color: #00549C;
    border-radius: 50%;
    vertical-align: middle;
    margin: 0 20px 0 0;
}

.p-deliveryMap__img {
    width: 59.2%;
}

.p-deliveryMap__img img {
    border-radius: 20px;
    border: 1px solid #00549C;
}

.p-deliveryFlow {
    margin: 0 0 96px;
}

.p-deliveryFlow h2 {
    font-size: 3.5rem;
    text-align: center;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    border-bottom: 2px solid #00549C;
    margin: 0 0 78px;
    padding: 0 0 30px;
    text-align: center;
    color: #00549C;
}

.p-deliveryFlow ul {
    display: flex;
    justify-content: center;
}

.p-deliveryFlow ul li {
    width: 25.8%;
    background-color: #F0F6FA;
    border-radius: 20px;
    margin-right: 4.4%;
    height: 182px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.p-deliveryFlow ul li h3 {
    text-align: center;
    font-size: 2.4rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
}

.p-deliveryFlow__num {
    font-size: 3.3rem;
    width: 75px;
    height: 75px;
    background-color: #00549C;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: -38px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: italic;
    letter-spacing: 0.12em;
    color: #fff;
}

.p-deliveryFlow__num span {
    display: block;
    font-size: 1rem;
}

.p-deliveryContact__wrap {
    position: relative;
    background-color: #F0F6FA;
    border-radius: 20px;
    padding: 66px 0;
}

.p-deliveryContact__wrap {
    display: flex;
    justify-content: center;
    margin: 0 0 150px;
}

.p-deliveryContact__box {
    position: relative;
}

.p-deliveryContact__box:first-child {
    padding: 0 60px 0 0;
}

.p-deliveryContact__box:last-child {
    padding: 0 0 0 60px;
}

.p-deliveryContact__number {
    font-size: 4.4rem;
    font-weight: bold;
    letter-spacing: 0.08em;
    line-height: 1.477;
}

.p-deliveryContact__number:before {
    content: "";
    display: inline-block;
    width: 48px;
    height: 48px;
    margin: 0 20px 0 0;
    background-image: url(images/contact_tel_icon.svg);
    background-repeat: no-repeat;
}

.p-deliveryContact__time {
    font-size: 1.6rem;
    letter-spacing: 0.08em;
    font-weight: bold;
    line-height: 1.563;
    text-align: center;
    margin: 6px 0 0;
}

.p-deliveryContact__box h2 {
    font-size: 3rem;
    letter-spacing: 0.08em;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    margin: 0 0 34px;
}

.p-deliveryContact__box:first-child:after {
    content: "";
    display: inline-block;
    background-color: #29ABE3;
    width: 1px;
    height: 202px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.p-deliveryContact__box .c-button {
    width: 300px;
    height: 56px;
    margin: 0 auto;
}

.p-deliveryContact__box .c-button span:before {
    content: "";
    display: inline-block;
    width: 26px;
    height: 19px;
    background-image: url(images/contact_form_icon.svg);
    vertical-align: middle;
    margin: 0 10px 0 0;
}

.p-deliveryContact__box:last-child .p-deliveryContact__time {
    margin: 15px 0 0;
}

@media screen and (max-width:1300px) {
    .p-deliveryIntro__box h3 {
        font-size: 3vw;
    }

    .p-deliveryIntro__box:before {
        width: 130px;
        height: 70px;
        background-size: 100%;
    }
}

@media screen and (max-width:1200px) {
    .p-deliveryPoint ul li {
        width: 200px;
        height: 200px;
        font-size: 2.2rem;
    }

    .p-deliveryPoint ul {
        justify-content: center;
    }

    .p-deliveryPoint ul li:not(:nth-child(4n+4)) {
        margin-right: 1.4%;
    }

    .p-deliveryFlow ul li h3 {
        font-size: 1.8vw;
    }
}

@media screen and (max-width:820px) {
    .p-deliveryIntro__title p {
        font-size: 6.2rem;
    }

    .p-deliveryIntro__title h2 {
        font-size: 3rem;
    }

    .p-deliveryPoint ul {
        width: 450px;
        flex-wrap: wrap;
        margin: 0 auto;
    }

    .p-deliveryPoint ul {
        margin: -140px auto 0;
    }

    .p-deliveryWrap {
        align-items: flex-start;
    }

    .p-deliveryIntro {
        padding: 90px 0 180px;
    }

    .p-deliveryIntro__box:before {
        right: -20px;
        bottom: -30px;
    }

    .p-deliveryIntro__box h3 {
        font-size: 3.6vw;
    }

    .p-deliveryIntro__boxSub img {
        width: 400px;
    }

    .p-deliveryWrap {
        margin: 0 0 50px;
    }

    .p-deliveryMap {
        flex-direction: column;
    }

    .p-deliveryMap__text {
        width: 100%;
        margin: 0 0 30px;
    }

    .p-deliveryMap__img {
        width: 100%;
    }

    .p-deliveryMap__text ul li:nth-child(n+3) {
        margin: 18px 0 0;
    }

    .p-deliveryMap__text ul li {
        font-size: 2.5rem;
    }

    .p-deliveryAttention {
        margin: 25px 0 0;
    }

    .p-deliveryMap__text h2 {
        font-size: 3rem;
        margin: 0 0 30px;
    }

    .p-deliveryPoint {
        margin: 0 0 50px;
    }

    .p-deliveryText h2 {
        font-size: 2.5rem;
    }

    .p-deliveryFlow h2 {
        font-size: 3rem;
        margin: 0 0 65px;
        padding: 0 0 20px;
    }

    .p-deliveryFlow ul {
        flex-direction: column;
    }

    .p-deliveryFlow ul li {
        width: 100%;
        height: 170px;
        margin-right: 0;
    }

    .p-deliveryFlow ul li:not(:last-child) {
        margin: 0 0 60px;
    }

    .p-deliveryFlow ul li h3 {
        font-size: 2.2rem;
    }

    .p-deliveryContact__box {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }

    .p-deliveryContact__box:first-child:after {
        display: none;
    }

    .p-deliveryContact__wrap {
        flex-direction: column;
    }

    .p-deliveryContact__box h2 {
        font-size: 2.4rem;
        margin: 0 0 20px;
        text-align: center;
    }

    .p-deliveryContact__number {
        font-size: 3.4rem;
    }

    .p-deliveryContact__number:before {
        background-size: 100%;
        width: 30px;
        height: 30px;
        margin: 0 10px 0 0;
    }

    .p-deliveryContact__number {
        display: block;
        text-align: center;
    }

    .p-deliveryContact__box:last-child {
        padding: 0;
    }

    .p-deliveryContact__box:first-child {
        border-bottom: 1px solid #29ABE3;
        padding: 0 0 30px;
        margin: 0 auto 30px;
    }

    .p-deliveryContact__wrap {
        padding: 33px 0;
    }

    .p-deliveryIntro__boxSub img {
        width: 300px;
    }

    .p-deliveryIntro__boxSub span {
        padding: 8px 20px;
    }

    .p-deliveryIntro {
        border-radius: 25px;
    }
}

@media screen and (max-width:590px) {
    .p-deliveryIntro {
        padding: 50px 0 160px;
    }

    .p-deliveryMap__text ul li {
        font-size: 2rem;
    }

    .p-deliveryMap__text ul li:before {
        width: 8px;
        height: 8px;
    }

    .p-deliveryIntro__title {
        margin: 0 0 25px;
    }

    .p-deliveryIntro__title p {
        font-size: 4rem;
    }

    .p-deliveryIntro__title h2 {
        font-size: 2rem;
    }

    .p-deliveryPoint ul {
        margin: -115px auto 0;
    }

    .p-deliveryPoint ul {
        width: 300px;
        margin: -95px auto 0;
    }

    .p-deliveryPoint ul li {
        width: 130px;
        height: 130px;
        font-size: 1.6rem;
    }

    .p-deliveryPoint ul li:nth-of-type(n+3) {
        margin-top: 10px;
    }

    .p-deliveryIntro {
        padding: 50px 0 125px;
    }

    .p-deliveryIntro__box {
        border-radius: 10px;
    }

    .p-deliveryIntro__boxSub img {
        width: 94%;
    }

    .p-deliveryIntro__boxSub {
        margin: 0 0 -25px;
    }

    .p-deliveryIntro__box {
        padding: 40px 0;
    }

    .p-deliveryIntro__box h3 {
        font-size: 5vw;
    }

    .p-deliveryIntro__boxSub {
        margin: 0 0 -32px;
    }

    .p-deliveryIntro__boxSub img {
        width: 250px;
    }

    .p-deliveryIntro__boxSub span {
        padding: 5px 10px;
    }

    .p-deliveryIntro__box:before {
        width: 105px;
    }

    .p-deliveryPoint ul li:not(:nth-child(4n+4)) {
        margin-right: 2%;
    }

    .p-deliveryWrap {
        flex-direction: column;
    }

    .p-deliveryImg {
        width: 100%;
        margin: 0 0 30px;
    }

    .p-deliveryText {
        width: 100%;
    }

    .p-deliveryText h2 {
        font-size: 5.4vw;
        margin: 0 0 20px;
    }

    .p-deliveryImg img {
        border-radius: 15px;
    }

    .p-deliveryMap__text h2 {
        font-size: 2.2rem;
        margin: 0 0 20px;
        padding: 8px 0 8px 20px;
    }

    .p-deliveryMap__text ul li:before {
        margin: 0 12px 0 0;
    }

    .p-deliveryMap__text ul li {
        font-size: 1.8rem;
    }

    .p-deliveryFlow h2 {
        font-size: 2rem;
    }

    .p-deliveryFlow__num {
        font-size: 2.3rem;
        line-height: 1.2;
        width: 55px;
        height: 55px;
    }

    .p-deliveryFlow ul li {
        height: 120px;
        border-radius: 10px;
    }

    .p-deliveryFlow ul li h3 {
        font-size: 1.8rem;
    }

    .p-deliveryFlow ul li:not(:last-child) {
        margin: 0 0 50px;
    }

    .p-deliveryFlow {
        margin: 0 0 60px;
    }

    .p-deliveryContact__box h2 {
        font-size: 1.8rem;
        margin: 0 0 12px;
    }

    .p-deliveryContact__time {
        font-size: 1.1rem;
    }

    .p-deliveryContact__number {
        font-size: 2.4rem;
    }

    .p-deliveryContact__number:before {
        width: 22px;
        height: 22px;
    }

    .p-deliveryMap {
        margin: 0 0 60px;
    }

    .p-deliveryContact__wrap {
        margin: 0 0 70px;
    }
}

/*----------------------------------------
	campaign
----------------------------------------*/

.p-catchCampaign .p-catchWrap {
    background-image: url(images/campaign_catch.jpg);
}

/*----- archiveCampign -----*/

.p-campaignArchive {
    margin: 0 0 130px;
}

.p-campaignArchive__wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0 0;
}

.p-campaignArchive__lists {
    width: 71.4%;
}

.p-campaignArchive__ListWrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.p-campaignArchive__List {
    background-color: #F0F6FA;
    border-radius: 20px;
    padding: 0 60px 50px;
}

.p-campaignArchive__List:not(:last-child) {
    margin: 0 0 100px;
}

.p-campaignArchive__img {
    width: 29.7%;
    margin: -40px 0 0;
}

.p-campaignArchive__img img {
    width: 100%;
}

.p-campaignArchive__text {
    width: 64.4%;
    padding: 52px 0 0;
}

.p-campaignArchive__text h2 {
    font-size: 3rem;
    letter-spacing: 0.05em;
    line-height: 1.2;
    color: #00549C;
    margin: 0 0 20px;
    padding: 0 0 15px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    border-bottom: 2px dotted #29ABE3;
}

.p-campaignArchive__text .c-text {
    margin: 0 0 30px;
}

.p-campaignArchive__time {
    display: inline-block;
    font-size: 2rem;
    letter-spacing: 0.04em;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
    line-height: 1.45;
    padding: 4px 15px 4px 18px;
    border-radius: 0 100px 100px 0;
    background-color: #00549C;
    color: #fff;
}

.p-campaignArchive__shop {
    background-color: #fff;
    margin: -20px 0 0;
    padding: 34px 10px 15px 18px;
    border-radius: 10px;
}

.p-campaignArchive__shop h3 {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    margin: 0 0 7px;
    color: #29ABE3;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-campaignArchive__shop ul {
    display: flex;
    flex-wrap: wrap;
}

.p-campaignArchive__shop ul li {
    font-size: 1.8rem;
    line-height: 1.389;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
}

.p-campaignArchive__shop ul li:before {
    content: " / ";
    display: inline-block;
}

.p-campaignArchive__shop ul li:first-child:before {
    display: none;
}

.p-campaignArchive__categoryTitle {
    font-size: 4rem;
    letter-spacing: 0.06em;
    color: #00549C;
    margin: 0 0 60px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    text-align: center;
}

@media screen and (max-width: 820px) {
    .p-campaignArchive__lists {
        margin: 0;
    }

    .p-campaignArchive__wrap {
        flex-direction: column;
    }

    .p-campaignArchive__wrap {
        flex-wrap: wrap;
    }

    .p-campaignArchive__lists {
        width: 100%;
        margin: 0 0 60px;
    }

    .p-campaignArchive__List {
        padding: 0 25px 35px;
    }

    .p-campaignArchive__List:not(:last-child) {
        margin: 0 0 50px;
    }

    .p-campaignArchive__img {
        margin: -110px 0 0;
    }

    .p-campaignArchive__categoryTitle {
        font-size: 2.5rem;
    }
}

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

    .archive .p-catch.p-catchCampaign,
    .tax-campaign .p-catch.p-catchCampaign {
        margin: 0px auto 90px;
    }

    .p-campaignArchive__ListWrap {
        flex-direction: column;
    }

    .p-campaignArchive__text {
        width: 100%;
    }

    .p-campaignArchive__img {
        width: 50%;
        margin: -55px 0 0;
    }

    .p-campaignArchive__text {
        padding: 30px 0 0;
    }

    .p-campaignArchive__text h2 {
        font-size: 1.8rem;
    }

    .p-campaignArchive__time {
        font-size: 1.4rem;
    }

    .p-campaignArchive__List {
        padding: 0 15px 35px;
    }

    .p-campaignArchive__List:not(:last-child) {
        margin: 0 0 100px;
    }

    .p-campaignArchive__shop ul li {
        font-size: 1.4rem;
    }

    .p-campaignArchive__shop h3 {
        font-size: 1.6rem;
    }

    .p-campaignArchive__categoryTitle {
        font-size: 2rem;
    }
}

/*----- sidebar_archive -----*/

.p-campaignArchive__wrap aside,
.p-campaignSingle__wrap aside {
    width: 24%;
}

.p-sidebar__archiveTitle {
    background-color: #29ABE3;
    border-radius: 20px 20px 0 0;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    padding: 15px 0;
    text-align: center;
    color: #fff;
}

.p-sidebar__archive p {
    width: 86%;
    color: #00549C;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    margin: 0 auto;
    padding: 14px 0;
    border-bottom: 2px dotted #29ABE3;
    font-size: 2.5rem;
    letter-spacing: 0.05em;
}

.p-sidebar__archive p:before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: #00549C;
    border-radius: 50%;
    vertical-align: middle;
    margin: 0 20px 0 0;
}

.p-sidebar__archive p:nth-of-type(1) {
    margin-top: 40px;
    padding-top: 0;
}

.p-campaignArchive__wrap aside,
.p-campaignSingle__wrap aside {
    background-color: #F7F5EC;
    border-radius: 20px;
    padding: 0 0 40px;
}

.p-sidebar__archive p a {
    color: #00549C;
}

@media screen and (max-width: 1300px) {
    .p-sidebar__archive p {
        font-size: 1.8vw;
    }

    .p-sidebar__archive p:before {
        width: 5px;
        height: 5px;
        margin: 0 10px 0 0;
    }
}

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

    .p-campaignArchive__wrap aside,
    .p-campaignSingle__wrap aside {
        width: 100%;
    }

    .p-sidebar__archive p {
        font-size: 1.8rem;
    }

    .p-sidebar__archive p:nth-of-type(1) {
        margin-top: 30px;
    }
}

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

    .p-campaignArchive__wrap aside,
    .p-campaignSingle__wrap aside {
        border-radius: 15px;
    }

    .p-sidebar__archive p {
        font-size: 1.6rem;
    }

    .p-sidebar__archiveTitle {
        font-size: 1.8rem;
    }
}

/*----- singleCampaign -----*/

.p-campaignSingle {
    margin: 0 0 130px;
}

.p-campaignSingle__wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.p-campaignSingle__boxWrap {
    width: 71.4%;
}

.p-campaignSingle__box {
    background-color: #F0F6FA;
    border-radius: 20px;
    margin: 0 0 40px;
    padding: 95px 50px 100px;
}

.p-campaignSingle__title {
    font-size: 3.7rem;
    margin: 0 0 50px;
    padding: 0 0 30px;
    border-bottom: 5px dotted #29ABE3;
    font-weight: bold;
    letter-spacing: 0.08em;
}

.p-campaignSingle__time {
    display: inline-block;
    font-size: 3.1rem;
    background-color: #00549C;
    border-radius: 0 100px 100px 0;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
    color: #fff;
    margin: 0 0 40px -50px;
    line-height: 1.452;
    padding: 8px 46px 8px 38px;
}

.p-campaignSingle__shop {
    margin: 0 0 50px;
}

.p-campaignSingle__shop h3 {
    font-size: 2.5rem;
    letter-spacing: 0.05em;
    margin: 0 0 5px;
    color: #29ABE3;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    line-height: 1.44;
    display: flex;
    align-items: center;
}

.p-campaignSingle__shop h3:before {
    content: "";
    width: 37px;
    height: 2px;
    background-color: #29ABE3;
    display: inline-block;
}

.p-campaignSingle__attention {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #E41D7A;
    display: block;
    margin: 0 0 20px;
}

.p-campaignSingle__shop ul {
    display: flex;
    flex-wrap: wrap;
}

.p-campaignSingle__shop ul li {
    width: 24.1%;
    height: 41px;
}

.p-campaignSingle__shop ul li a {
    width: 100%;
    height: 100%;
    border-radius: 100px;
    background-color: #29ABE3;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem;
    color: #fff;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    position: relative;
}

.p-campaignSingle__shop ul li a:after {
    content: "";
    position: absolute;
    right: 9px;
    top: 50%;
    transform: translateY(-50%);
    width: 7px;
    height: 12px;
    background-image: url(images/campaign_button_arrow.svg);
}

.p-campaignSingle__shop ul li:not(:nth-child(4n+4)) {
    margin-right: 1.2%;
}


.p-campaignSingle__shop ul li:nth-of-type(n+5) {
    margin-top: 9px;
}

.p-campaignSingle__img {
    width: 78.4%;
    margin: 0 auto 60px;
    text-align: center;
}

.p-campaignSingle__img img {
    width: 100%;
}

.p-campaignSingle__wrap .c-button {
    margin: 0 auto;
}

.p-campaignSingle__line {
    margin: 65px 0 0;
}

.p-campaignSingle__line h2 {
    font-size: 5.2rem;
    margin: 0 0 15px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    text-align: center;
    color: #00549C;
    line-height: 1.442;
    letter-spacing: 0.05em;
}

.p-campaignSingle__line h2 span:before {
    content: "";
    display: inline-block;
    background-image: url(images/campaign_single_line_deco_left.svg);
    width: 19px;
    height: 32px;
    margin: 0 20px 0 0;
}

.p-campaignSingle__line h2 span:after {
    content: "";
    display: inline-block;
    background-image: url(images/campaign_single_line_deco_right.svg);
    width: 19px;
    height: 32px;
    margin: 0 0 0 20px;
}

.p-campaignSingle__line h3 {
    font-size: 3rem;
    margin: 0 0 40px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    text-align: center;
    line-height: 1.467;
}

.p-campaignSingle__lineImg {
    display: block;
}

@media screen and (max-width: 1000px) {
    .p-campaignSingle__shop ul li {
        width: 32%;
    }

    .p-campaignSingle__shop ul li:not(:nth-child(4n+4)) {
        margin-right: 0;
    }

    .p-campaignSingle__shop ul li:not(:nth-child(3n+3)) {
        margin-right: 2%;
    }

    .p-campaignSingle__box {
        padding: 50px 15px 60px;
    }

    .p-campaignSingle__shop ul li:nth-of-type(n+5) {
        margin-top: 0;
    }

    .p-campaignSingle__shop ul li:nth-of-type(n+4) {
        margin-top: 8px;
    }

    .p-campaignSingle__time {
        font-size: 2.5rem;
        margin: 0 0 25px -10px;
        padding: 8px 20px 8px 25px;
    }

    .p-campaignSingle__title {
        font-size: 3.2rem;
        line-height: 1.2;
    }

    .p-campaignSingle__line h2 {
        font-size: 3.5rem;
    }

    .p-campaignSingle__line h3 {
        font-size: 2rem;
        margin: 0 0 20px;
    }
}

@media screen and (max-width: 820px) {
    .p-campaignSingle__wrap {
        flex-wrap: wrap;
    }

    .p-campaignSingle__boxWrap {
        width: 100%;
    }

    .p-campaignSingle__line h2 {
        margin: 0 0 5px;
    }

    .p-campaignSingle__line {
        margin: 40px 0 50px;
    }

    .p-campaignSingle__line h2 {
        font-size: 3rem;
    }
}

@media screen and (max-width: 590px) {
    .p-campaignSingle__shop ul li {
        width: 48%;
        height: 32px;
    }

    .p-campaignSingle__shop ul li:not(:nth-child(3n+3)) {
        margin-right: 0;
    }

    .p-campaignSingle__shop ul li:not(:nth-child(2n+2)) {
        margin-right: 2%;
    }

    .p-campaignSingle__shop ul li:nth-of-type(n+4) {
        margin-top: 0;
    }

    .p-campaignSingle__shop ul li:nth-of-type(n+3) {
        margin-top: 10px;
    }

    .p-campaignSingle__shop ul li a:after {
        right: 4px;
    }

    .p-campaignSingle__shop ul li a {
        font-size: 3.3vw;
    }

    .p-campaignSingle__shop {
        margin: 0 0 30px;
    }

    .p-campaignSingle__time {
        font-size: 1.8rem;
    }

    .p-campaignSingle__title {
        font-size: 2.2rem;
        margin: 0 0 30px;
        padding: 0 0 15px;
    }

    .p-campaignSingle__img {
        width: 100%;
        margin: 0 auto 30px;
    }

    .p-campaignSingle__box {
        padding: 30px 15px 40px;
    }

    .p-campaignSingle__shop h3 {
        font-size: 1.8rem;
    }

    .p-campaignSingle__attention {
        font-size: 1.1rem;
    }

    .p-campaignSingle__shop h3:before {
        width: 20px;
        display: none;
    }

    .p-campaignSingle__shop ul li a:after {
        width: 5px;
        height: 8px;
        background-size: 100%;
    }

    .p-campaignSingle__line h2 {
        font-size: 2rem;
    }

    .p-campaignSingle__line h2 span:before {
        margin: 0 10px 0 0;
        width: 10px;
        height: 17px;
        background-size: 100%;
    }

    .p-campaignSingle__line h2 span:after {
        width: 10px;
        height: 17px;
        margin: 0 0 0 10px;
        background-size: 100%;
    }

    .p-campaignSingle__line h3 {
        font-size: 1.3rem;
    }
}

@media screen and (max-width: 450px) {
    .p-campaignSingle__shop h3 {
        font-size: 4.5vw;
    }
}

/*----------------------------------------
	privacy policy
----------------------------------------*/

.p-qaList {
    border: 1px solid rgba(41, 171, 227, 0.3);
    border-radius: 10px;
}

.p-qaList:not(:last-child) {
    margin: 0 0 40px;
}

.p-qaLists__title {
    padding: 15px 40px 15px 35px;
    background-color: #F0F6FA;
    border-radius: 10px 10px 0 0;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer;
    transition: all .5s ease;
}

.p-qaLists__title span:first-child {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #29ABE3;
    border-radius: 50%;
    font-size: 2.5rem;
    letter-spacing: 0.2em;
    font-family: "Hind", sans-serif;
    font-weight: 700;
    font-style: normal;
    width: 60px;
    height: 60px;
    color: #fff;
    margin: 0 20px 0 0;
}

.p-qaLists__box {
    padding: 35px;
    display: none;
}

.p-qaLists__box p {
    line-height: 1.667;
    color: #374453;
    letter-spacing: 0.08em;
}

.p-qaLists__title::before,
.p-qaLists__title::after {
    position: absolute;
    content: '';
    width: 25px;
    height: 3px;
    background-color: #29ABE3;
}

.p-qaLists__title::before {
    top: 48%;
    right: 40px;
    transform: rotate(0deg);
}

.p-qaLists__title::after {
    top: 48%;
    top: 48%;
    right: 40px;
    transform: rotate(90deg);
}

.p-qaLists__title.close::before {
    transform: rotate(45deg);
}

.p-qaLists__title.close::after {
    transform: rotate(-45deg);
}

.p-qaLists__text {
    display: inline-block;
    width: 85%;
}

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

    .p-qaList:not(:last-child) {
        margin: 0 0 60px;
    }

    .p-qaLists__title span:first-child {
        width: 35px;
        height: 35px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 2.2rem;
    }

    .p-qaLists__title {
        padding: 10px 20px 10px 20px;
    }

    .p-qaLists__title::before,
    .p-qaLists__title::after {
        width: 15px;
    }

    .p-qaLists__title::before {
        right: 15px;
    }

    .p-qaLists__title::after {
        right: 15px;
    }

    .p-qaList:not(:last-child) {
        margin: 0 0 30px;
    }

    .p-qaLists__box {
        padding: 20px;
    }

    .p-qaLists__text {
        width: 81%;
        line-height: 1.3;
    }

    .p-qaLists__title {
        font-size: 1.6rem;
    }
}

@media screen and (max-width: 590px) {
    .p-qaList:not(:last-child) {
        margin: 0 0 30px;
    }

    .p-qaLists__title span:first-child {
        font-size: 1.8rem;
    }
}


/*----------------------------------------
	company
----------------------------------------*/

.p-company {
    margin: 0 0 130px;
}

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

.p-companyList {
    width: 30.8%;
}

.p-companyList:nth-child(n+4) {
    margin-top: 60px;
}

.p-companyList:not(:nth-child(3n+3)) {
    margin-right: 3.75%;
}

.p-companyList a {
    display: block;
    padding: 23px 23px 48px;
    background-color: #F0F6FA;
    border-radius: 10px;
    position: relative;
}

.p-companyList a:after {
    content: "";
    background-image: url(images/box_triangle.svg);
    width: 47px;
    height: 47px;
    position: absolute;
    bottom: 10px;
    right: 10px;
}

.p-companyList__img {
    width: 100%;
}

.p-companyList__icon {
    width: 96px;
    margin: -27px auto 5px;
}

.p-companyList__en {
    font-size: 2rem;
    letter-spacing: 0.11em;
    line-height: 1.2;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: italic;
    text-align: center;
    color: #29ABE3;
}

.p-companyList h2 {
    font-size: 3rem;
    letter-spacing: 0.08em;
    line-height: 1.467;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    text-align: center;
}

@media screen and (max-width: 820px) {
    .p-company {
        margin: 0 0 70px;
    }

    .p-companyLists {
        justify-content: space-between;
    }

    .p-companyList {
        width: 48%;
    }

    .p-companyList:not(:nth-child(3n+3)) {
        margin-right: 0;
    }

    .p-companyList:not(:nth-child(2n+2)) {
        margin-right: 2%;
    }

    .p-companyList:nth-child(n+4) {
        margin-top: 0;
    }

    .p-companyList:nth-child(n+3) {
        margin-top: 40px;
    }
}

@media screen and (max-width: 590px) {
    .p-companyList {
        width: 100%;
    }

    .p-companyList:nth-child(n+2) {
        margin-top: 30px;
    }

    .p-companyList:not(:nth-child(2n+2)) {
        margin-right: 0;
    }

    .p-companyList__icon {
        width: 70px;
    }

    .p-companyList h2 {
        font-size: 2.2rem;
    }

    .p-companyList__en {
        font-size: 1.4rem;
    }

    .p-companyList a {
        padding: 18px 18px 40px;
    }

    .p-companyList a:after {
        width: 30px;
        height: 30px;
        background-size: 100%;
    }

    .p-companyList__icon {
        width: 65px;
    }
}

/*----------------------------------------
	company_outline
----------------------------------------*/

.table01 {
    display: block;
    width: 1000px;
    margin: auto;
    font-size: 1.8rem;
    margin: 0 auto 130px;
}

.table01 tbody {
    display: block;
    width: 100%;
}

.table01 tr {
    display: flex;
    justify-content: space-between;
}

.table01 tr:last-child {
    border-bottom: none;
}

.table01 th {
    width: 20%;
    padding: 15px 0;
    border-bottom: 1px solid rgba(0, 111, 185, 0.45);
    font-weight: normal;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.12em;
    line-height: 1.4;
    color: #29ABE3;
}

.table01 td {
    padding: 15px;
    width: 80%;
    vertical-align: middle;
    border-bottom: 1px solid #DDDDDD;
    line-height: 1.75;
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: 0.04em;
}

.table01 td a {
    display: inline-block;
    color: #29ABE3;
    margin: 0 0 0 24px;
}

@media screen and (max-width:1000px) {
    .table01 {
        width: 100%;
    }

    .table01 th,
    .table01 td {
        font-size: 1.6rem;
        width: 100%;
    }

    .table01 th {
        width: 100%;
        font-weight: bold;
        margin: 0 0 8px;
        padding: 8px 2% 0 2%;
        border: none;
    }

    .table01 td {
        width: 100%;
        padding: 0 2% 8px 2%;
        line-height: 1.25;
    }

    .table01 tr {
        display: flex;
        flex-direction: column;
        padding: 0;
    }

    .p-company__area:before {
        width: 100%;
        height: 100%;
        background-size: 100%;
    }
}

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

    .table01 {
        margin: 0 auto 70px;
    }

    .table01 th,
    .table01 td {
        font-size: 1.4rem;
        width: 100%;
    }
}

/*----------------------------------------
	company_greeting
----------------------------------------*/

.page-id-245 .p-catch {
    margin: 0 auto;
}

.page-id-245 .p-catch:after {
    content: "";
    width: 100%;
    height: 260px;
    background-color: #F0F6FA;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.page-id-245 .p-bottomContact:before {
    background-image: url(images/bottom_contact_deco02.svg);
}

.p-greeting {
    background-color: #F0F6FA;
    padding: 227px 0 130px;
    position: relative;
}

.p-greeting:before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 5.2%;
    height: 100%;
    background-color: #F0F6FA;
    z-index: 1;
}

.p-greetingWrap {
    display: flex;
    justify-content: center;
}

.p-greetingBg {
    width: 100%;
    background-color: #fff;
    padding: 0 0 110px;
    position: relative;
}

.p-greetingBg:before {
    content: "";
    background-image: url(images/greeting_deco.svg);
    position: absolute;
    width: 20px;
    height: 20px;
    top: 0;
    right: 5.2%;
}

.p-greetingBg:after {
    content: "";
    background-image: url(images/greeting_deco.svg);
    position: absolute;
    width: 20px;
    height: 20px;
    bottom: 0;
    right: 5.2%;
    transform: rotate(90deg);
}

.p-greetingImg {
    width: 33.7%;
    margin: -107px 0 0;
}

.p-greetingText {
    width: 65%;
    margin: 130px 0 0;
}

.p-greetingText p {
    margin: 0 0 42px;
}

.p-greetingText h2 {
    font-size: 3.8rem;
    letter-spacing: 0.05em;
    font-weight: bold;
    margin: 0 0 70px;
    color: #00549C;
}

.p-greetingName {
    text-align: right;
}

@media screen and (max-width: 1500px) {
    .p-greetingText {
        margin: 100px 0 0 60px;
    }

    .p-greetingText h2 {
        line-height: 1.2;
        margin: 0 0 40px;
    }

    .p-greetingWrap {
        justify-content: flex-start;
    }

    .p-greetingText p {
        margin: 0 0 30px;
    }

    .p-greetingName img {
        width: 300px;
    }
}

@media screen and (max-width: 1000px) {
    .p-greetingText {
        margin: 70px 0 0 40px;
    }
}

@media screen and (max-width: 820px) {
    .p-greeting {
        padding: 130px 0 70px;
    }

    .p-greetingText h2 {
        font-size: 3rem;
    }

    .p-greetingWrap {
        flex-direction: column;
    }

    .p-greetingBg .c-inner02 {
        padding-left: 0;
    }

    .p-greetingImg {
        width: 42%;
        margin: -72px auto 0;
    }

    .p-greetingText {
        width: 90%;
        margin: 50px auto 0 auto;
    }

    .p-greetingBg {
        padding: 0 0 60px;
    }

    .p-greetingText h2 {
        font-size: 2.5rem;
    }

    .p-greetingText p {
        margin: 0 0 20px;
    }

    .p-greetingName img {
        width: 270px;
    }

    .p-greetingText h2 {
        margin: 0 0 20px;
    }

    .p-greetingText {
        margin: 40px auto 0;
    }

    .p-greetingImg {
        width: 45%;
    }
}

@media screen and (max-width: 590px) {
    .p-greetingText h2 {
        font-size: 1.8rem;
    }

    .p-greetingName img {
        width: 220px;
    }
}

/*----------------------------------------
	company_policy
----------------------------------------*/

.p-policy {
    margin: 0 0 130px;
}

.p-policyWrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.p-policyImg {
    width: 45.2%;
}

.p-policyImg01 img {
    border-radius: 20px;
}

.p-policyImg02 {
    margin: -50px 0 0;
}

.p-policyText {
    width: 48.5%;
}

.p-policyText .p-policyTitle {
    font-size: 3.8rem;
    letter-spacing: 0.05em;
    line-height: 1.2;
    color: #00549C;
    margin: 0 0 40px;
}

.p-policyText p:not(:last-child) {
    margin: 0 0 40px;
}

.p-policyText .c-pageTitle {
    text-align: left;
}

@media screen and (max-width: 820px) {
    .p-policyWrap {
        flex-direction: column;
    }

    .p-policy {
        margin: 0 0 70px;
    }

    .p-policyText {
        width: 100%;
    }

    .p-policyText .p-policyTitle {
        font-size: 3rem;
    }

    .p-policyImg {
        width: 65%;
        margin: 0 auto 40px;
    }
}

@media screen and (max-width: 590px) {
    .p-policyImg {
        width: 100%;
    }

    .p-policyText .p-policyTitle {
        font-size: 2.2rem;
        margin: 0 0 20px;
    }

    .p-policyText p:not(:last-child) {
        margin: 0 0 15px;
    }

    .p-policyImg {
        margin: 0 auto 30px;
    }
}

/*----------------------------------------
	company_history
----------------------------------------*/

.p-history {
    margin: 0 0 130px;
}

.p-historyWrap {
    background-color: #F0F6FA;
    border-radius: 20px;
    padding: 70px 0 120px;
}

.p-historyTitle {
    font-size: 3.4rem;
    line-height: 1.441;
    color: #29ABE3;
    margin: 0 0 50px;
    text-align: center;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
    font-style: normal;
}

.flex-schedule {
    width: 805px;
    list-style: none;
    margin: 0 auto;
    box-sizing: border-box;
}

.flex-schedule li {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    position: relative;
}

.flex-schedule .area {
    display: block;
    width: 100%;
    border-left: 1px solid #29ABE3;
}

.flex-schedule li .time {
    display: inline-flex;
    justify-content: flex-end;
    margin-right: 50px;
    font-size: 2.5rem;
    letter-spacing: 0.08em;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: italic;
    color: #29ABE3;
}

.flex-schedule .sch_box {
    position: relative;
    padding: 0 0 67px 50px;
    border-radius: 6px;
}

.flex-schedule li:last-child .sch_box {
    padding-bottom: 0;
}

.flex-schedule .sch_box::before {
    content: "";
    position: absolute;
    left: -12px;
    top: 0;
    background: #fff;
    width: 22px;
    height: 22px;
    border-radius: 10px;
    border: 5px solid #29ABE3;
}

.flex-schedule .sch_box::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    transform: translateY(-50%);
    background: #707070;
    width: 40px;
    height: 1px;
    z-index: -1;
}

.flex-schedule .sch_title {
    font-size: 1.8rem;
    line-height: 1.4;
}

.flex-schedule .sch_tx {
    font-size: 14px;
    font-weight: normal;
}

@media screen and (max-width: 1100px) {
    .flex-schedule li .time {
        font-size: 2rem;
    }

    .flex-schedule li .time {
        margin-right: 28px;
    }
}

@media screen and (max-width: 820px) {
    .flex-schedule {
        width: 100%;
    }

    .flex-schedule .sch_box {
        padding: 0 0 55px 30px;
    }

    .flex-schedule .area {
        width: 84%;
    }

    .p-historyWrap {
        padding: 40px 3% 70px;
    }

    .flex-schedule .sch_title {
        font-size: 1.5rem;
    }

    .p-historyTitle {
        font-size: 2.8rem;
    }
}

@media screen and (max-width: 590px) {
    .p-history {
        margin: 0 0 70px;
    }

    .p-historyWrap {
        padding: 40px 10px 70px;
    }

    .flex-schedule li .time {
        margin-right: 24px;
        font-size: 1.6rem;
    }

    .flex-schedule .sch_box {
        padding: 0 0 40px 25px;
    }

    .p-historyTitle {
        font-size: 4.4vw;
        margin: 0 0 30px;
    }
}

/*----------------------------------------
	line
----------------------------------------*/

.p-line {
    margin: 0 0 120px;
}

.p-lineIntro h2 {
    font-size: 3.7rem;
    line-height: 1.486;
    letter-spacing: 0.08em;
    font-weight: bold;
    margin: 6px 0 60px;
    padding-bottom: 25px;
    border-width: 5px;
    border-bottom: 5px dotted #29ABE3;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    line-height: 1.3;
}

.p-lineIntro h3 {
    font-size: 3rem;
    color: #29ABE3;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    margin: 0 0 30px;
    line-height: 1.3;
}

.p-lineIntro {
    margin: 0 0 70px;
}

.p-lineMerit {
    margin: 0 0 120px;
}

.p-lineMerit__lists {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.p-lineMerit__lists li {
    width: 22.1%;
}

.p-lineMerit__lists li img {
    width: 100%;
}

.p-lineTitle {
    font-size: 3.2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    margin: 0 0 40px;
}

.p-lineTitle::before,
.p-lineTitle::after {
    content: "";
    background-color: #29ABE3;
    height: 3px;
    width: 40px;
}

.p-lineTitle::before {
    margin-right: 5px;
    transform: rotate(60deg);
}

.p-lineTitle::after {
    margin-left: 5px;
    transform: rotate(-60deg);
}

.p-line .c-button {
    width: 100%;
    height: auto;
    padding: 30px 20px;
    font-size: 2.5rem;
    border-radius: 100px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-lineAttention__text {
    font-weight: bold;
    text-align: center;
    margin: 20px 0 0;
}

@media screen and (max-width: 820px) {
    .p-line {
        margin: 0 0 70px;
    }

    .p-lineIntro {
        margin: 0 0 50px;
    }

    .p-lineIntro h2 {
        font-size: 3.2rem;
        margin: 6px 0 35px;
    }

    .p-lineIntro h3 {
        font-size: 2.6rem;
        margin: 0 0 20px;
    }

    .p-lineTitle {
        font-size: 2.4rem;
        margin: 0 0 20px;
    }

    .p-lineTitle::before,
    .p-lineTitle::after {
        width: 32px;
    }

    .p-lineMerit {
        margin: 0 0 60px;
    }

    .p-line .c-button {
        font-size: 1.8rem;
        padding: 18px 20px;
    }
}

@media screen and (max-width: 590px) {
    .p-lineIntro h2 {
        font-size: 2.2rem;
    }

    .p-lineIntro h3 {
        font-size: 2rem;
    }

    .p-lineTitle {
        font-size: 1.7rem;
    }

    .p-lineTitle::before,
    .p-lineTitle::after {
        width: 20px;
    }

    .p-lineMerit__lists li {
        width: 48%;
    }

    .p-lineMerit__lists li:nth-child(n+3) {
        margin: 20px 0 0;
    }

    .p-lineAttention__text {
        font-size: 1.2rem;
    }
}

/*----------------------------------------
	privacy policy
----------------------------------------*/

.privacy_title {
    font-size: 1.8rem;
    line-height: 1.4;
    padding: 0.5em;
    background-color: rgba(196, 221, 180, 0.09);
    border-left: 4px solid #29ABE3;
    margin: 0 0 15px;
}

.privacy_title02 {
    font-size: 2.2rem;
    line-height: 1.4;
    padding: 0.5em;
    color: #fff;
    background-color: #29ABE3;
    margin: 0 auto 30px;
    width: 500px;
    text-align: center;
}

.privacy_policy .text {
    margin: 0 0 30px;
}

.privacy_policy_list {
    font-weight: bold;
    color: #93C572;
    margin: 0 0 20px;
    line-height: 1.3;
}

.privacy_policy_lists li {
    line-height: 1.75;
}

.privacy_policy_list > ul {
    margin: 10px 0 0;
    color: #000;
    line-height: 1.7;
    font-weight: normal;
}

@media screen and (max-width: 768px) {
    .privacy_title {
        font-size: 1.6rem;
    }

    .privacy_title02 {
        font-size: 1.8rem;
    }

    .privacy_policy_list {
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 590px) {
    .privacy_title02 {
        width: 100%;
        margin: 0 auto 20px;
    }
}

/*----------------------------------------
	404 not found
----------------------------------------*/

.p-catch404 .p-catchWrap {
    background-image: url(images/404_catch.jpg);
}

.error404 .c-button {
    margin: auto;
}

/*----------------------------------------
    recruit
----------------------------------------*/

.p-recruitInfo__box {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    margin-bottom: 40px;
    padding: 24px;
}

.p-recruitIntro {
    margin: 0 0 120px;
}

.p-recruitIntro h2 {
    font-size: 3.5rem;
    letter-spacing: 0.07em;
    text-align: center;
    margin: 0 0 40px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    line-height: 1.5;
}

.p-recruitInfo_number {
    font-size: 2.8rem;
    letter-spacing: 0.07em;
    margin: 0 0 30px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-recruitInfo__title {
    font-size: 2.8rem;
    font-weight: 700;
    margin-bottom: 20px;
    color: #333;
    border-left: 4px solid #29ABE3;
    padding-left: 12px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
}

.p-recruitInfo__list {
    list-style: none;
    border: 1px solid #ddd;
    border-radius: 10px;
    margin-bottom: 0;
    background: #fafafa;
    transition: all 0.3s ease;
}

.p-recruitInfo__list:not(:last-child) {
    margin: 0 0 70px;
}

.p-recruitInfo__box ul > li:hover {
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.p-recruitInfo__box ul > li a {
    display: block;
    padding: 24px;
    text-decoration: none;
    color: inherit;
}

.p-recruitInfo__listsTitle {
    margin: 0 0 20px;
    padding: 0 0 12px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.p-recruitInfo__listsTitle h2 {
    font-size: 2.2rem;
    font-weight: 600;
    margin-bottom: 30px;
    color: #222;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    line-height: 1.5;
}

.p-recruitInfo__listsTitle p {
    font-size: 1.4rem;
    color: #555;
    line-height: 1.6;
}

.p-recruitInfo__pay {
    font-size: 1.8rem;
    font-weight: 700;
    color: #29ABE3;
    margin-bottom: 30px;
}

.p-recruitInfo__contents {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
}

.p-recruitInfo__contents > li {
    list-style: none;
    display: inline-block;
    font-size: 1.4rem;
    color: #29ABE3;
    background: #e6f2fb;
    border: 1px solid #cde4f7;
    border-radius: 100px !important;
    padding: 6px 14px;
    white-space: nowrap;
    transition: background 0.2s ease;
}

.p-recruitInfo__contents li:hover {
    background: #d4eafc;
}

@media (max-width: 1024px) {
    .p-recruitInfo__title {
        font-size: 2.2rem;
    }
}

@media (max-width: 768px) {
    .p-recruitInfo__title {
        font-size: 1.8rem;
    }

    .p-recruitInfo__listsTitle h2 {
        font-size: 1.6rem;
        margin-bottom: 15px;
    }

    .p-recruitInfo__listsTitle p,
    .p-recruitInfo__contents li {
        font-size: 1.3rem;
    }

    .p-recruitInfo__pay {
        font-size: 1.4rem;
    }

    .p-recruitIntro h2 {
        font-size: 2rem;
        margin: 0px 0px 20px;
    }

    .p-recruitIntro {
        margin: 0px 0px 70px;
    }

    .p-recruitInfo__list:not(:last-child) {
        margin: 0 0 30px;
    }

    .p-recruitInfo_number {
        font-size: 2.2rem;
    }
}

/*----- jobDetail -----*/

.p-jobDetail {
    margin: 0 0 130px;
}

.p-jobDetail__title {
    font-size: 3.2rem;
    font-weight: 700;
    margin-bottom: 24px;
    color: #222;
    line-height: 1.2;
}

.p-jobDetail__pay {
    font-size: 2.2rem;
    font-weight: 600;
    color: #29ABE3;
    margin-bottom: 16px;
}

.p-jobDetail__location {
    font-size: 1.6rem;
    margin-bottom: 32px;
    color: #555;
    line-height: 1.5;
}

.p-jobDetail h2 {
    font-size: 2.4rem;
    font-weight: 600;
    margin-top: 40px;
    margin-bottom: 20px;
    border-bottom: 2px solid #00549C;
    padding-bottom: 8px;
    color: #00549C;
}

.p-jobDetail__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 24px 0;
    padding: 0;
}

.p-jobDetail__tags li {
    list-style: none;
    display: inline-block;
    font-size: 1.4rem;
    color: #29ABE3;
    background: #e6f2fb;
    border: 1px solid #cde4f7;
    border-radius: 24px;
    padding: 6px 14px;
    white-space: nowrap;
    transition: background 0.2s ease;
}

.p-jobDetail__info,
.p-jobDetail__company {
    padding: 28px;
    margin-bottom: 40px;
}

.p-jobDetail__infoTable {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 40px;
    background-color: #fafafa;
}

.p-jobDetail__infoTable th,
.p-jobDetail__infoTable td {
    padding: 16px 20px;
    border: 1px solid #ddd;
    font-size: 1.5rem;
    vertical-align: top;
}

.p-jobDetail__infoTable th {
    width: 30%;
    background-color: #f0f8ff;
    font-weight: 600;
    color: #29ABE3;
}

.p-jobDetail__infoTable td {
    width: 70%;
    line-height: 1.5;
}

.p-jobDetail__company {
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 24px;
    margin-bottom: 40px;
    background-color: #fafafa;
}

.p-jobDetail__company h2 {
    font-size: 2.4rem;
    font-weight: 600;
    color: #0072ce;
    margin-bottom: 20px;
    border-bottom: 2px solid #0072ce;
    padding-bottom: 6px;
}

.p-jobDetail__company dt {
    font-weight: 700;
    font-size: 1.6rem;
    color: #555;
    margin-top: 12px;
}

.p-jobDetail__company dd {
    font-size: 1.6rem;
    color: #333;
    margin-left: 0;
    margin-bottom: 16px;
    line-height: 1.6;
}

@media (max-width: 1024px) {
    .p-jobDetail__title {
        font-size: 2.6rem;
    }

    .p-jobDetail h2 {
        font-size: 2rem;
    }

    .p-jobDetail__pay {
        font-size: 1.6rem;
    }

    .p-jobDetail__location {
        font-size: 1.4rem;
    }
}

@media (max-width: 768px) {
    .p-jobDetail {
        margin: 0 0 70px;
    }

    .p-jobDetail__title {
        font-size: 2.2rem;
    }

    .p-jobDetail__pay {
        font-size: 1.8rem;
    }

    .p-jobDetail__location {
        font-size: 1.4rem;
    }

    .p-jobDetail h2 {
        font-size: 1.8rem;
    }

    .p-jobDetail p,
    .p-jobDetail__info dd,
    .p-jobDetail__company dd,
    .p-jobDetail__tags li {
        font-size: 1.4rem;
    }

    .p-jobDetail__tags li {
        padding: 7px 14px;
    }

    .p-jobDetail__infoTable th,
    .p-jobDetail__infoTable td {
        font-size: 1.4rem;
        padding: 12px 10px;
    }

    .p-jobDetail__infoTable th {
        display: block;
        width: 100%;
        margin-top: 12px;
    }

    .p-jobDetail__infoTable td {
        display: block;
        width: 100%;
        margin-bottom: 12px;
    }

    .p-jobDetail__infoTable tr {
        display: block;
        margin-bottom: 16px;
    }

    .p-jobDetail__company h2 {
        font-size: 2rem;
    }

    .p-jobDetail__company dt,
    .p-jobDetail__company dd {
        font-size: 1.4rem;
    }
}

/* -----------------------------------------
   sdgs
----------------------------------------- */

.p-sdgs {
    margin: 0 0 100px;
    background: #ffffff;
    font-family: "Noto Sans JP", sans-serif;
}

.p-sdgs .c-inner {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 20px;
}

.p-sdgsIntro {
    text-align: center;
    margin-bottom: 40px;
}

.p-sdgsIntro h2 {
    font-size: 2.6rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.p-sdgsIntro__title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 20px;
}

.p-sdgsIntro__title .number {
    font-size: 2.8rem;
    color: #1f8fe5;
    font-weight: 900;
    padding: 0 4px;
}

.p-sdgsIntro__title .en {
    display: none;
}

.p-sdgsIntro__clean {
    background: #1f8fe5;
    color: #fff;
    display: inline-block;
    padding: 14px 24px;
    font-size: 2.8rem;
    font-weight: 900;
    border-radius: 4px;
    letter-spacing: 2px;
    margin-bottom: 18px;
}

.p-sdgsIntro p {
    font-size: 1.4rem;
    color: #666;
}

.p-sdgsGoal {
    margin-top: 30px;
}

.p-sdgsGoal__number {
    display: flex;
    align-items: center;
    padding: 14px 12px;
    border-radius: 6px;
    margin-bottom: 14px;
    font-weight: 700;
}

.goal-number {
    font-size: 4.4rem;
    font-weight: 900;
    width: 55px;
    text-align: center;
    margin-right: 15px;
}

.p-sdgsGoal__wrap {
    display: flex;
    align-items: center;
}

.p-sdgsGoal__textLarge {
    font-size: 2.2rem;
    font-weight: 900;
}

.p-sdgsGoal__textSmall {
    font-size: 3.6rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #fff;
    padding: 5px;
    margin: 0 4px;
}

.g1 {
    background: #d9f2d9;
}

.g1 .goal-number {
    color: #2ea52f;
}

.g1 .p-sdgsGoal__textSmall {
    background-color: #2ea52f;
}

.g2 {
    background: #f6e3b9;
}

.g2 .goal-number {
    color: #d1871c;
}

.g2 .p-sdgsGoal__textSmall {
    background-color: #d1871c;
}

.g3 {
    background: #d5e7ff;
}

.g3 .goal-number {
    color: #1275d3;
}

.g3 .p-sdgsGoal__textSmall {
    background-color: #1275d3;
}

.g4 {
    background: #f2d1d3;
}

.g4 .goal-number {
    color: #c93442;
}

.g4 .p-sdgsGoal__textSmall {
    background-color: #c93442;
}

.g5 {
    background: #f4d5ed;
}

.g5 .goal-number {
    color: #b43588;
}

.g5 .p-sdgsGoal__textSmall {
    background-color: #b43588;
}

.p-sdgs__goalTitle {
    text-align: center;
    margin-top: 40px;
    font-size: 2.6rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.p-sdgs__goalTitle span img {
    width: 280px;
    vertical-align: middle;
    margin: 0 10px;
}

@media screen and (max-width: 768px) {
    .p-sdgs {
        margin: 0 0 80px;
    }

    .p-sdgsIntro h2 {
        font-size: 2.2rem;
    }

    .p-sdgsIntro__title {
        font-size: 1.8rem;
    }

    .p-sdgsIntro__title .number {
        font-size: 2.6rem;
    }

    .p-sdgsIntro__clean {
        padding: 10px 20px;
        font-size: 2.4rem;
        margin-bottom: 14px;
    }

    .p-sdgsIntro p {
        font-size: 1.3rem;
    }

    .p-sdgsGoal__number {
        padding: 10px 10px;
    }

    .goal-number {
        font-size: 3.8rem;
        width: 50px;
        margin-right: 10px;
    }

    .p-sdgsGoal__textLarge {
        font-size: 2rem;
    }

    .p-sdgsGoal__textSmall {
        font-size: 3rem;
        padding: 4px;
    }

    .p-sdgs__goalTitle {
        margin-top: 30px;
        font-size: 2.2rem;
    }

    .p-sdgs__goalTitle span img {
        width: 200px;
        margin: 0 8px;
    }
}

@media screen and (max-width: 590px) {
    .p-sdgs {
        margin: 0 0 60px;
    }

    .p-sdgs .c-inner {
        padding: 0 15px;
    }

    .p-sdgsIntro h2 {
        font-size: 2rem;
    }

    .p-sdgsIntro__title {
        font-size: 1.6rem;
        margin-bottom: 15px;
    }

    .p-sdgsIntro__title .number {
        font-size: 2.4rem;
    }

    .p-sdgsIntro__clean {
        padding: 8px 16px;
        font-size: 2rem;
    }

    .p-sdgsIntro p {
        font-size: 1.2rem;
    }

    .p-sdgsGoal {
        margin-top: 20px;
    }

    .p-sdgsGoal__number {
        flex-wrap: wrap;
        align-items: flex-start;
    }

    .p-sdgsGoal__wrap {
        flex-wrap: wrap;
        align-items: center;
        width: calc(100% - 65px);
    }

    .goal-number {
        font-size: 2.8rem;
        width: 40px;
        margin-right: 10px;
    }

    .p-sdgsGoal__textLarge {
        font-size: 1.6rem;
        width: 100%;
        margin-bottom: 5px;
    }

    .p-sdgsGoal__textSmall {
        font-size: 2rem;
        padding: 3px;
        letter-spacing: 0.03em;
    }

    .p-sdgs__goalTitle {
        font-size: 1.8rem;
        flex-wrap: wrap;
        line-height: 1.5;
    }

    .p-sdgs__goalTitle span img {
        width: 170px;
        margin: 0 0 0 5px;
        display: block;
    }
}
