@charset "utf-8";

/*-----------------------
    page_contents.css
------------------------*/

/*----- company -----*/

.comp_msg {
    padding: 10px 0 90px;
}
.comp_msg_text {
    margin: 0 0 80px;
    color: var(--green_light3);
    font-size: 27px;
    letter-spacing: 2px;
    line-height: 1.5;
    text-align: center;
}
.comp_msg_name {
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
.comp_msg_name p {
    font-size: 18px;
    letter-spacing: 6px;
}
.comp_msg_name p.name {
    margin-left: 20px;
    font-size: 27px;
    letter-spacing: 1px;
}

/* info */

.comp_info {
    padding: 0 0 60px;
}
.comp_info_dl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.comp_info_dl .dt,
.comp_info_dl .dd {
    padding: 25px 40px;
    box-sizing: border-box;
    font-size: 17px;
    line-height: 2;
}
.comp_info_dl .dt {
    width: 22%;
    border-bottom: 1px solid var(--green_light3);
}
.comp_info_dl .dd {
    width: calc(100% - 22% - 2px);
    border-bottom: 1px solid var(--green);
}
.comp_info .atte {
    margin: 15px 0 0;
    font-size: 17px;
    line-height: 1.5;
    text-align: right;
}

.googlemap {
    margin-top: 80px;
}
.googlemap iframe {
    width: 100%;
    height: 300px;
}

@media screen and (min-width: 768px) and (max-width: 1260px){
    
    .comp_msg {
        padding: 1vw 0 7vw;
    }
    .comp_msg_text {
        margin: 0 0 6vw;
        font-size: 2.4vw;
        letter-spacing: .2vw;
    }
    .comp_msg_name p {
        font-size: 1.7vw;
        letter-spacing: .6vw;
    }
    .comp_msg_name p.name {
        margin-left: 2vw;
        font-size: 2.4vw;
        letter-spacing: .1vw;
    }
    
    /* info */

    .comp_info {
        padding: 0;
    }
    .comp_info_dl .dt,
    .comp_info_dl .dd {
        padding: 2vw 3vw;
        font-size: 1.6vw;
    }
    .comp_info .atte {
        margin: 1.5vw 0 0;
        font-size: 1.6vw;
    }

    .googlemap {
        margin-top: 6vw;
    }
    .googlemap iframe {
        height: 25vw;
    }

}
@media screen and (max-width: 767px){
    
    .comp_msg {
        padding: 10px 0 90px;
    }
    .comp_msg_text {
        margin: 0 0 40px;
        font-size: 20px;
        text-align: left;
    }
    .comp_msg_name p {
        font-size: 16px;
        letter-spacing: 4px;
    }
    .comp_msg_name p.name {
        margin-left: 12px;
        font-size: 22px;
    }

    /* info */

    .comp_info {
        padding: 0 0 20px;
    }
    .comp_info_dl {
        display: block;
    }
    .comp_info_dl .dt,
    .comp_info_dl .dd {
        font-size: 15px;
        line-height: 1.75;
    }
    .comp_info_dl .dt {
        color: var(--green_light3);
        font-weight: bold;
        padding: 20px 0 0;
        width: 100%;
        border-bottom: none;
    }
    .comp_info_dl .dd {
        font-size: min(3.75vw,15px);
        padding: 10px 0 20px;
        width: 100%;
    }
    .comp_info .atte {
        margin: 10px 0 0;
        font-size: min(3.25vw, 14px);
    }

    .googlemap {
        margin-top: 40px;
    }
    .googlemap iframe {
        height: min(80vw, 300px);
    }

}

/*----- voice -----*/

.voice_list,
.voice_faq {
    padding: 0 0 60px;
}

/* list */

.voice_box {
    margin-bottom: 20px;
    padding: 30px 40px;
    background: var(--green_light2);
    border-radius: 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.voice_box .conts {
    width: calc(100% - 200px);
}
.voice_box .conts .ttl {
    display: inline;
    font-size: 27px;
    line-height: 1.5;
    border-bottom: 1px solid var(--orange);
}
.voice_box .conts .text {
    margin-top: 24px;
    font-size: 17px;
    line-height: 2;
}
.voice_box .pic {
    width: 180px;
}
.voice_box .pic .name {
    margin-top: 10px;
    font-size: 16px;
    line-height: 1.5;
    text-align: center;
}

/* faq */

.faq_box {
    margin-bottom: 20px;
    padding: 30px 40px;
    background: #fdfdf7;
    border: 1px solid #8ad193;
    border-radius: 5px;
}
.faq_q,
.faq_a {
    display: flex;
    justify-content: space-between;
}
.faq_mark {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: var(--green_light2);
    border-radius: 50%;
    color: #6ec196;
    font-size: 23px;
}
.faq_a .faq_mark {
    background: var(--green_light3);
    color: var(--white);
}
.faq_q .text,
.faq_a .text {
    width: calc(100% - 60px);
}
.faq_q .text {
    margin-bottom: 15px;
    font-size: 27px;
    color: var(--green_light3);
    line-height: 1.5;
}
.faq_a .text {
    font-size: 17px;
    line-height: 2;
}

@media screen and (min-width: 768px) and (max-width: 1260px){
    
    .voice_list,
    .voice_faq {
        padding: 0;
    }
    
    /* list */
    
    .voice_box {
        margin-bottom: 2vw;
        padding: 2.5vw 3vw;
    }
    .voice_box .conts {
        width: calc(100% - 18vw);
    }
    .voice_box .conts .ttl {
        font-size: 2.2vw;
    }
    .voice_box .conts .text {
        margin-top: 2vw;
        font-size: 1.6vw;
    }
    .voice_box .pic {
        width: 16vw;
    }
    .voice_box .pic .name {
        margin-top: 1vw;
        font-size: 1.5vw;
    }

    /* faq */

    .faq_box {
        margin-bottom: 2vw;
        padding: 2.5vw 3vw;
    }
    .faq_mark {
        width: 4vw;
        height: 4vw;
        font-size: 2vw;
    }
    .faq_q .text,
    .faq_a .text {
        width: calc(100% - 6vw);
    }
    .faq_q .text {
        margin-bottom: 1.5vw;
        font-size: 2.4vw;
    }
    .faq_a .text {
        font-size: 1.6vw;
        line-height: 2;
    }
    
}
@media screen and (max-width: 767px){
    
    .voice_list,
    .voice_faq {
        padding: 0 0 20px;
    }
        
    /* list */
    
    .voice_box {
        padding: 20px 4vw;
        display: block;
    }
    .voice_box .conts {
        width: 100%;
    }
    .voice_box .conts .ttl {
        font-size: 20px;
    }
    .voice_box .conts .text {
        margin-top: 16px;
        font-size: 15px;
        line-height: 1.75;
    }
    .voice_box .pic {
        width: 180px;
        margin: 15px auto 0;
    }
    .voice_box .pic .name {
        font-size: 14px;
    }

    /* faq */

    .faq_box {
        padding: 20px 4vw;
    }
    .faq_q .text,
    .faq_a .text {
        width: calc(100% - 60px);
    }
    .faq_q .text {
        margin-bottom: 15px;
        font-size: 20px;
    }
    .faq_a .text {
        font-size: 15px;
        line-height: 1.75;
    }
    
}

/*----- guide -----*/

/* intro */

.guide_intro {
    padding: 0 0 60px;
}
.guide_intro_box {
    margin-bottom: 20px;
    padding: 30px 60px;
    background: var(--green_light2);
    border-radius: 5px;
}
.guide_intro_box.faxweb .m_ttl {
    margin: 0;
}
.guide_intro_box.faxweb .m_subtxt {
    margin: 20px 0 0;
}
.guide_fax {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
}
.guide_fax .f_telfax {
    margin: 0;
}
.guide_fax .f_btn_fax {
    margin: 0 20px;
}
.guide_web {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
}
.guide_web .f_btn_fax {
    margin: 0 20px;
}
.guide_web .f_btn_fax a {
    background: var(--orange);
}
.guide_time {
    font-size: 15px;
}

/* flow */

.guide_flow {
    padding: 0 0 60px;
}
.guide_flow_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding: 30px;
    border: 1px solid #8ad193;
    border-radius: 5px;
}
.guide_flow_box .conts {
    width: calc(100% - 340px);
}
.guide_flow_box .conts .title {
    margin-bottom: 15px;
    font-size: 27px;
    display: flex;
}
.guide_flow_box .conts .title .step {
    color: #6ec196;
    margin-right: 30px;
}
.guide_flow_box .conts .title .ttl {
    color: var(--green_light3);
}
.guide_flow_box .conts .text {
    margin-bottom: 15px;
    font-size: 17px;
    line-height: 2;
}
.guide_flow_box .pic {
    width: 340px;
}
.guide_flow_box .pic img {
    height: 240px;
    border-radius: 3px;
}

/* pay */

.guide_pay {
    padding: 0 0 60px;
}
.guide_pay_box {
    margin-bottom: 20px;
    padding: 30px 60px;
    background: var(--green_light2);
    border-radius: 5px;
}
.guide_pay_box .m_ttl {
    margin: 0;
}
.guide_pay_box .m_subtxt {
    margin: 20px 0 0;
}
.guide_pay_table {
    display: flex;
    margin-top: 25px;
    border: 1px solid #bfdfc3;
    border-right: none;
}
.guide_pay_table > div {
    width: 33.3333%;
    box-sizing: border-box;
    text-align: center;
    font-size: 17px;
}
.guide_pay_table .th {
    padding: 20px 0;
    background: #f5fdf6;
    border-right: 1px solid #bfdfc3;
    border-bottom: 1px solid #bfdfc3;
}
.guide_pay_table .td {
    padding: 25px 0;
    background: var(--white);
    border-right: 1px solid #bfdfc3;
}

/* note */

.guide_note {
    padding: 0 0 60px;
}
.guide_note_dl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.guide_note_dl .dt,
.guide_note_dl .dd {
    padding: 20px 40px;
    box-sizing: border-box;
    font-size: 17px;
    line-height: 2;
}
.guide_note_dl .dt {
    width: 27%;
    border-bottom: 1px solid var(--green_light3);
}
.guide_note_dl .dd {
    width: calc(100% - 27% - 2px);
    border-bottom: 1px solid var(--green);
}

@media screen and (min-width: 768px) and (max-width: 1260px){
    
    /* intro */

    .guide_intro {
        padding: 0;
    }
    .guide_intro_box {
        margin-bottom: 2vw;
        padding: 2.5vw 4vw;
    }
    .guide_intro_box.faxweb .m_subtxt {
        margin: 2vw 0 0;
    }
    .guide_fax {
        margin-top: 2vw;
    }
    .guide_fax .f_btn_fax {
        margin: 0 2vw;
    }
    .guide_web {
        margin-top: 2vw;
    }
    .guide_web .f_btn_fax {
        margin: 0 2vw;
    }
    .guide_time {
        font-size: 1.4vw;
    }

    /* flow */

    .guide_flow {
        padding: 0;
    }
    .guide_flow_box {
        margin-bottom: 2vw;
        padding: 2.5vw;
    }
    .guide_flow_box .conts {
        width: calc(100% - 30vw);
    }
    .guide_flow_box .conts .title {
        margin-bottom: 1.5vw;
        font-size: 2.4vw;
    }
    .guide_flow_box .conts .title .step {
        margin-right: 2.5vw;
    }
    .guide_flow_box .conts .text {
        margin-bottom: 1.5vw;
        font-size: 1.6vw;
    }
    .guide_flow_box .pic {
        width: 28vw;
    }
    .guide_flow_box .pic img {
        height: 20vw;
    }

    /* pay */

    .guide_pay {
        padding: 0;
    }
    .guide_pay_box {
        margin-bottom: 2vw;
        padding: 2.5vw 4vw;
    }
    .guide_pay_box .m_subtxt {
        margin: 2vw 0 0;
    }
    .guide_pay_table {
        margin-top: 2vw;
    }
    .guide_pay_table > div {
        font-size: 1.6vw;
    }
    .guide_pay_table .th {
        padding: 2vw 0;
    }
    .guide_pay_table .td {
        padding: 2.4vw 0;
    }

    /* note */

    .guide_note {
        padding: 0 0 5vw;
    }
    .guide_note_dl .dt,
    .guide_note_dl .dd {
        padding: 2vw 3vw;
        font-size: 1.6vw;
    }
    
}
@media screen and (max-width: 767px){
    
    /* intro */

    .guide_intro {
        padding: 0 0 10px;
    }
    .guide_intro_box {
        padding: 20px 4vw;
    }
    .guide_fax,
    .guide_web {
        display: block;
        margin-top: 15px;
    }
    .guide_fax .f_telfax {
        margin: 0 0 15px;
    }
    .guide_fax .f_btn_fax,
    .guide_web .f_btn_fax {
        margin: 0 auto;
    }
    .guide_time {
        margin: 15px 0 0;
        text-align: center;
    }

    /* flow */

    .guide_flow {
        padding: 0 0 10px;
    }
    .guide_flow_box {
        display: block;
        padding: 20px 4vw;
    }
    .guide_flow_box .conts {
        width: 100%;
    }
    .guide_flow_box .conts .title {
        margin-bottom: 15px;
        font-size: 20px;
    }
    .guide_flow_box .conts .title .step {
        margin-right: 4vw;
    }
    .guide_flow_box .conts .text {
        margin-bottom: 10px;
        font-size: 15px;
        line-height: 1.75;
    }
    .guide_flow_box .pic {
        width: min(100%, 340px);
        margin: 20px auto 0;
    }
    .guide_flow_box .pic img {
        height: 40vw;
    }

    /* pay */

    .guide_pay {
        padding: 0 0 10px;
    }
    .guide_pay_box {
        padding: 20px 4vw;
    }
    .guide_pay_box .m_subtxt {
        margin: 20px 0 0;
    }
    .guide_pay_table {
        display: block;
        margin-top: 25px;
        border-bottom: none;
    }
    .guide_pay_table > div {
        margin: auto;
        width: min(100%, 400px);
        text-align: center;
        font-size: 16px;
    }
    .guide_pay_table .th {
        padding: 15px 0;
        border-bottom: 1px solid #bfdfc3;
    }
    .guide_pay_table .td {
        padding: 18px 0;
        border-bottom: 1px solid #bfdfc3;
    }

    /* note */

    .guide_note {
        padding: 0 0 10px;
    }
    .guide_note_dl {
        display: block;
    }
    .guide_note_dl .dt,
    .guide_note_dl .dd {
        font-size: 15px;
        line-height: 1.75;
    }
    .guide_note_dl .dt {
        width: 100%;
        padding: 18px 4vw 0;
        border-bottom: none;
        color: var(--green_light3);
        font-weight: bold;
    }
    .guide_note_dl .dd {
        padding: 12px 4vw 18px;
        width: 100%;
    }
    
}

/*----- product -----*/

.prod_list {
    padding: 30px 0 0;
}
.prod_list_box {
    position: relative;
    margin-bottom: 80px;
    padding-bottom: 40px;
}
.prod_list_box::after {
    position: absolute;
    content: "";
    z-index: -1;
    bottom: 0;
    left: 0;
    width: 50%;
    height: 84%;
    background: var(--green_light2);
}
.prod_list_box:nth-of-type(2n)::after {
    left: auto;
    right: 0;
}
.prod_list_box:nth-of-type(2n) .pic {
    order: 2;
}
.prod_list_box .wrap {
    display: flex;
    justify-content: space-between;
}

.prod_list .pic {
    width: 47%;
    text-align: center;
}
.prod_list .pic img {
    border-radius: 5px;
}
.prod_list .conts {
    width: 44%;
}
.prod_list .name {
    position: relative;
    margin: -20px 0 40px;
}
.prod_list .name .bgtxt {
    color: #f9f9f0;
    font-size: 133px;
    transform: scaleX(1.2);
}
.prod_list .name .ttl {
    position: absolute;
    top: calc(50% - 11px);
    width: 100%;
    font-size: 27px;
    letter-spacing: 2px;
}
.prod_list .price {
    display: flex;
    align-items: flex-end;
    margin-bottom: 30px;
}
.prod_list .price p {
    font-size: 25px;
}
.prod_list .price p.tax {
    font-size: 17px;
}
.prod_list .text {
    margin-bottom: 40px;
    font-size: 16px;
    line-height: 2;
}
.prod_list .cart_btn {
    width: 260px;
}
.prod_list .cart_btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px 0;
    background: var(--green);
    border-radius: 5px;
    color: var(--white);
}
.prod_list .cart_btn a:hover {
    background: #118949;
}
.prod_list .cart_btn a > div {
	width: 21px;
}
.prod_list .cart_btn a > div img {
    filter: brightness(0) saturate(100%) invert(66%) sepia(45%) saturate(500%) hue-rotate(95deg) brightness(89%) contrast(86%);
}
.prod_list .cart_btn a p {
    margin-left: 15px;
    font-size: 15px;
    letter-spacing: 4px;
}

