/*
Theme Name: skycourt
*/

/* --------------------------
 共通設定
----------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* margin padding リセット */
html,
body {
	margin: 0;
	padding: 0;
}

/* font-size設定 */
html {
	font-size: 62.5%;
}
@media screen and (max-width:1024px) {
    html {
        font-size: 7.0px;
    }
}
@media screen and (max-width:540px) {
    html {
        font-size: 4.5px;
    }
}

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	background: #fff;
	color: #333;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
	overflow-wrap: break-word;
}
.body_content {
    overflow-x: hidden;
}

footer,
header,
section,
main {
	display: block;
}

/* 文字色設定 */
.fntcolor-white {
    color: #fff;
}
.fntcolor-blk {
    color: #000;
}
.fntcolor-blue-01 {
    color: #3054B4;
}
.fntcolor-blue-02 {
    color: #2E74B1;
}
.fntcolor-red-01 {
    color: #93131D;
}
.fntcolor-red-02 {
    color: #E01323;
}
.fntcolor-red-03 {
    color: #E3064A;
}
.fntcolor-org-01 {
    color: #E3A216;
}

/* 文字フォント各種設定 */
.bold {
    font-weight: bold;
}
.center {
    text-align: center;
}
.lh-1 {
    line-height: 1.0;
}
.lh-2 {
    line-height: 2.0;
}
.in-block {
    display: inline-block;
}
.m-0-auto {
    margin: 0 auto;
}
.br-pc {
    display: block;
}
.br-tb {
    display: none;    
}
.br-sp {
    display: none;
}

@media screen and (max-width:768px) {
    .br-tb {
        display: block;
    }
}

@media screen and (max-width:540px) {
    .br-pc {
        display: none;
    }
    .br-tb {
        display: none;
    }
    .br-sp {
        display: block;
    }
    .disp-pc {
        display: none;
    }
}

/* リンク書式 */
.link{
	text-decoration:underline;
	color:#93131D;
	display:inline-block;
}

/* flexbolx設定 */
.flex {
    display: flex;
}
.flex-center {
    display: flex;
    justify-content: center;
}
.flex-bw {
    display: flex;
    justify-content: space-between;
}
.flex-wrap {
    flex-wrap: wrap;
}
.flex-align-c {
    display: flex;
    align-items: center;
}

/* 文字の上の強調点々 */
.dot {
    position: relative;
    padding-top: 0.4em;
}     
.dot::before {
    position: absolute;
    content: "";
    width: 1.0rem;
    height: 1.0rem;
    border-radius: 50%;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
}
.dot-red::before {
    background-color: #93131D;
}
.dot-org::before {
    background-color: #FFBC2F;
}

@media screen and (max-width:768px) {
    .dot::before {
        width: 7px;
        height: 7px;
    }
}

