/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */

html {
    color: #333333;
    font-size: 16px;
    line-height: 1.5;}
::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;}
::selection {
    background: #b3d4fc;
    text-shadow: none;}
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em;
    padding: 0;}
audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;}
fieldset {
    border: 0;
    margin: 0;
    padding: 0;}
textarea {
    resize: vertical;}
.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;}


/* ==========================================================================
SP
========================================================================== */
@font-face {
    font-family: "Yu Gothic";
     src: local("Yu Gothic Medium");
    font-weight: 400;
}

body {
    /*background: #EEEEEE;*/
    font-size: 14px;
    font-family:"Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
    color: #333;
}

h1, h2, h3, h4, dl, dt, dd {
   padding: 0;
   margin: 0;
}


h2 {
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 5%;
    padding-bottom: 1%;
}

h3 {
    font-size: 1.2rem;
    line-height: 1.5;
    text-align: center;
}

h4 {
    font-size: 1.1rem;
}
p {
    font-size: 1rem;
    margin: 5% 5%;
}

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



/* a {
   color: #09F;
   text-decoration: none;
} */

a:hover {
   text-decoration: none;
}

a:hover img {
   -webkit-filter: brightness(1.2);
    -moz-filter: brightness(1.2);
    -o-filter: brightness(1.2);
    -ms-filter: brightness(1.2);
    filter: brightness(1.2);
}
/* 
header {
   text-align: center;
}
 */


 .center {text-align: center;}
 .left {text-align: left;}
 .right {text-align: right;}
 .center {text-align: center !important;}
 .bold {font-weight: bold !important;}
 .y-marker-border {background:linear-gradient(transparent 50%, #ffff66 0%);}
 .b-marker-border  {background:linear-gradient(transparent 70%, #d6e7f8 0%);}
 .underline { border-bottom: solid 1px #333;}
 .double {
     border-bottom:double;
     border-color:#000;
     border-width:3px;
 }
 
 .strikeline {text-decoration: line-through !important;}
 .red {color: #F00;}
 .yellow{color: yellow !important;}
 .blue {color: blue !important;}
 .fsS {font-size: 0.8rem;}
 .fsM {font-size: 1.2rem;}
 .fsL {font-size: 2.8rem;}
 .pyellow {color: #fcea67;}
 

img {
    max-width: 100%;
    height: auto;}


.block {
    /* background: #FFFFFF; */
    max-width: 1200px;
    width: 96%;
    margin: 0 2%;
 }

.wrap {
   /* background: #FFFFFF; */
   max-width: 960px;
   width: 96%;
   margin: 0 2%;
}

.box {
   /* background: #FFFFFF; */
   max-width: 800px;
   width: 96%;
   margin: 0 2%;
}

footer {
    margin: 0;
    padding: 0;
    clear: both;
    text-align: center;
    color: #FFFFFF;
    font-size: 60%;
    line-height: 2.0em;
}

footer a {
   color: #FFFFFF;
}

address {
   font-style: normal;
   color: #fff;
   background: #1d2837;
}
.footer {
    padding: 3% 0 2%;
    font-size: 2rem;
}

.footer img {
    max-width: 20%;
    height: auto;
}
.privacy-policy {
    font-size: 0.7rem;
    border-bottom: 1px solid #cccccc;
    padding-bottom: 2%;
    margin-bottom: 8%;
}

.sp_hidden {
    display: none;
}


/* SP custum --------------------------------------------------------------*/

/* SP header ここから */

header .inner {
    max-width: 960px;
    width: 96%;
    margin: 0 2%;
    padding: 2% 0;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    align-items:center;
}

header h1 {
    max-width: 30%;
    height: auto;
    margin: 0 auto 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
} 
header h1 img {
    width: 90%;
    height: auto;

}

.header_ul {
    text-align: right;
    max-width: 70%;
    height: auto;
    margin: 0 0 0 auto;
}
.header_date {
    font-size: 0.7rem;
}
.header_tel {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1;
    color:#333;
}
.header_tel:before {
    content: "☎︎";
    display: inline-block;
}
/* SP header ここから */


.top .fixed {
    display: none;
}

/* SP infoここから */
.info {
    padding: 10% 0;
    background: #fdcd30;
    /* margin-top: 30px; */
}
.info .wrap {
    background: #fff;
    padding: 5% 0;
    width: 100%;
    margin: 0 auto;
}
.info_title {
    border-bottom: 1px solid #333;
    border-left: 5px solid #333;
    padding: 1% 0 1% 3%;
    margin: 0 5%;
    font-size: 1.5rem;
    text-align: left;
    line-height: 1.4;
}
.info p{
    font-size: 1.2rem;
}

.info .title2{
    font-size: 1.4rem;
    margin-top: 30px;
}

.info .box {
    border: dashed 1px #333;
    width: 90%;
    margin: 0 auto;
}
.info .box p {
    font-size: 0.9rem;
}
/* SP infoここまで */

/* SP hotel_cleanupここから */
.hotel_cleanup {
    padding: 5% 0;
    background: #deedff;
}
.hotel_cleanup .main_copy {
    margin-bottom: 1%;
    padding-bottom: 0;
    font-size: 1.3rem;
}
.hotel_cleanup .point_copy {
    background: #00419A;
    color: #fff;
    padding: 0 1%;
}
.hotel_cleanup p {
    font-size: 1.1rem;
    color: #333;
    margin: 0 5%;
    text-align: center;
    font-weight: bold;
}
/* SP hotel_cleanupここまで */



/* SP cta_lead　ここから */
.cta_lead {
    padding: 8% 0;
}
.cta_lead h2 {
    line-height: 1.2;
    margin: 2% 2%;
}
.arrow_tri {
    background: url(../images/down_arrow.svg) no-repeat top center;
    background-size: 100%;
    width: 20px;
    height: 20px;
    display: inline-block;    
    vertical-align: -7%;
    margin-left: 2%;
}
.cta_lead ul {
    display: flex;
    flex-wrap: wrap;
    width: 96%;
    max-width: 600px;
    margin: 0 auto;
}
.cta_lead li {
    width: 44%;
    background: #ff7b00;
    color: #fff;
    font-weight: bold;
    font-size: 1.0rem;
    padding: 2%;
    margin: 1% auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.public_transport {
    padding-top: 10%;
}
.h3_subtitle {
    background: #fff;
    border: #43a23f 3px solid;
    display: inline-block;
    border-radius: 50px;
    padding: 1% 7%;
}
.public_transport li{
    background: #43a23f;
}
.public_transport p {
    margin: 2% 5%;
}
.public_transport .p_end {
    font-size: 1.4rem;
    font-weight: bold;
}

/* SP cta_lead　ここまで */

/* SP ctaここから */
.cta {
    background: #436DA7;
    padding: 2% 0;
    margin: 0 auto;
}

.tel_cta {
    color: #fff;
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: 1px;
}
.tel_cta:before {
    content:"☎︎";
    display: inline-block;
}
.tel_sub {
    color: #fff;
    border: solid 1px #fff;
    border-radius: 100px;
    padding: 0.5% 0;
    margin: 1% 14%;
}
.btn_area {
    text-align: center;
    margin: 4% 0;
}
.cta_btn {
    width: 70%;
    height: auto;
}

/* SP ctaここまで */


/* SP leadここから */
.lead {
    padding: 6% 0 4%;
}
.lead h2 {
    margin: 0 auto;
    font-size: 1.2rem;
}
/* SP leadここまで */


/* SP mediaここから */
.media {
    background: url(../images/pc_bg_media.jpg) no-repeat center;
    background-size: cover;
    padding: 10% 0;
}
.media h2 {
    margin-bottom: 0%;
    padding-bottom: 1%;
    display: inline-block;
    position: relative;
}
.media h2:before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 80px;
    height: 2px;
    bottom: -8%;
    left: 50%;
    transform: translateX(-50%);
    background: #333;
}
.media img {
    width: 95%;
    margin-bottom: 5%;
}
/* SP mediaここまで */


/* SP point4ここから */
.point4 {
    /* background: #fff174; */
    background-image: linear-gradient(to left bottom, #fffce8 0%, #ffe02f 50%, #ffb300 100%);
    padding: 10% 0 4%;
}
.point4 h2 {
    margin-bottom: 8%;
    padding-bottom: 1%;
    display: inline-block;
    position: relative;
}

.point4 h2:before {
    content: "";
    position: absolute;
    width: 80px;
    height: 2px;
    background-color: #333;
    bottom: -8%;
    left:50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.point4_h2 {
    font-size: 1.8rem;
    color:#C60A19;
    line-height: 1;
}
.point4 .wrap {
    width: 100%;
    margin: 0 0 5% 0;
}

.point4_ul {
    width: 96%;
    height: auto;
    margin: 0 auto;
}
.point4_li {
    box-shadow: 0 0 4px rgb(0 0 0 / 10%);
}
.point4 .box {
    width: 90%;
    margin: 8% auto 0;
    padding: 5%;
    background: #fff;
    position: relative;
}
.point4 h3 {
    margin: 10% 0 5%;
    font-size: 1.4rem;
    text-align: center;
}
.pt_text {
    text-align: justify;
}
.pt_text {
    margin: 3% 0;
}
.pt_img {
    margin: 0 0 12% 0;
    background: #fff;
    text-align: center;
}
.point01_h3:before {
    position: absolute;
    display: inline-block;
    content: "";
    background: url(../images/point01.svg) no-repeat;
    background-size: contain;
    width: 70px;
    height: 70px;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
}
.point02_h3:before {
    position: absolute;
    display: inline-block;
    content: "";
    background: url(../images/point02.svg) no-repeat;
    background-size: contain;
    width: 70px;
    height: 70px;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
}
.point03_h3:before {
    position: absolute;
    display: inline-block;
    content: "";
    background: url(../images/point03.svg) no-repeat;
    background-size: contain;
    width: 70px;
    height: 70px;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
}
.point04_h3:before {
    position: absolute;
    display: inline-block;
    content: "";
    background: url(../images/point04.svg) no-repeat;
    background-size: contain;
    width: 70px;
    height: 70px;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
}
/* SP point4ここまで */

/* SP vaccineここから */
.vaccine {
    background: #F5F5F5;
    padding: 8% 0;
}
.vaccine h2 {
    background: #fff;
    border-radius: 50px;
    width: 70%;
    margin: 0 auto;
    padding: 1% 0;
    font-size: 1.2rem;
}
.vaccine_text {
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    margin: 0 5% 5% 5%;
}
.vaccine_img {
    margin: 0 auto;
    width: 96%;
    height: auto;
    text-align: center;
}
.vaccine_img img {
    box-shadow: 0 0 5px rgb(0 0 0 / 20%);
    width: 96%;
    margin: 0 2%;
}
.vaccine_sub {
    font-size: 0.9rem;
    font-weight: normal;
    text-align: center;
}

/* SP vaccineここまで */



/* SP　cleanupここから */
.cleanup {
    padding: 8% 0;
}
.cleanup h2 {
    margin: 0 0 4% 0;
    padding: 0;
    font-size: 1.6rem;
    line-height: 1.2;
    letter-spacing: 0.05em;
}
.cleanup h3 {
    font-size: 1rem;
    margin-bottom: 2%;
    line-height: 1.2;
}
.cleanup .flexbox {
    margin-top: 5%;
}

.cleanup ul {
    width: 90%;
    margin: 0 auto;
    padding: 4% 6% 2%;
}
.cleanup li {
    font-size: 1.2rem;
    font-weight: bold;
    position: relative;
    margin: 0 0 6% 6%;
    padding: 0 0 1% 2%;
    border-bottom: solid 2px #436DA7;
}
.cleanup p {
    background: #DC373D;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    margin: 2% 3%;
    padding: 2% 4%;
    border-radius: 6px;
    display: inline-block;
    
}
.cleanup li:before {
    content: "";
    display: inline-block;
    background: url(../images/check_icon.svg) no-repeat;
    background-size: contain;
    vertical-align: middle;
    width: 25px;
    height: 25px;
    margin-right: 2%;
    position: absolute;
    top: 58%;
    left: -30px;
    transform: translateY(-50%);
  }
  .cleanup .img_box {
    text-align: center;
    margin-top: 8%;
}
  .box_area {
      text-align: center;
  }

/* SP　cleanupここまで */

/* SP　priceここから */
.price {
    background: #ccf2ff url(../images/sp_bg_price.png) repeat bottom center;
    background-size: 100%;
    padding: 10% 0;
}
.price .wrap {
    background:#fff;
    padding: 4% 0;
    width: 94%;
    border: solid 4px #00419A;
}
.price h2 {
    padding-bottom: 0;
    margin-bottom: 0;
    position: relative;
}
.price h2:before {
    content: "";
    position: absolute;
    width: 80px;
    height: 2px;
    background-color: #333;
    bottom: -8%;
    left:50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.price h3 {
    background: #00419A;
    color: #fff;
    border-radius: 100px;
    margin: 5% auto 2%;
    font-size: 1rem;
    padding: 1% 0;
    display: inline-block;
    padding: 0.5% 10%;
}
.price h3:nth-of-type(2) {
    margin-top: 15%;
    background: #fca800;
}
.price .price_h4 {
    font-size: 1.1rem;
    margin: 2% 0;
}
.urutora{
    padding: 2% 0;
}
.price_ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.price_li {
    width: 48%;
}

/* 料金表 */
    .price_dl {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        border-radius: 10px;
        border: 2px solid #436DA7;
        margin: 0 4%;
        z-index: 100;
    }
    .price_dt {
        width: 50%;
        font-size: 1.0rem;
        padding: 2% 0;
    }
    .price_dd {
        width: 50%;
        padding: 2% 0 0 0;
        text-align: center;
        font-size: 1.0rem;
    }
    .price_dl dt:nth-of-type(odd), .price_dl dd:nth-of-type(odd) {
        background: #E8F2FF;
    }
    .price_dl dt:first-of-type, .price_dl dd:first-of-type, .option_dt {
        background: #436DA7;
        color:#fff;
    }
    .price_dl dt:first-of-type {
        border-radius: 6px 0 0 0; 
    }
    .price_dl dd:first-of-type {
        border-radius: 0 6px 0 0;      
    }
    .trafic {
        font-size: 0.8rem;
        margin: 5% 5%;
    }
    .red {
        color: #C60A19;
    }
    /* 料金表 */

    /* オプションここから */
    .price .wrap:nth-of-type(2) {
        padding: 0 0 5% 0;
        border: solid 4px #ffffff;
    }
    .price .wrap:nth-of-type(3) {
        padding: 0 0 5% 0;
        border: solid 4px #ffffff;
    }
    .option_h4 {
        background: #333;
        display: inline-block;
        color: #fff;
        font-size: 0.8rem;
        padding: 1% 6% 2%;
        border-radius: 0 0 10px 10px;
    }

    .option_dl {
        border-radius: 10px;
        border: 2px solid #fca800;
        margin: 0 2%;
    }
    .option_dt {
        padding: 2% 0;
        background: #fca800;
        border-radius: 6px 6px 0 0; 
    }

    .option_dd {
        padding: 7% 0;
    }
    .bronds_ul {
        text-align: left;
        padding: 2% 10%;
        margin: 0 auto;
    }
    .bronds_li {
        line-height: 2.4;
    }
    .bronds_li:before {
        content:"";
        display: inline-block;
        background: url(../images/check.svg) no-repeat top center;
        background-size: contain;
        width: 20px;
        height: 20px;
        margin-right: 2%;
        left:0;
    }
    /* オプションここまで */


.regular {
    padding: 0;
    margin: 10% auto 0;
    
}
.regular .block {
    background: #fff;
    padding: 0% 0;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.reglar_h3 {
    background: none !important;
    color: #000 !important;
}
.regular p {
    text-align: left;
    line-height: 1.8;
}

/* SP　priceここまで */

/* SP flowここから */
.flow {
    background:url(../images/pc_bg_flow.jpg) no-repeat top center;
    background-size: cover;
    padding: 8% 0;
}
.flow h2 {
    position: relative;
    margin-bottom: 7%;
}

.flow h2:before {
    content: "";
    position: absolute;
    width: 80px;
    height: 2px;
    background-color: #333;
    bottom: -8%;
    left:50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.flow .box {
    background: #fff;
    padding: 12% 0px 5%;
    border: #00419A solid 4px;
    width: 94%;
    position: relative;
    margin-top: 12%;
}
.step01_h3:before {
    position: absolute;
    display: inline-block;
    content: "";
    background: url(../images/step01.svg) no-repeat;
    background-size: contain;
    width: 60px;
    height: 60px;
    top: -32px;
    left: 50%;
    transform: translateX(-50%);
}
.step02_h3:before {
    position: absolute;
    display: inline-block;
    content: "";
    background: url(../images/step02.svg) no-repeat;
    background-size: contain;
    width: 60px;
    height: 60px;
    top: -32px;
    left: 50%;
    transform: translateX(-50%);
}
.step03_h3:before {
    position: absolute;
    display: inline-block;
    content: "";
    background: url(../images/step03.svg) no-repeat;
    background-size: contain;
    width: 60px;
    height: 60px;
    top: -32px;
    left: 50%;
    transform: translateX(-50%);
}
.step04_h3:before {
    position: absolute;
    display: inline-block;
    content: "";
    background: url(../images/step04.svg) no-repeat;
    background-size: contain;
    width: 60px;
    height: 60px;
    top: -32px;
    left: 50%;
    transform: translateX(-50%);
}
.down_arrow {
    font-size: 1.4rem;
    color: #00419A;
    margin: 3% auto;
}
.flow_img img {
    width: 90%;
    height: auto;
}
/* SP flowここまで */

/* SP faqここから */
.faq {
    padding: 8% 0 5%;
}
.faq h2 {
    font-size: 1.4rem;
    color: #333333;
    position: relative;
    margin-bottom: 7%;
}
.faq h2:before {
    content: "";
    position: absolute;
    width: 80px;
    height: 2px;
    background-color: #333;
    bottom: -8%;
    left:50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.faq h3 {
    position: relative;
    text-align: left;
    font-size: 1.0rem;
    padding: 0 5% 0 15%;
}
.faq h3:before {
    content: "";
    display: inline-block;
    background: url(../images/q_icon.svg) no-repeat;
    background-size: contain;
    vertical-align: middle;
    width:32px;
    height: 32px;
    margin-right: 2%;
    position: absolute;
    top:50%;
    left:0;
    transform: translateY(-50%);
  }

/* SP faqここまで */

/* SP アコーディオンここから */
.faq_details {
    max-width: 640px;
    width: 100%;
    margin: 0 auto;
}
summary, .answer p {
    font-size: 0.9rem;
}
summary{
outline: none;
position: relative;
padding: 5% 5% 5% 3%;
cursor: pointer;
background-color: #eeeeee;
color: #333333;
margin: 3% auto 5%;
}
summary::-webkit-details-marker{
position: absolute;
color: transparent;
}
summary:hover, .faq_details[open] summary {
background-color: #e4e4e4;
/* margin-bottom: 0px; */
}
summary::after {
content: '+';
font-size: 130%;
position: absolute;
top: 45%;
right: 5%;
transform: translateY(-50%);
transition: transform .5s;
}
.faq_details[open] summary::after{
transform:translateY(-50%) rotate(45deg);
}
.answer {
background-color: #fff;
margin: 0 auto 2%;
border: solid 1px #eeeeee;
}
.answer p {
background: none;
padding: 0;
/* font-weight: normal; */
}
.answer img {
max-width: 80%;
height: auto;
}

.faq_details[open] .answer{
animation:fadein .5s ease-in-out;
}
@keyframes fadein {
0% { opacity: 0; }
100%{ opacity: 1; }
}

.acd-bg:hover, .faq_details[open] summary {
background-color: #eeeeee;
margin-bottom: 0px;
}
/* SP アコーディオンここまで */


.form_ml50 {
    margin-left: 5%;
}

/* SP General Purpose ------------------------------------------------------ */

.pc {display: none;}
.sp {display: inline;}
.brsp {display: inline;}


/* SP design ----------------------------------------------------------------- */

/* 三角ここから */
.triangle{
display: block;
width: 0;
height: 0;
border-top: 10px solid #fff;
border-right: 10px solid transparent;
border-bottom: 10px solid transparent;
border-left: 10px solid transparent;
margin: 0 auto;
}
/* 三角ここから */

/*基本の吹き出し*/
.balloon{
    position: relative;
    background: #333333;
    padding: 10% 0;
  }
.balloon:after{
    content: "";
    position: absolute;
    right: 0;
    bottom: -20px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #333333 transparent transparent transparent;
    border-width: 20px 20px 0 20px;
}

/* sp　生息場所ここから */
@media screen and (max-width: 768px) {
    .live {
        margin-top: 40px;
        text-align: center;
    }

    .live h2 {
        margin-bottom: 2%;
    }

    .live p {
        text-align: left;
    }

    .removal-methods h2 {
        margin-top: 10%;
    margin-bottom: 2%;
    }


    .achievements {
        margin-bottom: 40px;
        margin-top: 30px;
        
    }
    .achievements h2 {
        color: #C60A19;
    padding-right: 5%;
    padding-left: 5%;
    }

    .hidden-mobile{
        display : none ;
      }
}
/* sp　生息場所ここまで */
.sec05-video-content {
    margin: 0 auto;
  }

  .sec05-video-content video {
    padding-top: 0px;
    padding-bottom: 6%;
    width: 100%;
    position: relative;
  }
  
  .sec05-video-content video::before {
    content: "";
    position: absolute;
  }

  @media (min-width: 744px) {
    .sec05-video-content {
      max-width: 900px;
      padding: 50px 40px 0;
    }
    .sec05-video-content video {
        padding-top: 0px;
        padding-bottom: 6%;
        width: 90%;
        position: relative;
      }
  }
  @media (max-width: 743px) {
    .sec05-video-content {
      max-width: 100%;
      padding-top: 40px
    }
    .media img {
        width: 96%;
        margin-bottom: 5%;
    }
  }

/* SP margin padding ---------------------------------------------------------- */
.mt0 {margin-top:0 !important;}
.mt10 {margin-top:1% !important;}
.mt20 {margin-top:2% !important;}
.mt30 {margin-top:3% !important;}
.mt40 {margin-top:4% !important;}
.mt50 {margin-top:5% !important;}
.ml0 {margin-left:0 !important;}
.ml10 {margin-left:1% !important;}
.ml20 {margin-left:2% !important;}
.ml30 {margin-left:3% !important;}
.ml40 {margin-left:4% !important;}
.ml50 {margin-left:5% !important;}
.mr0 {margin-right:0 !important;}
.mr10 {margin-right:1% !important;}
.mr20 {margin-right:2% !important;}
.mr30 {margin-right:3% !important;}
.mr40 {margin-right:4% !important;}
.mr50 {margin-right:5% !important;}
.mb0 {margin-bottom:0 !important;}
.mb10 {margin-bottom:1% !important;}
.mb20 {margin-bottom:2% !important;}
.mb30 {margin-bottom:3% !important;}
.mb40 {margin-bottom:4% !important;}
.mb50 {margin-bottom:5% !important;}
.pt10 {padding-top:1% !important;}
.pt20 {padding-top:2% !important;}
.pt30 {padding-top:3% !important;}
.pt40 {padding-top:4% !important;}
.pt50 {padding-top:5% !important;}
.pl0 {padding-left:0 !important;}
.pl20 {padding-left:2% !important;}
.pl30 {padding-left:3% !important;}
.pl40 {padding-left:4% !important;}
.pl50 {padding-left:5% !important;}
.pr10 {padding-right:1% !important;}
.pr20 {padding-right:2% !important;}
.pr30 {padding-right:3% !important;}
.pr40 {padding-right:4% !important;}
.pr50 {padding-right:5% !important;}
.pb10 {padding-bottom:1% !important;}
.pb20 {	padding-bottom:2% !important;}
.pb30 {padding-bottom:3% !important;}
.pb40 {padding-bottom:4% !important;}
.pb50 {padding-bottom:5% !important;}


.cta01 .wrapper {
    padding: 50px 0 50px 0;
    background: linear-gradient(90deg, #0066aab8, #9ecffc 100%);
    /* .cta01 .inner closed */
  }
  
  .cta01 .wrapper .inner {
    max-width: 1000px;
    margin: 0 auto;
    /* .cta01 .inner .haedline closed */
    /* .cta01 .inner .box closed */
  }
  
  .cta01 .wrapper .inner .headline {
    width: 90%;
    padding-bottom: 30px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #fff;
  }
  
  .cta01 .wrapper .inner .headline h2 {
    line-height: inherit;
    font-size: 55px;
    margin: 0 30px 0 0;
    border-right: solid 2px #fff;
    padding: 0 30px 0 0;
    font-family: futura-pt,futura-pt-bold, sans-serif;
    font-weight: 700;
    text-align: left;
  }
  
  .cta01 .wrapper .inner .headline h3 {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 1px;
    text-align: left;
  }
  
  .cta01 .wrapper .inner .box01 {
    text-align: center;
    background: #fff;
    padding: 45px 45px 45px 45px;
    display: flex;
    justify-content: center;
    /* .cta01 .inner .box .tel closed */
    flex-direction: column;
    align-items: center;
  }
  
  .cta01 .wrapper .inner .box01 .tel a {
    color: #000;
    text-decoration: none;
    margin: 0 55px 0 0;
    pointer-events: none;
  }
  
  .cta01 .wrapper .inner .box01 .tel .number {
    margin: 0;
    font-weight: 700;
    font-size: 50px;
    text-align: center;
  }
  
  .cta01 .wrapper .inner .box01 .tel img {
    vertical-align: bottom;
    width: 50px;
    height: auto;
    position: relative;
    top: -10px;
  }
  
  .cta01 .wrapper .inner .box01 .tel .detail {
    margin: 0;
    font-size: 18px;
    letter-spacing: 1px;
  }
  
  .cta01 .wrapper .inner .box01 .tel .detail span {
    color: #aaa;
  }
  .cta01 .wrapper .inner .box01 .to-contact {
    padding-top: 15px;
    text-align: -webkit-center;
  }
  .cta01 .wrapper .inner .box01 .to-contact_line {
    text-align: -webkit-center;
  }
  .cta01 .wrapper .inner .box01 .to-contact a {
    display: block;
    width: 400px;
    background: #2583c2;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    text-align: left;
    text-decoration: none;
    padding: 20px 0 20px 8%;
    line-height: 1.2;
    position: relative;
  }
  
  .cta01 .wrapper .inner .box01 .to-contact_line a {
    margin-top: 10px;
    display: block;
    width: 400px;
    background: #02be26;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    text-align: left;
    text-decoration: none;
    padding: 20px 0 20px 8%;
    line-height: 1.2;
    position: relative;
  }
  
  .cta01 .wrapper .inner .box01 .to-contact a img {
    width: 25px;
    height: 25px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
  }
  @media screen and (max-width: 767px) {
    .cta01 {
        width: 100%;
        margin: 0 0 0 0;
        /* .cta01 .wrapper closed */
      }
      .cta01 .wrapper {
        padding: 40px 0 40px 0;
        /* .cta01 .inner closed */
      }
      .cta01 .wrapper .inner {
        width: 90%;
        margin: 0 auto;
        /* .cta01 .inner .haedline closed */
        /* .cta01 .inner .box closed */
      }
      .cta01 .wrapper .inner .headline {
        display: block;
        margin: 0 0 5px 0;
      }
      .cta01 .wrapper .inner .headline h2 {
        font-size: 38px;
        margin: 0;
        border-right: none;
        padding: 0 0px 0 0;
        letter-spacing: 1px;
      }
      .cta01 .wrapper .inner .headline h3 {
        font-size: 16px;
        letter-spacing: 1px;
        border-left: solid 2px #fff;
        padding: 0 0 0 10px;
      }
      .cta01 .wrapper .inner .box01 {
        padding: 30px 2%;
        display: block;
        /* .cta01 .inner .box .tel closed */
      }
      .cta01 .wrapper .inner .box01 .tel a {
        margin: 0 0 0px 0;
        pointer-events: all;
      }
      .cta01 .wrapper .inner .box01 .tel .number {
        font-size: 2.4rem;
        letter-spacing: 1px;
      }
      .cta01 .wrapper .inner .box01 .tel img {
        width: 38px;
        top: -7px;
      }
      .cta01 .wrapper .inner .box01 .tel .detail {
        padding: 0px 0 10px 0;
        font-size: 16px;
        letter-spacing: 1px;
        text-align: center;
      }
      .cta01 .wrapper .inner .box01 .tel .detail span {
        display: block;
        color: #aaa;
      }
      .cta01 .wrapper .inner .box01 .to-contact a {
        max-width: 300px;
        width: 100%;
        color: #fff;
        font-size: 16px;
        padding: 20px 0 20px 5%;
        text-align: left;
        margin: 0 auto;
      }
    
      .cta01 .wrapper .inner .box01 .to-contact_line a {
        max-width: 300px;
        width: 100%;
        color: #fff;
        font-size: 16px;
        padding: 20px 0 20px 5%;
        text-align: left;
        margin: 10px auto;
      }
    
      .cta01 .wrapper .inner .box01 .to-contact a img {
        width: 20px;
        height: 20px;
        position: absolute;
        right: 6%;
        top: 50%;
        transform: translateY(-50%);
      }
    }
    @media screen and (max-width: 320px) {
        .cta01 {
          width: 100%;
          margin: 0 0 0 0;
          /* .cta01 .wrapper closed */
        }
        .cta01 .wrapper {
          padding: 40px 0 40px 0;
          /* .cta01 .inner closed */
        }
        .cta01 .wrapper .inner {
          width: 85%;
          margin: 0 auto;
          /* .cta01 .inner .haedline closed */
          /* .cta01 .inner .box closed */
        }
        .cta01 .wrapper .inner .headline {
          display: block;
          margin: 0 0 30px 0;
        }
        .cta01 .wrapper .inner .headline h2 {
          font-size: 38px;
          margin: 0;
          border-right: none;
          padding: 0 0px 0 0;
          letter-spacing: 1px;
        }
        .cta01 .wrapper .inner .headline h3 {
          font-size: 16px;
          letter-spacing: 1px;
          border-left: solid 2px #fff;
          padding: 0 0 0 10px;
        }
        .cta01 .wrapper .inner .box01 {
          padding: 25px 10px 25px;
          display: block;
          /* .cta01 .inner .box .tel closed */
        }
        .cta01 .wrapper .inner .box01 .tel .number {
          font-size: 29px;
        }
        .cta01 .wrapper .inner .box01 .tel img {
          width: 28px;
          top: 3px;
        }
        .cta01 .wrapper .inner .box01 .tel .detail {
          font-size: 15px;
          text-align: center;
        }
        .cta01 .wrapper .inner .box01 .to-contact a {
          font-size: 15px;
        }
        .cta01 .wrapper .inner .box01 .to-contact_line a {
          font-size: 15px;
        }
        .cta01 .wrapper .inner .box01 .to-contact a img {
          width: 18px;
          height: auto;
          right: 8px;
        }
      }
      @media screen and (min-width: 768px) and (max-width: 1023px) {
        .cta01 .wrapper .inner .box01 .tel {
            width: 50%;
          }
          .cta01 .wrapper .inner .box01 .tel .number {
            font-size: 2.4rem;
          }
          .cta01 .wrapper .inner .box01 .tel .detail {
            text-align: center;
          }
          .cta01 .wrapper .inner .box01 .to-contact a {
            width: 355px;
            text-align: left;
            padding-left: 10%;
            margin-left: 5%;
          }
        
          .cta01 .wrapper .inner .box01 .to-contact_line a {
            width: 355px;
            text-align: left;
            padding-left: 10%;
            margin-left: 5%;
          }
        
          .cta01 .wrapper .inner .box01 .tel a {
            margin: 0;
            pointer-events: none;
          }
        }







/* ==========================================================================
PC
========================================================================== */


@media screen and (min-width: 768px) {
/* html {
    font-size: 0.9em;
} */

h2 {
    font-size: 2.0rem;
    line-height: 1.5;
}
h3 {
    font-size: 1.4rem;
    line-height: 1.5;
}
p {
    font-size: 1.0rem;
    margin: 30px 100px;
    }
.privacy-policy {
    font-size: 0.8rem;
    text-align: center;
}
.footer {
    padding: 2% 0;
}
.footer img {
    max-width: 15%;
    height: auto;
    padding: 10px 0;
}

address {
    padding: 5px 0;
}

.block {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
 }

.wrap {
   max-width: 960px;
   width: 100%;
   margin: 0 auto;
}

.box {
   max-width: 800px;
   width: 100%;
   margin: 0 auto;
}



/* PC custum --------------------------------------------------------------*/

/* PC headerここから */
header .inner {
    max-width: 1200px;
    width:96%;
    margin: 0 auto;
    padding: 1% 2%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    align-items:center;
}
header h1 {
    max-width: 20%;
    height: auto;
} 
header h1 img {
    width: 100%;
    height: auto;
}
header nav {
    max-width: 20%;
    height: auto;
}
.header_tel {
    color: #333;
    pointer-events: none;
}
/* PC headerここから */


.top .fixed {
    position: fixed;
    right: 0;
    top: 100px;
    background: #267382;
    z-index: 100;
    display: inherit;
}
.top .fixed p {
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 18px;
    margin: 0;
    padding: 20px 10px;
    color: #fff;
    letter-spacing: 0.1em;
}


/* PC infoここから */
.info {
    padding: 30px 0;
    margin-top: 30px;
}
.info .wrap {
    padding: 20px 0;
    width: 90%;
    margin: 0 auto;
}

.info p {
    margin: 15px 80px;
    font-size: 1.3rem;
}

.info_title {
    border-bottom: 1px solid #333;
    border-left: 5px solid #333;
    padding: 5px 0 5px 20px;
    margin: 0 50px;
    font-size: 1.6rem!important; 
    text-align: left;
    line-height: 1.4;
}



.info .title2{
    margin-top: 15px;
}

.info .box {
    width: 75%;
    margin: 20px auto;
}
.info .box p {
    margin: 10px 20px;
}


.ms-image {
    margin-bottom: 40%;

}

.sm-last {
margin-bottom: 50px ;
}


/* PC infoここまで */


/* PC hotel_cleanupここから */
.hotel_cleanup {
    padding: 20px 0;
    letter-spacing: 1px;
}
.hotel_cleanup .main_copy {
    font-size: 1.6rem;
    margin-bottom: 5px;
}
.hotel_cleanup p {
    font-size: 1.1rem;
    letter-spacing: 1px;
    margin: 0 5%;
}
/* PC hotel_cleanupここまで */


/* PC leadここから */
.lead {
    padding: 2% 0 0;
}
.lead h2 {
    width: 60%;
    height: auto;
    margin: 0 auto;
    padding: 0;
}

/* PC leadここまで */


/* PC ctaここから */
.cta {
    padding: 2% 0;
    margin: 0 auto;
}
.cta .wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 800px;
    width: 100%;
}
.tel_area {
    margin-left: 10%;
}
.tel_cta {
    font-size: 2.4rem;
    pointer-events: none;
}

.tel_sub {
    padding: 0.5% 0;
    margin: 2% 0;
}
.btn_area {
    margin: 0;
}
.cta_btn {
    width: 70%;
    height: auto;
}
.public_transport {
    padding-top: 3%;
}
.h3_subtitle {
    padding: 0.5% 3%;
}
.public_transport .p_end {
    font-size: 1.8rem;
}
/* PC ctaここまで */

/* PC cta_lead　ここから */
.cta_lead {
    padding: 4% 0;
}
.cta_lead h2 {
    line-height: 1.2;
    font-size: 2.2rem;
}
.arrow_tri {
    background: url(../images/down_arrow.svg) no-repeat top center;
    background-size: 100%;
    width: 20px;
    height: 20px;
    display: inline-block;    
    vertical-align: -7%;
    margin-left: 1%;
}
.dot_text {
    padding-top: .2em;
    background-position: top left;
    background-repeat: repeat-x;
    background-size: 1.0em .3em;
    background-image: radial-gradient(.12em .12em at center center,#C60A19,#C60A19 100%,transparent);
}
.dot_text2 {
    padding-top: .2em;
    background-position: top left -2px;
    background-repeat: repeat-x;
    background-size: .9em .3em;
    background-image: radial-gradient(.12em .12em at center center,#C60A19,#C60A19 100%,transparent);
}

.cta_lead ul {
    max-width: 1200px;
}
.cta_lead li {
    width: 11%;
    font-size: 1.1rem;
    padding: 1% 2%;
    margin: 0.5% auto;
}
/* PC cta_lead　ここまで */



/* PC mediaここから */
.media {
    background: url(../images/pc_bg_media.jpg) no-repeat center;
    background-size: cover;
    padding: 5% 0 5%;
}

/* PC mediaここまで */

/* PC　生息場所ここから */
.live {
    text-align: center;
    margin-top: 85px;
}


.live h2 {
    position: relative;
}

.live h2:before {
    content: "";
    position: absolute;
    width: 80px;
    height: 2px;
    background-color: #333;
    bottom: -8%;
    left:50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.live p {
text-align: left;
}

.removal-methods h2 {
    margin-top: 75px;
    position: relative;
    margin-bottom: 50px;
}

.removal-methods h2:before {
    content: "";
    position: absolute;
    width: 80px;
    height: 2px;
    background-color: #333;
    bottom: -8%;
    left:50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.removal {
    display: flex;
}
.vacuum {
    width: 50%;
}

.vacuum p {
    margin-left: 0;
    margin-right: 0;
    width: 90%;
    padding-left: 4%;
    text-align: left;
}

.vacuum picture {
    padding-left: 3%;
}

.gel {
    width: 50%;
}

.gel p {
    width: 80%;
    padding-left: 3%;
    margin-left: 0;
    margin-right: 0;
    text-align: left;
}

.achievements {
    margin-top: 30px;
    margin-bottom: 85px;
    color: #C60A19;
}

/* PC　生息場所ここまで */

/* PC point4ここから */
.point4 {
    padding: 8% 0;
}
.point4 .wrap {
    width: 100%;
    margin: 0 auto 5%;
}
.point4 h2 {
    margin-bottom: 7%;
    padding-bottom: 1%;
}

.point4_h2 {
    font-size: 2.4rem;
    color:#C60A19;
}

.point4 .box {
    width: 90%;
    margin: 0 auto;
    padding: 8% 5% 5%;
    background: #fff;
    position: relative;
    text-align: left;
}
.point4 h3 {
    font-size: 1.6rem;
    margin: 0;
    text-align: left;
    border-bottom: 2px solid #333;
    display: inline-block;
}
.pt_text {
    text-align: justify;
    width: 100%;
    margin: 4% 0;
    text-align: left;
}

.point4_li{
    display: flex;
    margin-bottom: 5%;
}
.pt_img {
    width: 100%;
    margin: 0;
}
.point4_li .point4_left {
    order: 2;
}

.pt_img_right {
    order: 1;
}

/* PC point4ここまで */


/* PC vaccineここから */
.vaccine {
    padding: 3% 0 5%;
}
.vaccine .wrap {
    position: relative;
}

.vaccine h2 {
    border-radius: 50px;
    width: 80%;
    margin: 0 auto;
    padding: 1% 0;
    font-size: 1.2rem;
}
.vaccine_area {
    display: flex;
    justify-content: center;
    align-items: center;
}
.vaccine_text {
    font-size: 1.8rem;
    text-align: left;
    margin: 0 0 0 10%;
    width: 40%;
}
.vaccine_sub {
    font-size: 1rem;
}
.vaccine_img {
    margin: 0 10% 0 0;
    width: 40%;
    height: auto;
    text-align: right;
}
.vaccine_img img {
    box-shadow: none;
    width: 100%;
    margin: 0;
}
/* .vaccine_icon {
    position: absolute;
    right: 0;
    top:-37%;
    width: 140px;
    height: auto;
} */
/* PC vaccineここまで */


/* PC　cleanupここから */
.cleanup {
    padding: 5% 0;
}
.cleanup h2 {
    margin: 0 0 1% 0;
    padding: 0;
    font-size: 2rem;
}
.cleanup h3 {
    font-size: 1rem;
    margin-bottom: 2%;
}
.cleanup .flexbox {
    display: flex;
    margin-top: 5%;
}
.cleanup  .clean_list {
    width: 46%;
    padding: 0 2%;
}
.cleanup li {
    font-size: 1.2rem;
    margin: 0 6% 6% 14%;
    padding: 0 0 1% 1%;
}
.cleanup p {
    font-size: 1.4rem;
    margin: 2% 0%;
    padding: 2% 15%;
    border-radius: 6px;
}
.cleanup .img_box {
    margin-top: 0;
    display: flex;
    align-items: center;
}

.cleanup .img_box img {
    width: 90%;
}
/* PC　cleanupここまで */

/* PC　priceここから */
.price {
    background: url(../images/bg_price.jpg) no-repeat bottom center fixed;
    background-size: 100%;
    padding: 8% 0;
}
.price .wrap {
    padding: 4% 0;
}
.price h2 {
    padding-bottom: 0;
    margin-bottom: 0;
}


.price h3 {
    margin: 7% 20% 2%;
    font-size: 1rem;
    padding: 1% 0;
    display: inline-block;
    padding: 0.5% 5%;
}
.price h3:nth-of-type(2) {
    margin-top: 8%;
}
.price .price_h4 {
    font-size: 1.6rem;
    margin: 0 0 2%;
}
.urutora{
    padding: 2% 0;
}
.price_ul {
    display: flex;
    flex-wrap:nowrap;
    justify-content: center;
    width: 80%;
    margin: 0 auto;
}

.price_li {
    width: 48%;
}

/* 料金表 */
    .price_dl {
        border-radius: 10px;
        border: 2px solid #436DA7;
        margin: 0 2%;
        z-index: 100;
        max-width: 600px;
        width: 100%;
        margin: 1% auto;
    }
    .price_dt {
        font-size: 1.0rem;
        padding: 2% 0;
    }
    .price_dd {
        padding: 2% 0 0 0;
        text-align: center;
        font-size: 1.0rem;
    }
    .trafic {
        font-size: 0.8rem;
        margin: 0 auto;
        max-width: 600px;
        width: 100%;
    }
    /* 料金表 */

    /* オプションここから */
    .price .wrap:nth-of-type(2) {
        padding: 0 0 2% 0;
        border: solid 4px #fca800;
    }
    .price .wrap:nth-of-type(3) {
        padding: 0 0 4% 0;
        border: solid 4px #fca800;
    }
    .option_h4 {
        display: inline-block;
        font-size: 1rem;
        padding: 1% 5%;
        border-radius: 0 0 10px 10px;
    }
    .option_area {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 4%;
    }
    .option_ttl {
        display: inline-block;
        width: 30%;
        margin: 0 10%;
        text-align: right;
        font-size: 1.2rem;
    }
    .option_dl {
        border-radius: 10px;
        margin: 0 auto;
        width: 40%;
    }
    .option_dt {
        padding: 2% 0;
    }

    .option_dd {
        padding: 7% 0;
    }
    .option_ttl2 {
        font-size: 1.6rem;
        margin: 4% auto 0;
    }
    .bronds_ul {
        text-align: left;
        padding: 2% 0 2% 5%;
        margin: 0 auto;
        width: 35%;
    }
    .bronds_li {
        line-height: 2.4;
        font-size: 1.2rem;
    }
    .bronds_li:before {
        content:"";
        display: inline-block;
        background: url(../images/check.svg) no-repeat top center;
        background-size: contain;
        width: 20px;
        height: 20px;
        margin-right: 2%;
        left:0;
    }
    /* オプションここまで */


    .regular {
        padding: 0;
        margin: 5% auto 5%;
        background: #fff;
    }

    .regular .block {
        padding: 2% 0 5%;
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
    }

    .flex-containe {
        display: flex;
    }

    .ms-left p {
        margin: 30px 20px;
    }

    .ms-left {
        width: 50%;
    }

    .ms-right {
        width: 40%;
        margin: 0 auto;
    }

    .flex-containe img {
        margin-top: 50px;
    }

    .flex-containe .bold {
        text-align: left;
    }

    .regular h3 {
        margin: 20px 30px 20px 20px;
        text-align: left;
        font-size: 24px;
    }

/* PC　priceここまで */


/* SP flowここから */
.flow {
    background:url(../images/pc_bg_flow.jpg) no-repeat top center;
    background-size: cover;
    padding: 8% 0;
}
.flow h3 {
    font-size: 1.2rem;
    margin-bottom: 6%;
}
.flow_flexbox {
    display: flex;
    vertical-align: top;
}
.flow .box {
    padding: 4% 0 3%;
    border: #00419A solid 4px;
    width: 94%;
    margin-top: 0;
}
.down_arrow {
    font-size: 1.4rem;
    margin: 0 1.5% 0 1.1%;
    top:-50%;
    transform: translateY(50%);
    position: relative;
}
.right_arrow {
    transform: rotate(-90deg);
    display:inline-block;
    position: absolute;
    top:0;
    right: 0;
    left:0
}
.flow_img {
    margin: 0;
}
.flow_img img {
    width: 90%;
    height: auto;
}
.flow_text {
    font-size: 0.9rem;
    margin: 6% 5%;
    line-height: 1.8;
}

/* SP flowここまで */


/* PC faqここから */
.faq {
    padding: 8% 0;
}
.faq h2 {
    font-size: 2.0rem;
    margin-bottom: 3%;
}
.faq h3 {
    font-size: 1rem;
    padding: 0 8%;
}
/* PC faqここまで */


/* PC アコーディオンcss*/
.faq_details {
    max-width: 690px;
    width: 100%;
    margin: 0 auto;
}
summary, .answer p {
    font-size: 1.0rem;
}
summary{
    position: relative;
    padding: 20px 20px 20px 20px;
    cursor: pointer;
    margin: 20px auto;
    font-weight: bold;
}
summary::-webkit-details-marker{
    position: absolute;
    color: transparent;
}

summary::after {
    content: '+';
    font-size: 130%;
    position: absolute;
    top: 45%;
    right: 30px;
    transform: translateY(-50%);
    transition: transform .5s;
}
.faq_details[open] summary::after{
    transform:translateY(-50%) rotate(45deg);
}
.answer {
    padding:0;
}
.answer p {
    background: none;
    margin: 3% 10%;
}
  
.faq_details[open] .answer{
    animation:fadein .5s ease-in-out;
}
 @keyframes fadein {
    0% { opacity: 0; }
    100%{ opacity: 1; }
}
  
.acd-bg:hover, .faq_details[open] summary {
      margin-bottom: 0px;
}
/* PC アコーディオンcss*/
/* slick sliderここから */
.pt3-slider {
    width: 80%;
    margin: 0 auto 2%;
}
.slick-prev {
    left: -25px!important;
	z-index: 100;
}
.slick-next {
    right: -25px!important;
}
/* slick sliderここまで */
.form_ml50 {
    margin-left: 0;
}

.info_dt:after {
    font-size: 0.7rem;
}


/* design ---------------------------------------------------------- */

.fsS {font-size: 80% !important;}
.fsM {font-size: 130% !important;
     line-height: 1.5em !important;}
.fsL {font-size: 180% !important;
   line-height: 1.5em !important;}

.rotateY {animation: r7 1s linear infinite;}
@keyframes r7 {
 0%   { transform: rotateY(0deg); }
 100% { transform: rotateY(360deg); }
}


/* PC General Purpose ------------------------------------------------------ */

.pc {display: inline;}
.sp {display: none;}

/* PC design ----------------------------------------------------------------- */

/* 三角ここから */
.triangle{
    display: block;
    width: 0;
    height: 0;
    border-top: 20px solid #333333;
    border-right: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 20px solid transparent;
    margin: 30px auto 0;
 }

/*基本の吹き出し*/
.balloon{
    padding: 2.5em 0;
  }
  .balloon:after{
    content: "";
    position: absolute;
    right: 0;
    bottom: -20px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #333333 transparent transparent transparent;
    border-width: 20px 20px 0 20px;
  }
  /*基本の吹き出し*/

/* PC margin padding ---------------------------------------------------------- */

.mt0 {margin-top:0 !important;}
.mt10 {margin-top:10px !important;}
.mt20 {margin-top:20px !important;}
.mt30 {margin-top:30px !important;}
.mt40 {margin-top:40px !important;}
.mt50 {margin-top:50px !important;}
.ml0 {margin-left:0 !important;}
.ml10 {margin-left:10px !important;}
.ml20 {margin-left:20px !important;}
.ml30 {margin-left:30px !important;}
.ml40 {margin-left:40px !important;}
.ml50 {margin-left:50px !important;}
.mr0 {margin-right:0 !important;}
.mr10 {margin-right:10px !important;}
.mr20 {margin-right:20px !important;}
.mr30 {margin-right:30px !important;}
.mr40 {margin-right:40px !important;}
.mr50 {margin-right:50px !important;}
.mb0 {margin-bottom:0 !important;}
.mb10 {margin-bottom:10px !important;}
.mb20 {margin-bottom:20px !important;}
.mb30 {margin-bottom:30px !important;}
.mb40 {margin-bottom:40px !important;}
.mb50 {margin-bottom:50px !important;}
.pt0 {padding-top:0 !important;}
.pt10 {padding-top:10px !important;}
.pt20 {padding-top:20px !important;}
.pt30 {padding-top:30px !important;}
.pt40 {padding-top:40px !important;}
.pt50 {padding-top:50px !important;}
.pl0 {padding-left:0 !important;}
.pl10 {padding-left:10px !important;}
.pl20 {padding-left:20px !important;}
.pl30 {padding-left:30px !important;}
.pl40 {padding-left:40px !important;}
.pl50 {padding-left:50px !important;}
.pr0 {padding-right:0 !important;}
.pr10 {padding-right:10px !important;}
.pr20 {padding-right:20px !important;}
.pr30 {padding-right:30px !important;}
.pr40 {padding-right:40px !important;}
.pr50 {padding-right:50px !important;}
.pb0 {padding-bottom:0 !important;}
.pb10 {padding-bottom:10px !important;}
.pb20 {padding-bottom:20px !important;}
.pb30 {padding-bottom:30px !important;}
.pb40 {padding-bottom:40px !important;}
.pb50 {padding-bottom:50px !important;}


}