/* detail */

.prod_detail {
    padding: 60px 0 120px;
}
.prod_detail_dl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.prod_detail_dl .dt,
.prod_detail_dl .dd {
    padding: 40px 60px;
    box-sizing: border-box;
    font-size: 17px;
    line-height: 2;
}
.prod_detail_dl .dt {
    width: 22%;
    border-bottom: 1px solid var(--green_light3);
}
.prod_detail_dl .dd {
    width: calc(100% - 22% - 2px);
    border-bottom: 1px solid var(--green);
}

.prod_worry {
    padding: 100px 0 90px;
}

@media screen and (min-width: 768px) and (max-width: 1260px){
    
    .prod_list {
        padding: 2.5vw 0 0;
    }
    .prod_list_box {
        margin-bottom: 7vw;
        padding-bottom: 0;
    }

    .prod_list .name {
        margin: -2vw 0 3vw;
    }
    .prod_list .name .bgtxt {
        font-size: 9vw;
        transform: scaleX(1);
    }
    .prod_list .name .ttl {
        top: calc(50% - 1vw);
        font-size: 2.4vw;
        letter-spacing: .2vw;
    }
    .prod_list .price {
        margin-bottom: 2.5vw;
    }
    .prod_list .price p {
        font-size: 2.2vw;
    }
    .prod_list .price p.tax {
        font-size: 1.6vw;
    }
    .prod_list .text {
        margin-bottom: 3vw;
        font-size: 1.5vw;
        line-height: 2;
    }
    .prod_list .cart_btn {
        width: 23vw;
    }
    .prod_list .cart_btn a {
        padding: 1.4vw 0;
    }
    .prod_list .cart_btn a > div {
        width: 2vw;
    }
    .prod_list .cart_btn a p {
        margin-left: 1.5vw;
        font-size: 1.4vw;
        letter-spacing: .4vw;
    }

    /* detail */

    .prod_detail {
        padding: 4.5vw 0 9vw;
    }
    .prod_detail_dl .dt,
    .prod_detail_dl .dd {
        padding: 2.5vw 3vw;
        font-size: 1.6vw;
    }

    .prod_worry {
        padding: 8vw 0;
    }
    
}
@media screen and (max-width: 767px){
   
    .prod_list {
        padding: 30px 0 0;
    }
    .prod_list_box {
        margin-bottom: 40px;
        padding-bottom: 20px;
    }
    .prod_list_box::after {
        height: 84%;
    }
    .prod_list_box .wrap {
        display: block;
    }

    .prod_list .pic {
        width: 100%;
    }
    .prod_list .pic {
        margin: 0 auto 10px;
        width: min(100%, 480px);
    }
    .prod_list .conts {
        width: 100%;
    }
    .prod_list .name {
        margin: 0 0 20px;
    }
    .prod_list .name .bgtxt {
		font-size: min(12.5vw, 70px);
        padding-left: 0;
        transform: scaleX(1);
    }
    .prod_list .prod_list_box:nth-of-type(2n+1) .name .bgtxt {
        color: var(--white);
    }
    .prod_list .name .ttl {
        top: calc(50% - 9px);
		font-size: min(6vw, 24px);
    }
    .prod_list .price {
        margin-bottom: 15px;
    }
    .prod_list .price p {
        font-size: 20px;
    }
    .prod_list .price p.tax {
        font-size: 15px;
    }
    .prod_list .text {
        margin-bottom: 20px;
        font-size: 15px;
        line-height: 1.75;
    }

    /* detail */

    .prod_detail {
        padding: 30px 0 60px;
    }
    .prod_detail_dl .dt,
    .prod_detail_dl .dd {
        padding: 20px 0;
        font-size: 15px;
        line-height: 1.75;
    }
    .prod_detail_dl .dd {
        padding-left: 4vw;
    }
    .prod_detail_dl .dt {
        width: 120px;
    }
    .prod_detail_dl .dd {
        width: calc(100% - 120px - 2px);
    }

    .prod_worry {
        padding: 60px 0;
    }
    
}