/* 文字下線マーカー */
.under-01 {
    border-bottom: 2.4rem solid #ffa627;
}
.under-02 {
    background: linear-gradient(transparent 87%, #E2962A 0%);
}
.under-03 {
    background: linear-gradient(transparent 66%, #FFB23A 0%);
    padding-bottom: 0.5rem;
}
.under-04 {
    border-bottom: 6px solid #F5BE50;
}
.under-05 {
    border-bottom: 0.5rem solid #B4CBDD;
}
.under-06 {
    background: linear-gradient(transparent 79%, #FFB100 0%);
    padding-bottom: 0.3rem;
}
.under-07 {
    background: linear-gradient(transparent 60%, #FFBC2F 0%);
    padding-bottom: 0.6rem;
}
.under-08 {
    border-bottom: 3px solid #FFB23A;
}

/* テキスト前後のスラッシュ */
.slash {
    display: flex;
    align-items: center;
    justify-content: center;
}
.slash::before,
.slash::after {
    content: "";
	display: block;
}
.slash::before {
    transform: skewY(60deg);
}
.slash::after {
    transform: skewY(120deg);
}

/* 背景色設定 */
.bgcolor-red-01 {
    background-color: #93131D;
}
.bgcolor-red-02 {
    background-color: #E3064A;
}
.bgcolor-blue-01 {
    background-color: #3054B4;
}
.bgcolor-blue-02 {
    background-color: #2E74B1;
}
.bgcolor-org-01 {
    background-color: #F4E2E4;
}
.bgcolor-org-02 {
    background-color: #E3A216;
}
.bgcolor-org-03 {
    background-color: #FAF2F3;
}
.bgcolor-white {
    background-color: #fff;
}

/* ボタン設定 */
.btn {
    font-size: 3.9rem;
    padding: 1.0rem 2.0rem;
}
.btn-consul {
    background-color: #93131D;
    margin-right: 2.0rem;
}
.btn-request {
    background-color: #3054B4;

}
.btn:after {
    content: "";
    display: inline-block;
    width: 3.0rem;
    height: 3.0rem;
    margin: -0.3rem 0 0 0.5rem;
    background: url("./img/check@2x.png") no-repeat;
    background-size: contain;
    vertical-align: middle;
}

@media screen and (max-width:540px) {
    .btn {
        display: inline-block;
        font-size: 4.2rem;
        padding: 10px 0;
        border-radius: 2px;
        width: 100%;
        text-align: center;
    }
    .btn::after {
        margin-left: 5px;
        width: 18px;
        height: 18px;
    }
    .btn-consul {
        margin-right: 0;
        margin-bottom: 10px;
    }
}

/* 下向き三角形 */
.triangle {
width: 0;
height: 0;
border-left: 5.5rem solid transparent;
border-right: 5.5rem solid transparent;
border-top: 3.0rem solid #93131D;
}

/* セクション区切りの波線 */
.wave-top {
    margin-bottom: -5.0rem;
}
.wave-bottom {
    margin-top: -5.0rem;
}
.sp-wave-top,
.sp-wave-bottom {
    display: none;
}

@media screen and (max-width:1024px) {
    .wave-top {
        margin-bottom: -3.0rem;
    }
    .wave-bottom {
        margin-top: -3.0rem;
    }  
}


@media screen and (max-width:540px) {
    .sp-wave-top {
        display: block;
        margin-bottom: -10.0rem;
        width: 100%;
    }
    .sp-wave-bottom {
        display: block;
        margin-top: -10rem;
        width: 100%;
    }
    .wave-top,
    .wave-bottom {
        display: none;
    }
}

/* 内側の幅設定 */
.section_inner {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}
@media screen and (max-width:767px) {
    .section_inner {
        width: 90%;
        /* max-width: 335px; */
        margin: 0 auto;
    }
}
/* --------------------------
 追従バナー
----------------------------- */
.banner_floating {
    position: fixed;
    z-index: 998;
    width: 12.6%;
    bottom: 0;
    right: 1%;
}
.banner_close {
    position: absolute;
    z-index: 998;
    width: 16.1%;
    top: 8px;
    right: 9px;
    cursor: pointer;
}
/* 717 */
@media screen and (max-width:540px) {
    .banner_floating {
        display: none;
    }
}

/* --------------------------
 TOPVIEW
----------------------------- */
.topview {
    border-bottom-right-radius: 200.0rem 30.0rem;
    border-bottom-left-radius: 200.0rem 30.0rem;
    margin: 0 -15.0rem 8.7rem;
    padding: 0 15.0rem 7.0rem;
}
.topview_wrapper {
    position: relative;
}
.topview_ttl_wrapper {
    width: 60.0rem;
}
.topview_ttl {
    line-height: 1.3;
}
.topview_ttl-01 {
    font-size: 5.5rem;
}
.topview_ttl-02 {
    font-size: 3.4rem;
}
.topview_ttl-03 {
    font-size: 5.8rem;
}
.topview_ttl-04 {
    font-size: 7.8rem;
}
.topview_txt-01 {
    font-size: 1.4rem;
}
.topview_txt-02 {
    font-size: 1.3rem;
    margin-bottom: 8.0rem;
}
.topview_txt-03 {
    line-height: 1.3;
    margin-top: 5.5rem;
}
.topview_txt-03-01 {
    font-size: 3.4rem;
}
.topview_txt-03-02 {
    font-size: 5.0rem;
}
.img_arrow {
    width: 9%;
    margin: 2.7rem 0 0 2.0rem;
}
.topview_img {
    width: 64.5%;
    position: absolute;
    top: 0;
    right: -9.0rem;
}
.banner_top {
    width: 67%;
}
.sp-banner_top {
    display: none;
}

@media screen and (max-width:1200px) {
    .topview_img {
        top: -45px;
        right: 0;
    }
}

@media screen and (max-width:768px) {
    .topview_ttl-03 {
        font-size: 4.5rem;
    }
    .topview_ttl-04 {
        font-size: 6.8rem;
    }
    .topview_txt-03-02 {
        font-size: 4.5rem;
    }
}

@media screen and (max-width:540px) {
    .topview {
        border-bottom-right-radius: 150.0rem 12.0rem;
        border-bottom-left-radius: 400.0rem 97.0rem;
        margin-bottom: 32.4px;
        padding-bottom: 150px;
    }
    .topview_wrapper {
        position: static;
        flex-direction: column;
    }
    .topview_ttl_wrapper {
        width: 100%;
    }
    .topview_ttl-01 {
        font-size: 20px;
    }
    .topview_ttl-02 {
        font-size: 18px;
    }
    .topview_ttl-03 {
        font-size: 32px;
    }
    .topview_ttl-04 {
        font-size: 43px;
    }
    .topview_txt-01 {
        font-size: 13px;
    }
    .topview_txt-02 {
        font-size: 12px;
        margin-bottom: 20px;
    }
    .topview_txt-03 {
        line-height: 1.3;
        margin-top: 45px;
    }
    .topview_txt-03-01 {
        font-size: 24px;
    }
    .topview_txt-03-02 {
        font-size: 35px;
    }
    .img_arrow {
        width: 11.3%;
    }
    .topview_img {
        width: 117%;
        margin-top: -143px;
        position: static;
        top: unset;
        right: unset;
    }
    .banner_top {
        display: none;
    }
    .sp-banner_top {
        display: block;
    }
    .banner_fixed {
        position: fixed;
        bottom: 0;
        z-index: 999;
        width: 90%;
    }
}

/* --------------------------
 COICE
----------------------------- */
.choice_ttl_wrapper {
    display: flex;
    align-items: center;
    margin-bottom: 2.0rem;
    justify-content: center;
}
.choice_ttl_wrapper::before,
.choice_ttl_wrapper::after {
    width: 6.0rem;
	border-top: 2px dotted #707070;
}
.choice_ttl {
    font-size: 4.4rem;
    line-height: 1.8;
}
.choice_img_wrap {
    margin-bottom: 6.2rem;
}
.choice_img {
    width: 49.5%;
}
.choice_txt-01 {
    font-size: 3.0rem;
}
.choice_txt-02 {
    font-size: 5.0rem;
    margin-bottom: 7.4rem;
}

@media screen and (max-width:540px) {
    .choice_ttl_wrapper {
        justify-content: space-between;
        margin-bottom: 28px;
    }
    .choice_ttl_wrapper::before,
    .choice_ttl_wrapper::after {
        width: 8.0rem;
    }
    .choice_ttl {
        font-size: 26px;
        line-height: 1.6;
    }
    .choice_img_wrap {
        display: block;
        margin-bottom: 25px;
    }
    .choice_img {
        width: 100%;
        margin-bottom: 10px;
    }
    .choice_txt-01 {
        font-size: 18px;
        margin-bottom: 20px;
    }
    .choice_txt-02 {
        font-size: 26px;
        margin-bottom: 7.4rem;
    }
}

@media screen and (max-width:540px) {
    .choice_ttl_wrapper::before,
    .choice_ttl_wrapper::after {
        width: 5.0rem;
    }
}

/* --------------------------
 FUTURE
----------------------------- */
.section_future {
    padding-top: 6.93rem;
}
.future_ttl-01 {
    margin-bottom: 9.5rem;
}
.future_ttl-01-01 {
    font-size: 2.8rem;
}
.future_ttl-01-02 {
    font-size: 4.4rem;
}
.future_wrap {
   position: relative; 
}
.future_wrap_01 {
    width: 50%;
}
.future_wrap_02 {
    width: 60%;
    position: absolute;
    top: 0;
    right: -4.0rem;
}
.future_txt-01 {
    font-size: 2.4rem;
}
.future_txt-02 {
    margin-bottom: 4.2rem;
}
.future_txt-02-01 {
    font-size: 3.8rem;
}
.future_txt-02-02 {
    font-size: 4.3rem;
}
.future_txt-04 {
    font-size: 2.6rem;
    margin-bottom: 2.0rem;
}
.future_txt-05 {
    font-size: 2.0rem;
    width: 89%;
    margin-bottom: 22.4rem;
    line-height: 1.9;
}

@media screen and (max-width:768px) {
    .future_wrap_01 {
        width: 61%;
    }
    .future_wrap_02 {
        width: 50%;
    }
    .future_txt-05 {
        margin-bottom: 13.0rem;
    }
}

@media screen and (max-width:540px) {
    .future_ttl-01-01 {
        font-size: 15px;
    }
    .future_ttl-01-02 {
        font-size: 22px;
    }
    .future_wrap {
        position: static;
        display: block; 
     }
    .future_wrap_01 {
        width: 100%;
    }
    .future_wrap_02 {
        width: 100%;
        position: static;
        margin-bottom: 47px;
    }
    .future_txt-01 {
        font-size: 15px;
    }
    .future_txt-02 {
        font-size: 26px;
    }
    .future_txt-02-01 {
        font-size: 22px;
    }
    .future_txt-02-02 {
        font-size: 26px;
    }
    .future_txt-04 {
        font-size: 18px;
    }
    .future_txt-05 {
        font-size: 15px;
        width: 100%;
        margin-bottom: 0;
    }
}

/* --------------------------
 QUESTION-01
----------------------------- */
.section_question-01 {
    padding-bottom: 12.5rem;
    margin-bottom: -2.5rem;
}
.question-01_ttl_wrapper {
    margin-bottom: 4.92rem;
}
.question-01_ttl {
    font-size: 3.8rem;
    margin: 4.0rem 0 0 1.0rem;
}
.question-01_ttl_img {
    width: 10%;
}
.question-01_wrapper {
    border: 1px dotted #707070;
    border-radius: 1.0rem;
    padding: 7.4rem 0 5.3rem;
    margin: 0 0 6.8rem;
}
.question-01_txt-01 {
    font-size: 2.4rem;
    padding: 0 0 1.86rem;
}
.question-01_txt-02 {
    font-size: 3.4rem;
}
.question-01_sp-txt-01 {
    display: none;
}
.question-01_txt-03 {
    font-size: 3.2rem;
    margin-bottom: 1.85rem;
}
.question-01_txt-04 {
    font-size: 1.8rem;
    margin-bottom: 5.3rem;
}
.question-01_txt-05 {
    width: 23.6rem;
    font-size: 2.8rem;
    border-radius: 3.5rem;
    margin-bottom: 2.0rem;
    padding: 0.5rem 0;
}
.question-01_txt-06 {
    font-size: 2.6rem;
    margin-bottom: 1.3rem;
}
.question-01_img-01_wrapper {
    width: 73%;
    margin-bottom: 7.35rem;
}
.question-01_sp-img-01_wrapper {
    display: none;
}
.question-01_img-02_wrapper {
    width: 85%;
}
.question-01_img-02 {
    width: calc( (100% - 4.0rem) / 2 );
    text-align: center;
}

@media screen and (max-width:540px) {
    .section_question-01 {
        padding-bottom: 14.5rem;
        margin-bottom: -4.5rem;
    }
    .question-01_ttl_img {
        width: 17.5%;
    }
    .question-01_wrapper {
        padding: 25px 20px 10px;
        margin: 0 0 10px;
    }
    .question-01_ttl {
        font-size: 22px;
        margin: 0;
        margin-left: 10px;
    }
    .question-01_txt-01 {
        font-size: 18px;
        padding: 0;
        margin-bottom: 36px;
    }
    .question-01_txt-01-spmg {
        display: block;
        margin-bottom: 25px;
    }
    .question-01_txt-02 {
        font-size: 26px;
    }
    .question-01_txt-02-sp {
        font-size: 22px;
    }
    .question-01_sp-txt-01 {
        display: block;
        font-size: 15px;
        margin-bottom: 20px;
    }
    .question-01_img-01_wrapper {
        display: none;
    }
    .question-01_sp-img-01_wrapper {
        display: block;
        margin-bottom: 30px;
    }
    .question-01_txt-03 {
        font-size: 24px;
        /* margin-bottom: 1.85rem; */
    }
    .question-01_txt-04 {
        font-size: 15px;
    }
    .question-01_txt-05 {
        width: auto;
        display: inline-block;
        font-size: 17px;
        border-radius: 35px;
        padding: 5px 22px;
    }
    .question-01_txt-06 {
        font-size: 15px;
    }
    .question-01_img-01_wrapper {
        width: 73%;
    }
    .question-01_img-02_wrapper {
        width: 100%;
        display: block;
    }
    .question-01_img-02 {
        width: 100%;
        margin-bottom: 20px;
    }
}

/* --------------------------
 個別相談・無料資料請求
----------------------------- */
.consultation_wrapper {
    border: 4px solid #8B0D1C;
    padding: 4.0rem 3.0rem 3.6rem;
    align-items: center;
}
.consultation_img {
    width: 16.8%;
    margin: 0 2.78rem 0 0;
}
.consultation_txt {
    text-align: left;
    margin: 0 3.7rem 1.5rem 0;
}
.consultation_txt-01 {
    font-size: 3.0rem;
}
.consultation_txt-02 {
    font-size: 3.6rem;
    margin-bottom: 0rem;
}
.consultation_txt-03 {
    font-size: 2.1rem;
}
.baloon-01 {
    width: 18.4%;
}
.sp-baloon-01 {
    display: none;
}

@media screen and (max-width:540px) {
    .consultation_wrapper {
        padding: 20px;
        display: block;
        position: relative;
    }
    .consultation_img {
        width: 113.25px;
        margin: 0 0 10px 14px;
    }
    .consultation_desc {
        display: block;
    }
    .consultation_txt {
        margin: 0;
    }
    .consultation_txt-01 {
        font-size: 15px;
    }
    .consultation_txt-02 {
        font-size: 18px;
        margin-bottom: 15px;
    }
    .consultation_txt-03 {
        font-size: 14px;
        text-indent: -1em;
        padding-left: 1em;
    }
    .baloon-01 {
        display: none;
    }
    .sp-baloon-01 {
        display: block;
        position: absolute;
        top: 30px;
        right: 28px;
        width: 105px;
    }
    .consultation_btn {
        display: block;
        margin-top: 20px;
        text-align: left;
    }
}

/* --------------------------
 QUESTION-02
----------------------------- */
.section_question-02 {
    padding: 11.3rem 0 12.7rem;
}
.question-02_ttl {
    font-size: 5.0rem;
    margin-bottom: 5.0rem;
}
.baloon-02 {
    width: 11.4rem;
    margin: 0 0 5.0rem 35.0rem;
}
.sp-question-02_img {
    display: none;
}

@media screen and (max-width:1024px) {
    .baloon-02 {
        margin: 0 0 5.0rem 20.0rem;
    }
}
@media screen and (max-width:540px) {
    .question-02_ttl {
        font-size: 26px;
        margin: -20px 0 15px;
    }
    .question-02_img {
        display: none;
    }
    .sp-question-02_img {
        display: block;
    }
    .baloon-02 {
        width: 11.4rem;
        margin: 0;
        margin-left: 20px;
    }
}

/* --------------------------
 INSURANCE
----------------------------- */
.section_insurance {
    padding-bottom: 9.7rem;
}
.insurance_txt-01 {
    font-size: 5.0rem;
    margin-bottom: 5.0rem;
}
.insurance_txt-02 {
    font-size: 3.0rem;
    margin-bottom: 3.0rem;
}
.insurance_txt-03 {
    font-size: 3.6rem;
}
.insurance_txt-04 {
    font-size: 5.0rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 3.0rem;
}
.insurance_txt-04::before,
.insurance_txt-04::after {
    width: 3.0rem;
	border-top: 2px dotted #236AA5;
}
.insurance_txt-05_wrapper {
    background-color: #FAF2F3;
    border-radius: 18.3rem;
    padding: 4.0rem 16.0rem;
    margin-bottom: 5.5rem;
}
.insurance_txt-05-01 {
    font-size: 3.2rem;
    margin-bottom: 3.0rem;
}
.insurance_txt-05-02 {
    font-size: 2.0rem;
    line-height: 1.7;
}
.insurance_txt-06 {
    font-size: 4.2rem;
    margin-bottom: 4.0rem;
}
.insurance_img {
    margin-bottom: 10.5rem;
}
.sp-insurance_img {
    display: none;
}
.triangle {
    margin-bottom: 5.0rem;
}

@media screen and (max-width:1024px) {
    .insurance_txt-05_wrapper {
        padding: 4.0rem 14.0rem;
    }   
}

@media screen and (max-width:767px) {
    .insurance_txt-04 {
        font-size: 4.2rem;
    }
}

@media screen and (max-width:540px) {
    .insurance_txt-01,
    .insurance_txt-04 {
        font-size: 26px;
    }
    .insurance_txt-02 {
        font-size: 18px;
        margin-bottom: 60px;
    }
    .insurance_txt-03 {
        font-size: 36px;
    }
    .insurance_txt-04::before,
    .insurance_txt-04::after {
        width: 0;
    }
    .insurance_txt-05_wrapper {
        border-radius: 10px;
        padding: 25px 20px;
        margin-bottom: 20px;
    }
    .insurance_txt-05-01 {
        font-size: 22px;
        margin-bottom: 30px;
    }
    .insurance_txt-05-02 {
        font-size: 15px;
        line-height: 1.7;
    }
    .insurance_img {
        display: none;
    }
    .sp-insurance_img {
        display: block;
        margin-bottom: 25px;
    }

}

/* --------------------------
 RISK
----------------------------- */
.section_risk {
    padding: 7.9rem 0 7.6rem;
}
.risk_txt-01 {
    font-size: 2.8rem;
}
.risk_txt-02 {
    font-size: 4.4rem;
    margin-bottom: 8.3rem;
}
.risk_txt-03 {
    font-size: 4.2rem;
    margin-bottom: 2.3rem;
}
.risk_txt-04 {
    font-size: 4.2rem;
    margin-bottom: 3.4rem;
}
.risk_txt-05 {
    font-size: 2.8rem;
}
.risk_txt-06 {
    font-size: 4.2rem;
    line-height: 1.2;
    margin-bottom: 4.2rem;
}
.risk_txt-07 {
    font-size: 2.5rem;
    line-height: 2.0;
}
.risk_txt-07_small {
    font-size: 2.0rem;
    line-height: 1.5;
}
.risk_txt-08 {
    font-size: 5.0rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2.0rem;
}
.risk_txt-08::before,
.risk_txt-08::after {
    width: 8.0rem;
	border-top: 2px dotted #236AA5;
    margin: 0 4.0rem 0;
}
.risk_txt-09 {
    font-size: 3.8rem;
    margin-bottom: 2.0rem;
}
.risk_txt-10 {
    font-size: 2.5rem;
    line-height: 2.0;
    padding: 3.5rem 6.0rem;
    margin-bottom: 8.0rem;
}
.risk_txt-11 {
    font-size: 4.2rem;
    line-height: 1.2;
    transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -webkit-transform: rotate(-10deg);
    margin-bottom: 3.0rem;
}
.risk_txt-12 {
    font-size: 2.4rem;
    padding: 0.3rem 2.5rem;
    border-radius: 3.3rem;
}
.risk_txt-13 {
    font-size: 3.7rem;
    margin-bottom: 3.0rem;
}
.risk_txt-14 {
    font-size: 3.4rem;
    margin-bottom: 2.0rem;
}
.risk_txt-15 {
    font-size: 2.4rem;
    margin-bottom: 2.0rem;
}
.risk_txt-16 {
    font-size: 3.1rem;
    padding: 1.5rem 0;
}
.risk_about_img {
    width: 13.4%;
    margin-bottom: -9.0rem;
}
.risk_about_wrapper {
    padding: 12.0rem 0 3.5rem;
    margin-bottom: 7.3rem;
}
.streng_graph_wrapper {
    margin-bottom: 8.3rem;
}
.streng_graph {
    width: calc( (100% - 4.0rem) / 2 );
    border: 1px dotted #707070;
    border-radius: 0.6rem;
    padding: 5.0rem 7.0rem 2.0rem;
    position: relative;
}
.streng_graph_txt-01 {
    font-size: 3.2rem;
}
.streng_graph_txt-02 {
    font-size: 2.1rem;
}
.streng_graph_txt-03 {
    font-size: 1.6rem;
    position: absolute;
    bottom: 6px;
    right: 15px;
}
.streng_graph-left {
    margin-top: 2.5rem;
}
.streng_graph-right {
    margin-top: 9.0rem;
}

@media screen and (max-width:1024px) {
    .streng_graph {
        padding: 5.0rem 5.0rem 2.0rem;
    }
}

@media screen and (max-width:540px) {
    .section_risk {
        padding-bottom: 55px;
    }
    .risk_txt-01 {
        font-size: 18px;
    }
    .risk_txt-02 {
        font-size: 22px;
        margin-bottom: 40px;
    }
    .risk_txt-03 {
        font-size: 18px;
        margin-bottom: 24px;
    }
    .risk_txt-04 {
        font-size: 22px;
        margin-bottom: 20px;
    }
    .risk_txt-05 {
        font-size: 15px;
    }
    .risk_txt-06 {
        font-size: 22px;
        margin-bottom: 12px;
    }
    .risk_txt-07 {
        font-size: 15px;
        line-height: 1.6;
    }
    .risk_txt-07_small {
        font-size: 13px;
        line-height: 1.6;
    }
    .risk_txt-08 {
        font-size: 22px;
        margin-bottom: 30px;
    }
    .risk_txt-08::before,
    .risk_txt-08::after {
        width: 4.0rem;
    }
    .risk_txt-08::before {
        margin: 0;
        margin-right: 20px;
    }
    .risk_txt-08::after {
        margin: 0;
        margin-left: 20px;
    }
    .risk_txt-09 {
        font-size: 22px;
    }
    .risk_txt-10 {
        font-size: 15px;
        line-height: 2.5;
        padding: 15px;
    }
    .risk_txt-11 {
        font-size: 26px;
        line-height: 1.2;
        text-align: left;
        margin-left: 30px;
        margin-bottom: 22px;
    }
    .risk_txt-12 {
        font-size: 24px;
        padding: 5px 20px;
        border-radius: 33px;
        margin-bottom: 10px;
    }
    .risk_txt-13 {
        font-size: 22px;
        margin-bottom: 3.0rem;
    }
    .risk_txt-14 {
        font-size: 24px;
        line-height: 1.5;
        margin-bottom: 30px;
    }
    .risk_txt-15 {
        font-size: 22px;
        line-height: 1.5;
        width: 92%;
        margin: 0 auto 30px;
    }
    .risk_txt-16 {
        font-size: 18px;
        padding: 20px 15px;
    }
    .risk_about_img {
        width: 76px;
    }
    .risk_about_wrapper {
        padding: 55px 20px 20px;
        margin-bottom: 7.3rem;
    }
    .streng_graph_wrapper {
        display: block;
        margin-bottom: 8.3rem;
    }
    .streng_graph {
        width: 100%;
        margin-bottom: 10px;
    }
    .streng_graph_txt-01 {
        font-size: 18px;
    }
    .streng_graph_txt-02 {
        font-size: 12px;
    }
    .streng_graph_txt-03 {
        font-size: 12px;
    }
    .streng_graph-right {
        margin-top: 70px;
    }

}

/* --------------------------
 VOICE
----------------------------- */
.section_voice {
    padding: 8.5rem 0;
}
.voice_ttl {
    font-size: 4.4rem;
    margin-bottom: 4.0rem;
}
.voice_wrapper {
    border: 1px dotted #707070;
    border-radius: 10px;
    margin-bottom: 4.0rem;
    padding: 5.0rem;
}
.voice_desc {
    width: 73%;
    padding-right: 7.0rem;
}
.voice_txt-01 {
    font-size: 2.5rem;
}
.voice_txt-02 {
    font-size: 2.5rem;
    margin-bottom: 3.5rem;
}
.voice_txt-03 {
    font-size: 2.3rem;
}
.voice_txt-04 {
    font-size: 2.0rem;
}
.voice_txt-04-s {
    font-size: 1.7rem;
}
.voice_img {
    width: 24.3%;
}
.voice_img img {
    margin-bottom: 2.0rem;
}

@media screen and (max-width:768px) {
    .voice_wrapper {
        padding: 3.0rem;
    }
    .voice_desc {
        width: 70%;
        padding-right: 5.0rem;
    }
    .voice_img {
        width: 30%;
    }   
}

@media screen and (max-width:540px) {
    .voice_ttl {
        font-size: 26px;
    }
    .voice_wrapper {
        display: block;
    }
    .voice_desc {
        width: 100%;
        padding: 0;
    }
    .voice_txt-01 {
        font-size: 18px;
    }
    .voice_txt-02 {
        font-size: 18px;
        line-height: 1.7;
        margin-bottom: 3.5rem;
    }
    .voice_txt-03 {
        font-size: 15px;
        line-height: 2.0;
        margin-bottom: 10px;
    }
    .voice_txt-04 {
        font-size: 15px;
    }
    .voice_txt-04-s {
        font-size: 13px;
    }
    .voice_img {
        width: 100%;
    }
}

/* --------------------------
 CONTACT
----------------------------- */
.section_contact {
    padding: 5.0rem 0 8.3rem;
}
.contact_ttl {
    font-size: 5.0rem;
}
.star-img {
    width: 17.0rem;
    margin: 3.0rem auto 1.0rem;
}
.contact_txt-01 {
    font-size: 2.0rem;
}
.contact_txt-02 {
    font-size: 3.8rem;
    margin-bottom: 3.0rem;
}
.contact_txt-03 {
    font-size: 2.0rem;
    height: 5.0rem;
    margin-bottom: 3.0rem;
}
.contact_txt-04 {
    font-size: 1.5rem;
    margin-bottom: 2.0rem;
}
.contact_txt-05 {
    font-size: 2.8rem;
    margin-bottom: 2.0rem;
}
.contact_txt-05::before,
.contact_txt-05::after {
    width: 2.0rem;
	border-top: 2px dotted #fff;
    margin: 0 1.0rem;
}
.contact_can_wrapper {
    margin-bottom: 7.7rem;
}
.contact_can {
    width: calc( (100% - 6.0rem) / 3) ;
    padding: 1.0rem 3.0rem 3.0rem;
    border-radius: 10px;
}
.contact_can_no {
    font-family: 'Raleway', sans-serif;
    font-size: 8.0rem;
    margin-bottom: 1.0rem;
}
.contact_imp {
    width: calc( (100% - 10.0rem) / 3) ;
    margin-bottom: 4.6rem;
}
.contact_imp:nth-child(n + 3) {
    margin-bottom: 7.0rem;
}
.contact_imp img {
    width: 10.0rem;
    margin: 0 auto 1.0rem;
}
.contact_imp_txt-01 {
    font-size: 2.0rem;
    margin-bottom: 3.0rem;
}
.contact_imp_txt-02 {
    font-size: 2.3rem;
    line-height: 1.7;
    text-align: left;
}

@media screen and (max-width:768px) {
    .contact_txt-04 {
        font-size: 2.0rem;
    }
}

@media screen and (max-width:540px) {
    .section_contact {
        padding: 50px 0;
    }
    .contact_ttl {
        font-size: 22px;
    }
    .star-img {
        width: 170px;
        margin-bottom: 17px;
    }
    .contact_txt-01 {
        font-size: 15px;
        margin-bottom: 30px;
    }
    .contact_txt-02 {
        font-size: 26px;
        margin-bottom: 20px;
    }
    .contact_txt-03 {
        font-size: 18px;
        height: auto;
        margin-bottom: 20px;
    }
    .contact_txt-04 {
        font-size: 15px;
        margin-bottom: 10px;
    }
    .contact_txt-05 {
        font-size: 22px;
        margin-bottom: 55px;
    }
    .contact_txt-05::before,
    .contact_txt-05::after {
        width: 20px;
    }
    .contact_can_wrapper {
        display: block;
    }
    .contact_can {
        width: 100%;
        padding: 0 25px 25px;
        margin-bottom: 20px;
    }
    .contact_can_no {
        font-size: 70px;
        margin-bottom: 5px;
    }
    .contact_imp_wrapper {
        display: block;
    }
    .contact_imp {
        width: 100%;
        margin-bottom: 30px;
    }
    .contact_imp:nth-child(n + 3) {
        margin-bottom: 30px;
    }
    .contact_imp img {
        width: 100px;
        margin: 0 auto 10px;
    }
    .contact_imp_txt-01 {
        font-size: 17px;
        margin-bottom: 15px;
    }
    .contact_imp_txt-02 {
        font-size: 15px;
        line-height: 2.0;
        text-align: left;
    }
}

/* --------------------------
 CONTACT FORM
----------------------------- */
#contact_form {
    width: 78%;
    border-radius: 10px;
    padding: 5.7rem 0 7.4rem;
}
.contact_form_inner {
    width: 75%;
}
.contact_form_txt-01 {
    font-size: 1.8rem;
    border-radius: 33px;
    padding: 1.5rem 3.0rem;
    margin-bottom: 1.5rem;
}
.contact_form_txt-02 {
    font-size: 3.6rem;
    margin-bottom: 1.0rem;
}
.contact_present {
    text-align: left;
}
.contact_present_img {
    width: 32.7%;
}
.contact_present_txt {
    width: 51%;
}
.contact_present_txt-01 {
    font-size: 2.1rem;
    margin: 1.0rem 0 2.5rem;
}
.contact_present_txt-02 {
    font-size: 3.7rem;
}
.contact_present_txt-03 {
    font-size: 3.1rem;
}
.contact_present_txt-04 {
    font-size: 1.7rem;
}

@media screen and (max-width:767px) {
    #contact_form {
        width: 100%;
        padding-bottom: 0;
    }
    .contact_form_txt-01 {
        font-size: 16px;
        border-radius: 33px;
        padding: 12px;
        margin-bottom: 20px;
    }
    .contact_form_inner {
        width: 87%;
    }
    .contact_form_txt-02 {
        font-size: 18px;
        margin-bottom: 25px;
    }
    .contact_present {
        display: block;
        text-align: center;
        margin-bottom: 40px;
    }
    .contact_present_img {
        width: 70%;
        margin: 0 auto;
    }
    .contact_present_txt {
        width: 100%;
    }
    .contact_present_txt-01 {
        font-size: 18px;
        margin: 1.0rem 0 2.5rem;
    }
    .contact_present_txt-02,
    .contact_present_txt-03 {
        font-size: 26px;
    }
    .contact_present_txt-04 {
        font-size: 15px;
        text-align: left;
        font-weight: normal;
        margin-bottom: 20px;
    }
    
}

/* --- contact form 7 --- */
.is-required {
    position: relative;
}
.is-required::after {
    content: "必須";
    display: block;
    position: absolute;
    width: 4.0em;
    top: 0;
    right: 0;
    background-color: #FC1717;
    color: #fff;
    font-size: 1.4rem;
    text-align: center;
    box-sizing: border-box;
}
#wpcf7-f6-o1 {
    text-align: left;
    font-size: 1.8rem;
}
.wpcf7-list-item {
    display: block!important;
    margin: 0 0 0 2.5rem!important;
    line-height: 2.0;
}
.wpcf7-list-item input {
    vertical-align: unset;
}
.contact_fld {
    margin-bottom: 1.5rem;
}
.contact_fld_cnts {
    margin-left: 3.0rem;
    width: 70%;
}
.contact_fld_cnts-02 {
    width: calc( 70% - 1.5rem );
    margin-left: 1.5rem;
}
.contact_fldttl {
    width: 30%;
    height: 3.4rem;
    margin-top: 1.0rem;
}
.last .wpcf7-list-item-label::after {
    content: '（下記ご予約希望日時は「資料請求」を選択してください）';
    font-size: 10px;
    margin-left: 1.0rem;
}
.wpcf7-select,
.wpcf7-text,
.wpcf7-textarea {
    font-size: 1.8rem;
    padding-left: 1.0rem;
}
.select_date,
.select_time {
    width: 18.6rem;
    height: 3.4rem;
}
.conatct_fld_date {
    margin-bottom: 1.5rem;
}
.conatct_fld_date label,
.conatct_fld_time label {
    margin-right: 1.0rem;
}
.contact_time_cmnt {
    font-size: 12px;
    padding-left: 4em;
    text-indent: -1em;
}
.wpcf7-text {
    width: 100%;
    height: 4.6rem;
}
.wpcf7-textarea {
    width: 100%;
}
.select_old {
    height: 4.6rem;
    width: 40%;
}
.contact_form_message {
    font-size: 1.8rem;
    padding: 2.0rem 4.0rem;
    background: #FDEAEB;
    margin-bottom: 2.0rem;
}
.your-zipcode {
    margin-left: 1.0rem;
}
.p-postal-code {
    width: 13.2rem;
}
.accept {
    font-size: 1.2rem;
    margin: 3.5rem 0 1.5rem;
    color: #797979;
}
.accept a {
    display: inline-block;
}
.accept .wpcf7-list-item-label {
    font-size: 1.8rem;
}
.wpcf7-submit {
    width: 100%;
    border: none;
    padding: 2.2rem 0;
    font-size: 1.8rem;
}
/* IOSボタンデザインリセット */
.wpcf7-submit {
    -webkit-appearance: none;
    border-radius: 0;
}

@media screen and (max-width:1024px) {
    .is-required::after {
        position: static;
        line-height: 1.2;
    }
    .last .wpcf7-list-item-label::after {
        display: block;
        margin-left: 4.0rem;
    }
    .contact_fldttl {
        margin-top: 0;
    }
}

@media screen and (max-width:767px) {
    #wpcf7-f6-o1 {
        font-size: 16px;
    }
    .is-required::after {
        position: static;
        display: inline-block;
        width: auto;
        padding: 2px 8px;
        margin-left: 20px;
        border-radius: 2px;
        font-size: 12px;

    }
    .wpcf7-list-item {
        margin: 0!important;
    }
    .wpcf7-list-item input {
        margin-left: 0;
    }
    .contact_fld {
        display: block;
        margin-bottom: 30px;
    }
    .contact_fld_cnts {
        margin-left: 0;
        width: 100%;
    }
    .contact_fld_cnts-02 {
        width: 100%;
        margin-left: 0;
    }
    .contact_fldttl {
        font-size: 14px;
        font-weight: bold;
        width: 100%;
        height: auto;
        padding-bottom: 7px;
        display: block;
    }
    .radio_way .wpcf7-list-item:nth-child(2) {
        text-indent: -1em;
        padding-left: 1em;
    }
    .wpcf7-select,
    .wpcf7-text,
    .wpcf7-textarea {
        font-size: 16px;
        padding-left: 10px;
    }
    .select_date,
    .select_time {
        width: 186px;
        height: 34px;
    }
    .conatct_fld_date {
        margin-bottom: 15px;
    }
    .conatct_fld_date label,
    .conatct_fld_time label {
        margin-right: 10px;
    }
    .wpcf7-text,
    .select_old {
        width: 100%;
        height: 46px;
    }
    .wpcf7-textarea {
        width: 100%;
    }
    .contact_form_message {
        font-size: 15px;
        line-height: 2.0;
        padding: 10px;
        margin-bottom: 20px;
    }
    .your-zipcode {
        margin-left: 10px;
    }
    .p-postal-code {
        width: 132px;
    }
    .accept {
        margin: 35px 0 15px;
        color: #797979;
    }
    .accept .wpcf7-list-item-label {
        font-size: 3.0rem;
    }   
    .wpcf7-submit {
        width: 100%;
        border: none;
        padding: 22px 0;
        font-size: 18px;
    }
}

/* --------------------------
 FOOTER
----------------------------- */
.footer {
    padding: 8.0rem 0 3.0rem;
}
.footer_wrapper {
    width: 99.2rem;
    align-items: center;
    margin-bottom: 6.0rem;
}
.footer_logo {
    width: 36%;
}
.footer_txt {
    font-size: 1.7rem;
}
.footer-copy {
    font-size: 1.4rem;
}

@media screen and (max-width:1024px) {
    .footer_wrapper {
        width: 85%;
    }
}

@media screen and (max-width:540px) {
    .footer {
        padding-bottom: 120px;
    }
    .footer_wrapper {
        display: block;
        width: 100%;
        margin-bottom: 6.0rem;
    }
    .footer_logo {
        width: 100%;
        margin-bottom: 45px;
    }
    .footer_txt {
        font-size: 15px;
        text-align: center;
        margin-bottom: 35px;
        font-weight: normal;
    }
    .footer-copy {
        font-size: 1.4rem;
        margin-bottom: 10px;
    }
}


/*************************************** add by at */
.add_maplink{
	text-decoration:underline;
	color:#93131D;
	display:inline-block;
    padding-left: 1em;
}

/* --------------------------
 アニメーション設定
----------------------------- */

/* アニメーション用の基本クラス */
.scroll-trigger {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease-out;
}