/*----- irukkusu -----*/

/* common */

.iru_frame {
    display: flex;
    justify-content: space-between;
    padding: 20px 0 40px;
}
.iru_frame .conts {
    width: 47%;    
}
.iru_frame .conts .ttl {
    margin: 15px 0 30px;
    font-size: 27px;
    letter-spacing: 2px;
    line-height: 1.8;
}
.iru_frame .conts .text {
    margin-bottom: 30px;
    font-size: 17px;
    line-height: 2.25;
}
.iru_frame .pic {
    width: 47%;    
}
.iru_frame .pic img {
    height: 430px;
    border-radius: 5px;
}

.iru_left,
.iru_right {
    position: relative;
}
.iru_left::after,
.iru_right::after {
    position: absolute;
    content: "";
    z-index: -1;
    bottom: 0;
    left: 0;
    width: 50%;
    height: 84%;
    background: var(--green_light2);
}
.iru_right::after {
    left: auto;
    right: 0;
}
.iru_left .conts {
    order: 2;
}

/* nature */

.iru_nature {
    padding: 120px 0;
}
.iru_nature_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px 3%;
}
.iru_nature_box {
    width: 48.5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 5px 20px 20px;
    border: 1px solid #8ad193;
    border-radius: 5px;
}
.iru_nature_box .pic {
    width: 116px;
}
.iru_nature_box .conts {
    width: calc(100% - 116px - 20px);
}
.iru_nature_box .ttl {
    margin-bottom: 10px;
    color: var(--green_light3);
    font-size: 27px;
    letter-spacing: 4px;
}
.iru_nature_box .text {
    font-size: 17px;
    line-height: 2;
}