.scroll-trigger.animate {
    opacity: 1;
    transform: translateY(0);
}

/* ふわっと表示アニメーション */
.fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease-out;
}

.fade-in.animate {
    opacity: 1;
    transform: translateY(0);
}

/* 左からスライドイン */
.slide-in-left {
    opacity: 0;
    transform: translateX(-50px);
    transition: all 0.8s ease-in-out;
}

.slide-in-left.animate {
    opacity: 1;
    transform: translateX(0);
}

/* 右からスライドイン */
.slide-in-right {
    opacity: 0;
    transform: translateX(50px);
    transition: all 0.8s ease-in-out;
}

.slide-in-right.animate {
    opacity: 1;
    transform: translateX(0);
}

/* 下からスライドイン */
.slide-in-bottom {
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.8s ease-in-out;
}

.slide-in-bottom.animate {
    opacity: 1;
    transform: translateY(0);
}

/* 跳ねるような表示アニメーション */
.bounce-in {
    opacity: 0;
    transform: scale(0.8) translateY(30px);
    transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.bounce-in.animate {
    opacity: 1;
    transform: scale(1) translateY(0);
}

/* 順次表示用の遅延設定 */
.stagger-1 { transition-delay: 0.1s; }
.stagger-2 { transition-delay: 0.2s; }
.stagger-3 { transition-delay: 0.3s; }
.stagger-4 { transition-delay: 0.4s; }
.stagger-5 { transition-delay: 0.5s; }
.stagger-6 { transition-delay: 0.6s; }

/* アニメーション無効化対応 */
@media (prefers-reduced-motion: reduce) {
    .scroll-trigger,
    .fade-in,
    .slide-in-left,
    .slide-in-right,
    .slide-in-bottom,
    .bounce-in {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* モバイル端末での最適化 */
@media screen and (max-width:768px) {
    .fade-in,
    .slide-in-left,
    .slide-in-right,
    .slide-in-bottom,
    .bounce-in {
        transition-duration: 0.4s;
    }
    
    .stagger-1 { transition-delay: 0.05s; }
    .stagger-2 { transition-delay: 0.1s; }
    .stagger-3 { transition-delay: 0.15s; }
    .stagger-4 { transition-delay: 0.2s; }
    .stagger-5 { transition-delay: 0.25s; }
    .stagger-6 { transition-delay: 0.3s; }
}