/* about, worry, info, reason, howto */

.iru_about {
    padding: 0 0 100px;
}
.iru_worry {
    padding: 20px 0 100px;
}
.iru_info {
    padding: 60px 0;
}
.iru_reason {
    padding: 90px 0 20px;
}
.iru_howto {
    padding: 0 0 120px;
}

/* buy */

.iru_buy {
    padding: 90px 0 100px;
}
.iru_buy_list {
    display: flex;
}
.iru_buy_list .col_box {
    width: 33.3333%;
}
.iru_buy_list .pic img {
    height: 354px;
}
.iru_buy_list .m_btn {
    margin-top: 30px;
}

@media screen and (min-width: 768px) and (max-width: 1260px){
    
    /* common */

    .iru_frame {
        padding: 2vw 0 1.5vw;
    }
    .iru_frame .conts {
        width: 48.3333%;    
    }
    .iru_frame .conts .ttl {
        margin: 0 0 2vw;
        font-size: 2.2vw;
        letter-spacing: .2vw;
    }
    .iru_frame .conts .text {
        margin-bottom: 1vw;
        font-size: 1.6vw;
    }
    .iru_frame .conts .text br {
        display: none;
    }
    .iru_frame .pic {
        width: 48.3333%;    
    }
    .iru_frame .pic img {
        height: 35vw;
    }

    /* nature */

    .iru_nature {
        padding: 9vw 0;
    }
    .iru_nature_list {
        gap: 2vw 2%;
    }
    .iru_nature_box {
        width: 49%;
        padding: 1.5vw;
    }
    .iru_nature_box .pic {
        width: 8vw;
    }
    .iru_nature_box .conts {
        width: calc(100% - 8vw - 2vw);
    }
    .iru_nature_box .ttl {
        margin-bottom: 1vw;
        font-size: 2.4vw;
        letter-spacing: .4vw;
    }
    .iru_nature_box .text {
        font-size: 1.5vw;
        line-height: 1.8;
    }

    /* howto */

    .iru_about {
        padding: 0 0 8vw;
    }
    .iru_worry {
        padding: 1.8vw 0 8vw;
    }
    .iru_info {
        padding: 5vw 0;
    }
    .iru_reason {
        padding: 7.5vw 0 2vw;
    }
    .iru_howto {
        padding: 0 0 9vw;
    }

    /* buy */

    .iru_buy {
        padding: 7vw 0 8vw;
    }
    .iru_buy_list .pic img {
        height: 25vw;
    }
    .iru_buy_list .m_btn {
        margin-top: 2.5vw;
    }
    
}
@media screen and (max-width: 767px){
    
    /* common */

    .iru_frame {
        display: block;
        padding: 10px 0;
    }
    .iru_frame .conts {
        width: 100%;    
    }
    .iru_frame .conts .ttl {
        margin: 0 0 15px;
        font-size: 20px;
        letter-spacing: 1px;
    }
    .iru_frame .conts .text {
        margin-bottom: 10px;
        font-size: 15px;
        line-height: 2;
    }
    .iru_frame .pic {
        margin-top: 20px;
        width: 100%;    
    }
    .iru_frame .pic img {
        height: min(60vw,300px);
    }

    .iru_left::after,
    .iru_right::after {
        height: 60vw;
    }

    /* nature */

    .iru_nature {
        padding: 60px 0;
    }
    .iru_nature_list {
        display: block;
    }
    .iru_nature_box {
        width: 100%;
        margin: 0 auto 15px;
        padding: 15px 2vw;
    }
    .iru_nature_box .pic {
        width: 80px;
    }
    .iru_nature_box .conts {
        width: calc(100% - 80px - 4vw);
    }
    .iru_nature_box .ttl {
        margin-bottom: 10px;
        font-size: 20px;
        letter-spacing: 2px;
    }
    .iru_nature_box .text {
        font-size: 15px;
        line-height: 1.75;
    }

    /* howto */

    .iru_about {
        padding: 0 0 60px;
    }
    .iru_worry {
        padding: 10px 0 60px;
    }
    .iru_info {
        padding: 20px 0 0;
    }
    .iru_reason {
        padding: 60px 0 30px;
    }
    .iru_howto {
        padding: 0 0 60px;
    }

    /* buy */

    .iru_buy {
        padding: 60px 0 40px;
    }
    .iru_buy_list {
        display: block;
    }
    .iru_buy_list .col_box {
        width: min(100%, 400px);
        margin: 0 auto 30px;
    }
    .iru_buy_list .pic img {
        height: min(60vw,300px);
    }
    .iru_buy_list .m_btn {
        margin-top: 20px;
    }
    
}

/*----- worry -----*/

/* intro */

.worry_intro {
    padding: 20px 0 120px;
}
.worry_intro_frame {
    padding: 100px 0 0;
}
.worry_intro_box {
    display: flex;
    justify-content: space-between;
    margin: 0 0 20px;
    padding: 20px 75px;
    background: linear-gradient(44deg, #fcb370, #eb9648);
    border-radius: 5px;
}
.worry_intro_box .conts {
    width: calc(100% - 320px);
    color: var(--white);
}
.worry_intro_box .conts .ttl {
    margin: 10px 0 20px;
    font-size: 27px;
    letter-spacing: 4px;
    line-height: 1.75;
}
.worry_intro_box .conts .text {
    font-size: 17px;
    letter-spacing: 2px;
    line-height: 2.25;
}
.worry_intro_box .pic {
    width: 280px;
}
.worry_intro_box .pic img {
    border-radius: 5px;
    height: 200px;
}

/* info */

.worry_info {
    padding: 120px 0 30px;
}
.worry_info .circle_list {
    margin-bottom: 100px;
}

/* recommend */

.worry_recom {
    padding: 75px 0 15px;
}
.worry_recom_list .col_box {
    margin-bottom: 60px;
}
.worry_recom_list .pic {
    margin-bottom: 30px;
}
.worry_recom_list .pic img {
    border-radius: 5px;
}

@media screen and (min-width: 768px) and (max-width: 1260px){
    
    /* intro */

    .worry_intro {
        padding: 1.8vw 0 9vw;
    }
    .worry_intro_frame {
        padding: 7.5vw 0 0;
    }
    .worry_intro_box {
        margin: 0 0 2vw;
        padding: 2vw 3vw;
    }
    .worry_intro_box .conts {
        width: calc(100% - 28vw);
    }
    .worry_intro_box .conts .ttl {
        margin: .5vw 0 1.5vw;
        font-size: 2.4vw;
        letter-spacing: .4vw;
    }
    .worry_intro_box .conts .text {
        font-size: 1.6vw;
        letter-spacing: .2vw;
    }
    .worry_intro_box .pic {
        width: 24vw;
    }
    .worry_intro_box .pic img {
        height: 18vw;
    }
    
    /* info */

    .worry_info {
        padding: 9vw 0 2.5vw;
    }
    .worry_info .circle_list {
        margin-bottom: 100px;
    }

    /* recommend */

    .worry_recom {
        padding: 7vw 0 2vw;
    }
    .worry_recom_list .col_box {
        margin-bottom: 5vw;
    }
    .worry_recom_list .pic {
        margin-bottom: 2.5vw;
    }
    
}
@media screen and (max-width: 767px){
    
    /* intro */

    .worry_intro {
        padding: 10px 0 60px;
    }
    .worry_intro_frame {
        padding: 50px 0 0;
    }
    .worry_intro_box {
        display: block;
        padding: 20px 8vw 30px;
    }
    .worry_intro_box .conts {
        width: 100%;
    }
    .worry_intro_box .conts .ttl {
        margin: 0 0 10px;
        font-size: 20px;
        letter-spacing: 2px;
        line-height: 1.5;
    }
    .worry_intro_box .conts .text {
        font-size: 15px;
        letter-spacing: 1px;
        line-height: 2;
    }
    .worry_intro_box .pic {
        width: 100%;
        margin-top: 20px;
        text-align: center;
    }
    .worry_intro_box .pic img {
        width: min(100%, 280px);
        height: min(40vw,200px);
    }

    /* info */

    .worry_info {
        padding: 60px 0 30px;
    }
    .worry_info .circle_list {
        margin-bottom: 60px;
    }

    /* recommend */

    .worry_recom {
        padding: 60px 0 20px;
    }
    .worry_recom_list .col_box {
        margin-bottom: 40px;
    }
    .worry_recom_list .pic {
        margin-bottom: 20px;
    }
    
}

/*----- contact -----*/

.contact_intro {
    padding: 0 0 75px;
}
.contact_intro_box {
    padding: 30px 0;
    background: var(--green_light2);
    border-radius: 5px;
}
.contact_intro_info {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: -20px;
}
.contact_intro_info .tel {
    display: flex;
    align-items: center;
}
.contact_intro_info .tel a {
    color: var(--text);
    font-size: 35px;
    letter-spacing: 3px;
    margin-left: 5px;
}
.contact_intro_info .tel img {
    position: relative;
    width: 32px;
    filter: brightness(0);
    top: 5px;
    right: 5px;
}
.contact_intro_info .time {
    margin-left: 20px;
    font-size: 15px;
    line-height: 2;
}

/* form */

.form_area {
    padding: 75px 0 0;
}
.complete {
    padding: 75px 0 0;
}

@media screen and (min-width: 768px) and (max-width: 1260px){
    
    .contact_intro {
        padding: 0 0 6vw;
    }
    .contact_intro_box {
        padding: 2.5vw 0;
    }
    .contact_intro_info {
        margin-top: -2vw;
    }
    .contact_intro_info .tel a {
        font-size: 3vw;
        letter-spacing: .3vw;
        margin-left: .5vw;
    }
    .contact_intro_info .tel img {
        width: 3vw;
        top: .5vw;
        right: .5vw;
    }
    .contact_intro_info .time {
        margin-left: 2vw;
        font-size: 1.5vw;
    }

    /* form */

    .form_area {
        padding: 6vw 0 0;
    }
    .complete {
        padding: 6vw 0 0;
    }
    
}
@media screen and (max-width: 767px){
   
    .contact_intro {
        padding: 0 0 30px;
    }
    .contact_intro_box {
        padding: 15px 0;
    }
    .contact_intro_info {
        display: block;
        margin-top: -20px;
    }
    .contact_intro_info .tel {
        justify-content: center;
        align-items: flex-end;
    }
    .contact_intro_info .tel a {
		font-size: min(8vw, 35px);
    }
    .contact_intro_info .tel img {
		font-size: min(5vw, 25px);
        top: 6px;
    }
    .contact_intro_info .time {
        margin: 15px 0 0;
        text-align: center;
    }

    /* form */

    .form_area {
        padding: 30px 0 0;
    }
    .complete {
        padding: 50px 0;
    }
    
}


