@charset "utf-8";

/* --------------------------------------------------------------------------------
共通
-------------------------------------------------------------------------------- */

li {
    list-style: none;
}

body .post_content a {
    color: #04579b;
    transition: all 0.3s ease-out;
}

.post_content a:hover {
    color: #04579b;
    text-decoration: none;
}

.post_content a.underline {
    text-decoration: underline;
    font-weight: 500;
}

.post_content p {
    line-height: 1.5;
}

.post_content td,
.post_content th {
    padding: 6px 15px;
    line-height: 2;
}

.post_content h2.top {
    font-size: 240%;
    margin: 2em auto 0.4em auto;
    padding: 10px;
    text-align: center;
    font-weight: 600;
}

body .post_content p.next {
    text-align: center;
    margin-top: 2.6em;
}

p.next a {
    border-radius: 50vh;
    color: #fff;
    background: #04579b;
    padding: 1em 1.4em;
    box-shadow: 0px 1px 3px 1px rgb(0 0 0 / 25%);
    transition: all 0.3s ease-out;
}

.next a:hover {
    color: #04579b;
    border: #04579b 2px solid;
    background: #fff;
}

.pc_hid {
    display: none;
}

.sp_hid {
    display: block;
}

.pc_hid2 {
    display: none;
}

.sp_hid2 {
    display: inline-block;
}

summary {
    list-style: none;
}

summary::-webkit-details-marker {
    display: none;
}

/* --------------------------------------------------------------------------------
サイドバー
-------------------------------------------------------------------------------- */

.rental_side_wrap {
    margin: 40px 0 3em 0;
    transition: all 0.3s ease-out;
}

.rental_side_inner {
    display: none;
}

#side_col .rental_side_wrap li {
    font-size: 95%;
    padding: 1em 0 1em 3em;
    border-right: #ddd solid 1px;
    border-left: #ddd solid 1px;
    border-bottom: #ddd solid 1px;
}

#side_col .rental_side_wrap li:first-child {
    border-top: #ddd solid 1px;
}

#side_col .rental_side_inner li {
    border-bottom: #ddd dashed 1px;
}

#side_col .rental_side_inner li:last-child {
    border-bottom: #ddd solid 1px;
}

#side_col .rental_side_inner li:first-child {
    border-top: none;
}

#side_col li:hover {
    background: #f7f7f7;
}

#side_col li a:hover {
    color: #000;
}


#side_col .rental_side_inner span {
    font-size: 60%;
    padding-right: 1em;
    opacity: 0.5;
}

#rental_side_head {
    cursor: pointer;
    position: relative;
}

#rental_side_head:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 52%;
    right: 18px;
    width: 10px;
    height: 10px;
    border-right: 3px solid #ddd;
    border-bottom: 3px solid #ddd;
    transform: translateY(-50%) rotate(45deg);
    transition: .3s;
}

#rental_side_head.open:after {
    transform: rotate(225deg);
    top: 40%;
}

/*li:has(.current-page) {
    background-color: rgba(4,87,155,0.2);
}*/

#side_col img {
    margin: 0.8em 0;
    transition: all 0.3s ease-out;
}

#side_col img:hover {
    filter: brightness(0.7);
}

/* --------------------------------------------------------------------------------
お問合せ
-------------------------------------------------------------------------------- */

.rental_contact {
    background: #eee;
    padding: 2em 0;
    margin: 0 auto;
    text-align: center;
    border-top: #04579b 4px solid;
    transition: all 0.3s ease-out;
}

.rental_contact:hover {
    background: #e1e1e1;
}

.rental_contact p:last-of-type {
    font-weight: 600;
    font-size: 160%;
    color: #04579b;
    position: relative;
    padding-bottom: 14px;
}

.rental_contact p:before {
    position: absolute;
    bottom: -0.1rem;
    left: calc(50% - 90px);
    width: 180px;
    height: 6px;
    content: '';
    border-radius: 3px;
    background: #04579b;
}

.rental_contact p {
    font-size: 120%;
    color: #444;
    line-height: 1.2em;
    font-weight: 500;
}

.rental_contact div+p {
    font-weight: 600;
    padding-bottom: 0.5em;
}

.rental_contact img {
    padding: 0.3em 0.7em 0.6em;
}

.rental_contact2 {
    background: #f9f9f9;
    padding: 1em 0;
    margin: 0 8%;
    text-align: center;
    border-top: #2c8fb5 6px solid;
    border-bottom: #2c8fb5 2px solid;
    transition: all 0.3s ease-out;
}

.rental_contact2:hover {
    background: rgba(44, 143, 181, 0.5);
}

.rental_contact2 p:first-child {
    color: #2c8fb5;
    font-weight: 600;
    margin-bottom: 1.6em;
}

.rental_contact2 p:nth-child(2) {
    color: #222;
    font-weight: 600;
    font-size: 120%;
}

.rental_contact2 a {
    display: block;
}

.rental_contact2 p:last-of-type {
    background: #2c8fb5;
    padding: 0 2em;
    border-radius: 50vh;
    color: #fff;
    font-size: 160%;
    font-weight: 600;
    display: inline-block;
    line-height: 3em;
    margin: 0.5em auto 1em;
    box-shadow: 0px 2px 2px 0px #a9acad;
    transition: all 0.5s ease-out;
}

.rental_contact2 p:last-of-type:hover {
    transform: translateY(2px);
    background: #1e8ab3;
}

.rental_contact2 p img {
    vertical-align: middle;
    padding: 0 0 5px 8px;
}


/* --------------------------------------------------------------------------------
見積リンクボタン
-------------------------------------------------------------------------------- */
.application_button {
    margin: 1em auto 2em auto;
    transition: all 0.3s ease-out;
    position: relative;

}

.application_button::before {
    border-bottom: 3px solid #ddd;
    border-right: 3px solid #ddd;
    content: '';
    display: block;
    position: absolute;
    bottom: -4px;
    right: -4px;
    width: 100%;
    height: 6em;
    z-index: -1;
    border-radius: 0 0 10px 10px;
}

.application_button p:first-child {
    padding: 4px;
    background: #fff;
    border: #f2e820 4px solid;
    text-align: center;
    font-weight: 600;
    color: #04579b;
    border-radius: 10px 10px 0 0;
}

.application_button p:last-child {
    padding: 0.6em 1em;
    background: #f2e820;
    border: #f2e820 2px solid;
    text-align: center;
    font-weight: 800;
    font-size: 170%;
    color: #04579b;
    border-radius: 0 0 10px 10px;
    /*box-shadow: 0px 2px 2px 0px #a9acad;*/
}

.application_button:hover {
    transform: translateY(1px);
}

.application_button p:last-child:hover {
    background: #eadf12;
}

/* --------------------------------------------------------------------------------
フォーム
-------------------------------------------------------------------------------- */
.wpcf7 {
    border: none;
    background: #fff;
    padding: 1em 0;
}

.wpcf7 p {
    font-size: 16px;
}

.wpcf7 select,
.wpcf7 .wpcf7-list-item-label {
    font-size: 16px;
}

.wpcf7 select {
    max-width: 100%;
}

.wpcf7 textarea {
    height: 100px;
}

.wpcf7 input[type="file"] {
    border: none;
    padding: 0;
}

.wpcf7 .wpcf7-not-valid {
    background: rgb(255, 243, 245);
}

.form-group p {
    display: flex;
    justify-content: flex-start;
}

.wpcf7 .span {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    color: #fff;
    background: #d32626;
    padding: 0 6px 0 5px;
    margin: 0 10px 0 0;
    line-height: 18px;
}

.form-group>p>label {
    width: 23%;
    font-weight: 600;
}

.form_hr {
    width: 80%;
    margin: 3em auto;
    border-top: #ddd dotted 2px;
}

.form-bg {
    background-color: rgb(255, 243, 245);
}

.wpcf7 input.wpcf7-submit {
    width: 400px;
    font-size: 16px;
    background: #f2e820;
    color: #333;
    font-weight: 600;
    margin: 30px auto 0 0;
    box-shadow: 0px 1px 3px 1px rgb(0 0 0 / 25%);
    transition: all 0.3s ease-out;
}

.wpcf7 input.wpcf7-submit:hover {
    background: #e0d504;
}

.wpcf7 .wpcf7-submit:disabled {
    opacity: 0.6;
    cursor: auto;
    background: #ddd;
}

.wpcf7 .wpcf7-submit:disabled:hover {
    opacity: 0.6;
    cursor: auto;
    background: #ddd;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus {
    box-shadow: none;
    border: #555 solid 2.4px;
}

/* --------------------------------------------------------------------------------
レンタルご利用ガイド
-------------------------------------------------------------------------------- */

.post_content h3.guide {
    color: #04579b;
    font-weight: 1000;
    font-size: 142%;
    text-align: center;
}

/*
お申込みからご返却まで
 */
#guide1 {
    margin-bottom: 4em;
}

#guide1 ol {
    display: flex;
    margin-left: 0;
    justify-content: space-between;
    margin-bottom: 100px;
}

#guide1 li {
    width: 24%;
    position: relative;
}

#guide1 li a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
}

#guide1 li:not(:last-child)::after {
    content: "\f0da";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #04579b;
    font-size: 36px;
    position: absolute;
    right: -5%;
    top: 10%;
}

#guide1 li img {
    width: 54%;
    opacity: 0.95;
    transition: all 0.3s ease-out;
}

#guide1 li img:hover {
    transform: scale(1.02, 1.02);
    opacity: 1.0;
}

.post_content #guide1 li h3 {
    width: 100%;
    text-align: center;
    padding-top: 1em;
}

#guide1 li p {
    padding: 0 1em;
    color: #000;
    font-size: 95%;
}

/* 
レンタル内容の検討/自動見積・お申込み/お届け/ご利用と返却
 */
#guide2,
#guide3,
#guide4,
#guide5 {
    margin: 4em 0 7em 0;
}

#guide2 ul,
#guide3 ul,
#guide4 ul,
#guide5 ul {
    display: flex;
    justify-content: space-between;
    margin: 0;
}

#guide2 li,
#guide3 li,
#guide4 li,
#guide5 li {
    width: 28%;
    position: relative;
}

#guide2 li:not(:last-child)::after,
#guide3 li:not(:last-child)::after,
#guide4 li:not(:last-child)::after,
#guide5 li:not(:last-child)::after {
    content: "\f0da";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #04579b;
    font-size: 36px;
    position: absolute;
    right: -17%;
    top: 16%;
}

#guide2 li span,
#guide3 li span,
#guide4 li span,
#guide5 li span {
    display: none;
}

#guide2 li p,
#guide3 li p,
#guide4 li p,
#guide5 li p {
    font-size: 95%;
}

.custom-link {
    text-align: right;
}

.custom-link a {
    font-size: 90%;
    text-decoration: underline;
}

/* 
点検・清掃
 */
#guide6 {
    margin-bottom: 4em;
}

.guide6_wrap1,
.guide6_wrap2 {
    display: flex;
    align-items: flex-start;
    margin-bottom: 2em;
}

.guide6_inner1 {
    padding: 1em 1.5em;
    border: #04579b 2px solid;
    background: #fff;
    margin: 2em 0 1em 1em;
    position: relative;
}

.guide6_inner1::after {
    content: '';
    background: #dbe6f5;
    width: 416px;
    height: 261px;
    z-index: -10;
    position: absolute;
    top: -18px;
    left: -400px;
}

.guide6_inner2 {
    padding: 1.5em;
    border: #04579b 2px solid;
    background: #fff;
    margin: 1em 1em auto 2em;
    position: relative;
}

.guide6_inner2::after {
    content: '';
    background: #dbe6f5;
    width: 296px;
    height: 193px;
    z-index: -10;
    position: absolute;
    top: -60px;
    left: 510px;
}

.guide6_wrap div img {
    padding-right: 1em;
}

#guide6 span {
    color: #04579b;
    font-weight: 600;
}

/*#guide6 .img_wrap{
    display: flex;
    justify-content: flex-end;
}*/

#guide6 .img_wrap1 {
    position: relative;
}

.guide6_inner1 .icon1 {
    position: absolute;
    top: 75px;
    right: 150px;
    transform: rotate(-7deg);
}

.guide6_inner1 .icon2 {
    position: absolute;
    top: 75px;
    right: 0;
    transform: rotate(-7deg);
}

.guide6_inner2 .icon3 {
    position: absolute;
    top: 105px;
    left: 0;
    transform: rotate(7deg);
}

.guide6_inner2 .icon4 {
    position: absolute;
    top: 105px;
    left: 150px;
    transform: rotate(7deg);
}

/* 
もっと詳しく
 */
#guide7 {
    margin-bottom: 5em;
}

#guide7 h3 {
    border: 3px solid #04579b;
    border-left: #04579b solid 16px;
    padding: 0 2em;
    margin-bottom: 1em;
    font-size: 110%;
    font-weight: 600;
    line-height: 3em;
    color: #04579b;
    list-style: none;
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease-out;
}

#guide7 h3:hover {
    transform: translateY(2px);
    background: #dbe6f5;
}

#guide7 h3::before {
    border-bottom: 3px solid #ddd;
    border-right: 3px solid #ddd;
    content: '';
    display: block;
    position: absolute;
    bottom: -7px;
    right: -7px;
    width: 100%;
    height: 3em;
    z-index: 1;
}

#guide7 h3::after {
    content: '+';
    position: absolute;
    top: 45%;
    right: 30px;
    transform: translateY(-50%);
    transition: transform 0.5s;
    font-size: 40px;
}

#guide7 h3.open::after {
    transform: translateY(-50%) rotate(45deg);
}

#guide7 h4:not(.example) {
    font-size: 125%;
    font-weight: 800;
    color: #04579b;
    margin: 0.4em 0 0.5em 0;
    text-align: center;
}

#guide7 li p {
    font-size: 96%;
    color: #222;
}

#guide7 .content1 img {
    margin: 2.4em 0 1em;
}

#guide7 .extension {
    border: 1px solid #04579b;
    margin: 0 0 4em 0;
    padding: 2em 2em 0;
}

#guide7 .content1 h4:not(.example) {
    border-radius: 12px 12px 0 0;
    background: #04579b;
    color: #fff;
    margin: 2em 0 0;
    font-size: 120%;
    display: inline-block;
    padding: 0.6em 1em;
}

#guide7 .content1 .example {
    font-weight: 600;
    font-size: 110%;
    margin: 1.2em 0 -1.6em 0;
}

#guide7 .content1 table {
    width: 90%;
    margin: 18px auto 20px auto;
}

#guide7 .caution {
    padding-left: 2em;
    text-indent: -1em;
    font-size: 92%;
}

#guide7 .content2 .lead {
    margin: 5px 0 2.5em 0;
}

#guide7 .content2 ul {
    margin-left: 0;
}

#guide7 .content2 li {
    display: flex;
    align-items: flex-start;
    margin-bottom: 2em;
}

#guide7 .content2 li table {
    margin: 1em 0 0.5em;
}

#guide7 .content2 h4 {
    background: #2c8fb5;
    padding: 1em 2px;
    border-radius: 20px;
    color: #fff;
    font-weight: 800;
    width: 130px;
    text-align: center;
    margin-right: 2em;
}

#guide7 .content2 .credit {
    font-weight: 600;
}

#guide7 .content2 h4+div {
    width: 80%;
}

#guide7 .content2 .account {
    border: #04579b 1px solid;
    padding: 1em 1em 1.6em;
    position: relative;
    margin: 2em auto 2em 2em;
    line-height: 1em;
}

#guide7 .content2 .account dt {
    position: absolute;
    background: #fff;
    top: -0.9em;
    padding: 0 1em;
    color: #04579b;
    font-weight: 600;
}

#guide7 .content2 .account dd {
    margin-bottom: 0;
    line-height: 1em;
}

#guide7 .content2 .contact {
    text-indent: 2em;
}

#guide7 .content2 .contact dt {
    color: #04579b;
}

#guide7 .content2 .contact span {
    font-weight: 600;
    color: #222;
}

#guide7 .content2 .contact dd {
    margin-bottom: 0;
}

#guide7 .paypal_link {
    margin: 1.6em 0 2em;
    text-align: right;
}

#guide7 .paypal_link a {
    border-radius: 50vh;
    color: #fff;
    background: #04579b;
    padding: 1em 1.4em;
    box-shadow: 0px 1px 3px 1px rgb(0 0 0 / 25%);
    transition: all 0.3s ease-out;
}

#guide7 .paypal_link a:hover {
    color: #04579b;
    border: #04579b 2px solid;
    background: #fff;
}

#guide7 .content2 .card_icon {
    margin: 1em auto 0 1em;
}

#guide7 .content3 .rentalinsurance_wrap {
    display: flex;
    align-items: center;
    margin-bottom: 2em;
}

#guide7 .content3 .compensation_link {
    margin-bottom: 3em;
}

#guide7 .content3 .img_wrap {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
}

.post_content #guide7 .content3 .img_wrap img {
    max-width: 50%;
}

#guide7 .content3 .img_wrap img:first-child {
    border: #ddd solid 1px;
}

#guide7 .content4 summary+p {
    margin: 2em 0 1.5em;
}

#guide7 .discount_wrap {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1em;
    justify-content: space-around;
}


#guide7 .discount_inner {
    width: 46%;
    background: #dbe6f5;
    box-sizing: border-box;
    padding: 210px 1.5em 2em;
    /* ←画像分の余白を上に追加 */
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    /* ←テキスト中央揃え */
}

#guide7 .discount_inner h4 {
    font-size: 130%;
    font-weight: 600;
    color: #04579b;
    text-align: center;
    position: absolute;
    top: 65px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    padding: 0 0.5em;
}

#guide7 .discount_inner:first-of-type h4::after,
#guide7 .discount_inner:last-of-type h4::after {
    content: "";
    display: block;
    width: 180px;
    height: 180px;
    position: absolute;
    top: 65px;
    left: 50%;
    transform: translate(-50%, -60%);
    z-index: -1;
}

#guide7 .discount_inner:first-of-type h4::after {
    background-image: url('/wp-content/uploads/2025/06/FirstDiscount2.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

#guide7 .discount_inner:last-of-type h4::after {
    background-image: url('/wp-content/uploads/2025/06/StudentDiscount2.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

#guide7 .discount_inner p {
    margin-bottom: 8px;
    text-align: left;
}

#guide7 .discount_img {
    border: #ddd solid 1px;
    margin: 10px 0 0 0;
}

#guide7 .long_plan_banner {
    margin: 2.6em 0 2em 0;
}

#guide7 .long_plan_banner h5 {
    font-size: 130%;
    font-weight: 600;
    color: #04579b;
    position: relative;
    margin-bottom: 0;
}

#guide7 .long_plan_banner img {
    margin-top: 8px;
}

#guide7 .discount_wrap+div h6::before {
    content: '▶';
    color: #04579b;
    font-size: 85%;
    padding-right: 0.3em;
}

#guide7 .discount_wrap+div img {
    margin: 2px auto;
    transition: all 0.3s ease-out;
}

#guide7 .discount_wrap+div img:hover {
    filter: brightness(0.7);
}

#guide7 .details5_wrap {
    display: flex;
    justify-content: space-between;
    margin: 2em 0 0;
    border-bottom: #04579b solid 10px;
}

#guide7 .guide_details_button {
    width: 32%;
}

#guide7 .guide_details_button a {
    border: #04579b solid 3px;
    border-radius: 1em 1em 0 0;
    border-bottom: none;
    font-size: 110%;
    font-weight: 600;
    padding: 0.4em 0.5em 0.3em;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease-out;
}

#guide7 .guide_details_button a.select {
    background: rgba(4, 87, 155, 0.2);
}

#guide7 .guide_details_button a:hover {
    background: rgba(4, 87, 155, 0.2);
}

#guide7 .guide_details_inner {

    margin: -5px 0 2em 0;
    display: none;
}


#guide7 .guide_details_inner ul {
    display: flex;
    justify-content: flex-start;
    margin: 4em 0 2em;
}

#guide7 .guide_details_inner ul li {
    width: 28%;
    margin-right: 8%;
    position: relative;
}

#guide7 .guide_details_inner>ul li:not(:last-child)::after {
    content: "\f0da";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #04579b;
    font-size: 36px;
    position: absolute;
    right: -17%;
    top: 16%;
}

#guide7 .guide_details_inner ul li:last-child {
    margin-right: 0;
}

#guide7 .package {
    border: #04579b 2px solid;
    margin: 0 1em 6em;
    position: relative;
    padding: 2em 1em 1em;
    border-radius: 12px;
}

#guide7 .package h5 {
    font-weight: 600;
    color: #04579b;
    background: #fff;
    font-size: 130%;
    position: absolute;
    top: -1em;
    left: calc(50% - 4em);
    padding: 0 0.5em;
}

#guide7 .guide_details_inner .package ul {
    display: flex;
    margin: 0;
}

#guide7 .package ul li {
    flex: 1;
    margin: 0 5px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    font-size: 90%;
}

#guide7 .content6 ul {
    display: flex;
    justify-content: space-between;
}

#guide7 .content6 li {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    align-content: flex-start;
    width: 21%;
    text-align: center;
}

#guide7 .content6 li::before {
    content: "";
    background-color: #dbe6f5;
    width: 150px;
    height: 150px;
    z-index: -2;
    position: absolute;
    left: calc(50% - 75px);
    top: 45px;
}

#guide7 .content6 img {
    transition: all 0.3s ease-out;
}

#guide7 .content6 img:hover {
    transform: scale(1.1, 1.1);
}

#guide7 .content6 li p {
    text-align: left;
}

/* 
割引サービス　さんわの日割引追加
 */
#guide7 .discount-container {}

#guide7 .discount-content {
    background: #dbe6f5;
    box-sizing: border-box;
    padding: 1.2em 2em;
    margin: 10px 0 20px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

#guide7 .discount-content h4 {
    font-size: 135%;
    font-weight: 800;
    color: #04579b;
    margin: 0 0 0.5em 0;
    text-align: left;
}

#guide7 .discount-content img {
    margin-left: 22px;
}

#guide7 .discount-content span {
    font-size: 85%;
}

/* 
ユーザーレビュー
 */

#guide8 summary {
    color: #04579b;
    font-size: 180%;
    font-weight: 800;
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em;
    cursor: pointer;
}

#guide8 summary img {
    width: 10%;
    padding: 0 1em;
}

#guide8 details {
    margin: 3em auto;
    padding: 0 2em 0;
    transition: all 0.3s ease-out;
    border: 1px solid #04579b;
}

#guide8 details:hover {
    background: #dbe6f5;
}

#guide8 details[open]:hover {
    background: #fff;
}

#guide8 details div {
    display: flex;
    justify-content: space-between;
}

#guide8 details article {
    width: 30%;
    cursor: pointer;
}

#guide8 details article p {
    font-size: 98%;
}

#guide8 details article img {
    transition: all 0.3s ease-out;
}

#guide8 details article img:hover {
    transform: scale(1.1, 1.1);
}

#guide8 details article a {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    color: #000;
}

#guide8 details .stars {
    display: block;
    width: 100%;
    text-align: center;
    padding: 0.8em 0 0.5em;
}

#guide8 div+p {
    text-align: right;
    margin: 1em 0 2em 0;
    padding: 0.8em;
}

#guide8 div+p a {
    border: #04579b solid 2px;
    border-radius: 50vh;
    padding: 0.6em 1.6em;
    margin: 1em 0;
}

#guide8 div+p a:hover {
    background: #d7e2ec;
    color: #003763;
}

/* 
よくあるご質問
 */

#guide9 summary {
    background: #2077b2;
    color: #fff;
    font-size: 160%;
    font-weight: 600;
    list-style: none;
    padding: 5px 2em;
    border-radius: 30px 60px/60px 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 65%;
    margin: 0 auto 2em;
    box-shadow: 10px 10px 0px -5px #ddd;
    transition: all 0.3s ease-out;
}

#guide9 summary:hover {
    background: #1e6697;
    transform: translateY(1px);
    box-shadow: none;
}

#guide9 summary img {
    padding-left: 1em;
}

#guide9 dl {
    margin-bottom: 4em;
}

#guide9 dt {
    color: #04579b;
    border-bottom: #bbb solid 1px;
    margin-bottom: 1em;
    padding-bottom: 1em;
    font-size: 110%;
}

#guide9 dt:first-child {
    margin-top: 2em;
}

#guide9 dt span {
    background: #2077b2;
    padding: 0.3em 0.9em 0.4em 0.8em;
    margin-right: 1em;
    color: #fff;
    font-weight: 800;
    font-size: 110%;
    position: relative;
}

#guide9 dt span::after {
    content: '▶';
    position: absolute;
    color: #2077b2;
    right: -10px;
    top: 2px;
}

#guide9 dd table {
    margin: 2em auto 0 auto;
    width: 80%;
}

#guide9 dd .right {
    text-align: right;
    font-weight: 600;
}

#guide9 dd .right a {
    display: inline-block;
    border-bottom: #04579b 1px solid;
    color: #04579b;
    padding: 0.3em 1em;
    margin: 0.4em 0;
    transition: all 0.3s ease-out;
}

#guide9 dd .right a:hover {
    background: #bfd2e1;
}

#guide9 .faq_link {
    border: #04579b 1px solid;
    border-radius: 50vh;
    color: #04579b;
    padding: 0.4em 1em;
    width: 15em;
    text-align: center;
    transition: all 0.3s ease-out;
    margin: 0 0 0 auto;
}

#guide9 .faq_link:hover {
    background: #d7e2ec;
}

/* 
お問合せ
 */
#guide10 {
    margin-top: 2em;
}


/* --------------------------------------------------------------------------------
コース一覧
-------------------------------------------------------------------------------- */
#course1 .tab_box {
    margin: 2em 0 0 0;
}

#course1 .tab_area,
#course4 .tab_area {
    display: flex;
    justify-content: space-between;
    margin-left: 0;
}

#course4 .tab_area {
    margin-top: 4em;
}

#course1 h3,
#course4 h3 {
    color: #04579b;
    font-weight: 800;
    font-size: 160%;
    text-align: center;
    padding: 8px 1em;
    border: #04579b 4px solid;
    border-radius: 50vh;
    display: inline-block;
    margin-bottom: 2em;
}

#course1 .tab_btn,
#course4 .tab_btn-2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: flex-start;
    width: 21%;
    position: relative;
    cursor: pointer;
}

#course1 .tab_btn::before {
    content: "";
    background-color: #dbe6f5;
    width: 150px;
    height: 150px;
    z-index: -2;
    position: absolute;
    left: calc(50% - 75px);
    top: calc(50% - 125px);
}

#course4 .tab_btn-2::before {
    content: "";
    background-color: #dbe6f5;
    width: 150px;
    height: 150px;
    z-index: -2;
    position: absolute;
    left: calc(50% - 75px);
    top: calc(50% - 80px);
}

#course1 .tab_btn::after,
#course4 .tab_btn-2::after {
    content: "";
    background-color: #f2e820;
    width: 35px;
    height: 30px;
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    position: absolute;
    bottom: -38px;
    left: calc(50% - 20px);
    display: none;
}

#course1 .tab_btn.select::after {
    display: block;
}

#course1 .tab_btn img,
#course4 .tab_btn-2 img {
    transition: all 0.3s ease-out;
}

#course1 .tab_btn img:hover,
#course4 .tab_btn-2 img:hover {
    transform: scale(1.1, 1.1);
}

#course1 .tab_btn.select::before {
    content: "";
    background-color: #f2e820;
    width: 150px;
    height: 150px;
    z-index: -2;
    position: absolute;
    left: calc(50% - 75px);
    top: calc(50% - 125px);
}

#course4 .tab_btn-2.select::before {
    content: "";
    background-color: #f2e820;
    width: 150px;
    height: 150px;
    z-index: -2;
    position: absolute;
    left: calc(50% - 75px);
    top: calc(50% - 80px);
}

#course1 .tab_btn.select img,
#course4 .tab_btn-2.select img {
    transform: scale(1.1, 1.1);
}

#course1 .tab_btn .course_name {
    color: #04579b;
    font-weight: 800;
    font-size: 140%;
    text-align: center;
    margin: 10px 0 0 0;
}

#course4 .tab_btn-2 .course_name {
    font-weight: 800;
    font-size: 120%;
    text-align: center;
    width: 100%;
    margin: 4px 0 0 0;
}

#course2 .content_area {
    display: none;
    margin-bottom: 6em;
}

#course2 .content_area .application_button {
    margin: 1em 2em 2em 2em;
}

#course2 .content_area_wrap {
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin-top: 4rem;
}

#course2 .mainbody {
    width: 30%;
}

#course2 .content_area_wrap>div {
    position: relative;
    width: 60%;
}

#course2 .content_area_wrap h2 {
    font-size: 200%;
    padding: 0 0 10px 1em;
    margin-bottom: 4px;
    font-weight: 600;
    border-bottom: #666 1px solid;
    position: relative;
}

#course2 .content_area_wrap h2::before {
    content: "";
    position: absolute;
    width: 20px;
    height: 43px;
    left: 0.5em;
    transform: skewX(-25deg);
    background: #f2e820;
    z-index: -1;
}

#course2 .content_area_wrap h2+p {
    font-weight: 600;
    font-size: 110%;
    margin-bottom: 1em;
}

#course2 .package_wrap {
    padding: 1em 1.5em;
    border: #c4c4c4 1px solid;
    display: flex;
    margin-bottom: 1em;
    justify-content: flex-start;
    align-items: flex-start;
    position: relative;
}

#course2 .ip_package_wrap {
    align-items: flex-end;
}

#course2 .package_wrap figure img {
    margin-bottom: -12px;
}

#course2 .package_wrap figcaption {
    font-size: 85%;
    line-height: 1.4em;
}

#course2 .package,
#course2 .package dd {
    margin: 1em 0.8em 0 0;
    font-size: 95%;
    line-height: 1.5;
}

#course2 .content_area_wrap dt {
    font-size: 110%;
    padding: 2px 10px;
    position: absolute;
    color: #fff;
    background: #aaa;
    top: 0;
    left: 0;
}

#course2 .package_wrap+p {
    border: #04579b solid 4px;
    background: #fff;
    width: 120px;
    height: 120px;
    color: #04579b;
    border-radius: 50vh;
    padding: 8px;
    font-size: 78%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    position: absolute;
    right: -1em;
    top: 6.5em;
    line-height: 1.2em;
}

#course2 .package_wrap+p span {
    font-weight: 600;
    font-size: 120%;
    padding: 3px 0;
}

#course2 .option {
    padding: 1em 1.5em 0;
    border: #c4c4c4 1px solid;
    position: relative;
}

#course2 .option dd {
    padding: 6px 0 0 0;
}

#course2 .option dd p:first-of-type {
    margin: 18px 0 0 0;
}

#course2 .option dd div {
    display: flex;
    justify-content: space-around;
    padding-top: 1em;
}

#course2 .option figcaption {
    font-size: 80%;
    text-align: center;
}

#course2 .attention {
    width: 95%;
    margin: 1em auto;
    font-weight: 500;
    line-height: 1.5;
    border: #777 solid 1px;
    padding: 21px 0 13px;
    font-size: 102%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#course2 .attention img {
    padding: 0 3% 0 0;
}

#course2 .attention div {
    width: 82%;
}

#course2 .attention p {
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 12px;
}

#course2 .content_area_wrap2 h3,
#course2 .specification h3 {
    font-size: 180%;
    font-weight: 600;
    text-align: center;
}

#course2 .content_area_wrap2 ul {
    display: flex;
    justify-content: space-between;
    margin-left: 0;
}

#course2 .content_area_wrap2 ul li {
    width: 21%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    align-content: flex-start;
    margin: 1em 0;
}

#course2 .content_area_wrap2 ul li p {
    padding-top: 1em;
}

#course2 .specification dl {
    width: 80%;
    margin: 0 auto;
}

#course2 .specification+div {
    display: flex;
    justify-content: center;
    margin-bottom: 2.4em;
}

#course2 .specification+div a {
    color: #222;
    border: #c4c4c4 1px solid;
    padding: 1em;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 14em;
    margin: 1em;
    transition: all 0.3s ease-out;
}

#course2 .specification+div a:hover {
    background: #ddd;
}

#course2 .specification+div img {
    padding-right: 1em;
}

hr.course {
    color: #c4c4c4;
    margin: 2em 0;
}

#course2 .merit img {
    opacity: 0.9;
}

#course3 .application_button {
    margin: 4em 2em 5em;
}

#course3 .longplan_button {
    margin: 2em;
}

#course3 .longplan_button p {
    color: #222;
    font-weight: 600;
    text-align: center;
}

#course3 .longplan_button img {
    box-shadow: 4px 4px 5px 0px #a9acad;
    transition: all 0.3s ease-out;
}

#course3 .longplan_button img:hover {
    transform: translateY(1px);
    filter: brightness(0.7);
}

.course_faq {
    margin: 0 4em;
}

.course_faq a {
    display: flex;
    align-items: center;
}

.course_faq img {
    padding-right: 2em;
    transition: all 0.3s ease-out;
}

.course_faq img:hover {
    transform: translateY(1px);
    filter: brightness(0.7);
}

.course_faq .bubble {
    position: relative;
    background: #04579B;
    padding: 2em 0 0.6em;
    color: #fff;
    border-radius: 20px;
    text-align: center;
    width: 80%;
    transition: all 0.3s ease-out;
}

.course_faq .bubble:hover {
    transform: translateY(1px);
    background: #025193;
}

.course_faq .bubble p:first-child {
    font-size: 200%;
    font-weight: 600;
    line-height: 1em;
}

.course_faq .bubble p:last-child {
    font-size: 110%;
    font-weight: 500;
}

.course_faq .bubble:after {
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    position: absolute;
    border-color: rgba(4, 87, 155, 0);
    border-top-width: 10px;
    border-bottom-width: 10px;
    border-left-width: 20px;
    border-right-width: 20px;
    margin-top: -10px;
    border-right-color: #04579B;
    right: 100%;
    top: 70%;
}

/*#course4 .tab_area{
    display: flex;
    justify-content: space-around;
    margin: 4em 0 0 0;
}

#course4 .tab_area li{
    border: #ddd solid 1px;
    padding: 1em;
    width: 20%;
    text-align: center;
    position: relative;
}

 #course4 .tab_area li::before{
    content: "";
    background-color: #dbe6f5;
    width: 150px;
    height: 150px;
    z-index: -2;
    position: absolute;
    left: calc(50% - 75px);
    top: 20%;
}

#course4 .tab_area li h4{
    font-weight: 600;
}

#course4 .tab_btn img{
    transition: all 0.3s ease-out;
}

#course4 .tab_btn img:hover{
    transform: scale(1.1, 1.1);
}

#course4 .tab_btn.select::before{
    content: "";
    background-color: #f2e820;
    width: 150px;
    height: 150px;
    z-index: -2;
    position: absolute;
    left: calc(50% - 75px);
    top: 20%;
}

#course4 .tab_btn.select img{
    transform: scale(1.1, 1.1);
}*/

/* --------------------------------------------------------------------------------
あんしんパック
-------------------------------------------------------------------------------- */
#RentalInsurance .top_wrap {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

#RentalInsurance .top_wrap img {
    margin: -2em 1em 0 1em;
}

#RentalInsurance .img_wrap {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-top: 1em;
}

#RentalInsurance .img_wrap img {
    margin: 0 1.2em 1em 0;
}

#RentalInsurance .img_wrap img:first-child {
    border: #ddd solid 1px;
}

.RentalInsurance_inner {
    margin-top: 4em;
}


.RentalInsurance_inner dl {
    padding: 1.4em 1em 0.4em;
    margin: 1.4em auto 1.4em 1em;
    width: 80%;
    background: #dbe6f5;
}

.RentalInsurance_inner dt {
    color: #04579b;
    font-size: 125%;
    font-weight: 600;
    margin: 0 auto 0.4em 1.6em;
    display: flex;
    align-items: center;
    position: relative;
}

.RentalInsurance_inner dt img {
    padding-right: 7px;
    position: absolute;
    top: -25px;
    left: -65px;
}

.RentalInsurance_inner dd {
    margin: 0 0 0.5em 2em;
}

.RentalInsurance_inner li {
    list-style-type: square;
    font-size: 105%;
    font-weight: 500;
    line-height: 1.8;
}

.compensation_link {
    margin: 1em 0 2em;
    text-align: right;
}

body .post_content .compensation_link a {
    border-radius: 50vh;
    color: #fff;
    background: #04579b;
    padding: 1em 1.6em;
    box-shadow: 0px 1px 3px 1px rgb(0 0 0 / 25%);
    transition: all 0.3s ease-out;
    margin: 1em 0;
}

.compensation_link a:hover {
    color: #04579b;
    border: #04579b 2px solid;

    background: #fff;
}

/* --------------------------------------------------------------------------------
レビュー一覧ページ
-------------------------------------------------------------------------------- */

#review_archive h1 {
    margin: 0 0 28px;
    padding: 0;
    font-size: 32px;
    line-height: 1.2;
}

#review_archive section {
    display: flex;
    flex-wrap: wrap;
    margin-top: 3rem;
}

#review_archive article {
    width: 31%;
    padding: 30px 24px 20px 24px;
    border-bottom: 1px solid #ddd;
    margin: 5px 0;
    box-sizing: border-box;
    position: relative;
}

#review_archive article a:not(.review_link) {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    transition: all 0.3s ease-out;
}

#review_archive article a:not(.review_link):hover {
    color: #000;
}

#review_archive article h2 {
    padding: 0 2em 5px 2em;
    min-height: 2em;
    line-height: 1.6;
}

#review_archive .review_name {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    margin: 1em 0;
}

#review_archive .review_name p {
    margin: 0 0 6px;
}

#review_archive .review_img {
    width: 110px;
    margin: 0 auto;
    overflow: hidden;
}

#review_archive .review_img img {
    transition: all 0.3s ease-out;
    width: 100%;
    height: auto;
}

#review_archive .review_img img:hover {
    transform: scale(1.1, 1.1);
    transition: all 0.3s ease-out;
}

#review_archive .rating {
    font-weight: 800;
    margin: 5px 0 0 0;
}

#review_archive .rating span {
    padding-left: 1em;
}

#review_archive .review_link_wrap {
    text-align: right;
}

#review_archive .review_link {
    color: #067E8E;
    position: relative;
    padding-right: 1.4em;
}

#review_archive .review_link::after {
    content: "\f04b";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    right: 0.2em;
    font-size: 0.9em;
}

#review_archive .review_link:hover {
    text-decoration: underline;
}



/* --------------------------------------------------------------------------------
レビュー個別ページ
-------------------------------------------------------------------------------- */

.review_name p,
.review_text p {
    font-size: 16px;
}

.review_title {
    line-height: 1.4;
    margin: 4.6rem 0 0 0 !important;
    text-align: center;
    font-weight: 400;
    position: relative;
}

.review_icon {
    text-align: center;
    margin-top: 1.5rem
}

.review_icon img {
    width: 160px;
}

.review_name {
    display: flex;
    justify-content: center;
    margin: 0.5rem 0 1rem;
}

.review_text {
    width: 80%;
    margin: 4rem auto;
    line-height: 1.6em
}

p.rating span {
    font-size: 150%;
    padding-left: 1rem;
}

p.rating {
    margin: 1rem 0;
    text-align: center;
}

.review_text .reply {
    margin-top: 2rem;
}

.reply h6 {
    padding: 0.9em 0 0.8em;
    border-bottom: 1px dotted #aaa;
    margin-bottom: 1rem;
}

.review_text .review_image {
    display: flex;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.review_text .review_image img {
    padding: 10px;
}

.review-footer {
    text-align: right;
}

.review-footer a {
    background: #131e20;
    box-sizing: border-box;
    color: #fff;
    display: inline-block;
    font-size: 14px;
    margin-bottom: -1px;
    padding: 0 15px;
    min-width: 200px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    transition: all 0.5s ease 0s;
}

.review-footer a:hover {
    opacity: 0.7;
}

.prev_review,
.next_review {
    position: absolute;
    top: 240px;
    font-size: 200%;
}

.title {
    transition: all 0.5s ease 0s;
}

.title:hover {
    opacity: 0.6;
}

.prev_review {
    left: 11%;
}

.next_review {
    right: 11%;
}

/* --------------------------------------------------------------------------------
レンタルレビュー投稿
-------------------------------------------------------------------------------- */
.form-group3.review>p {
    width: 23%;
    margin-right: 0;
}

.form-group3 label {
    font-weight: 600;
}

.form-group3 {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 1em;
}

span#star {
    display: flex;
}

span#icon {
    display: flex;
}

#icon span.wpcf7-list-item-label {
    font-weight: normal;
}

#icon span.wpcf7-list-item:first-child {
    background: no-repeat 8px 32px url(/wp-content/uploads/2022/02/rental_icon_04.png);
    background-size: contain;
    height: 140px;
    margin-right: 25px;
}

#icon span.wpcf7-list-item:nth-child(2) {
    background: no-repeat 8px 32px url(/wp-content/uploads/2022/02/rental_icon_05.png);
    background-size: contain;
    margin-right: 25px;
}

#icon span.wpcf7-list-item:nth-child(3) {
    background: no-repeat 8px 32px url(/wp-content/uploads/2022/02/rental_icon_06.png);
    background-size: contain;
    margin-right: 25px;
}

#icon span.wpcf7-list-item:nth-child(4) {
    background: no-repeat 8px 32px url(/wp-content/uploads/2022/02/rental_icon_01.png);
    background-size: contain;
    margin-right: 25px;
}

#icon span.wpcf7-list-item:nth-child(5) {
    background: no-repeat 8px 32px url(/wp-content/uploads/2022/02/rental_icon_02.png);
    background-size: contain;
    margin-right: 25px;
}

#icon span.wpcf7-list-item:nth-child(6) {
    background: no-repeat 8px 32px url(/wp-content/uploads/2022/02/rental_icon_03.png);
    background-size: contain;
    margin-right: 0;
}


.reviewpost .required {
    background: #C04444;
    padding: 0 4px 1px 4px;
    margin-left: 5px;
    color: #fff;
    font-weight: bold;
    font-size: 75%;
}

.reviewpost input,
.reviewpost select,
.reviewpost textarea {
    border-radius: 5px !important;
    border: solid 1px #aaa;
    padding: 3px 0;
}

.reviewpost th {
    white-space: nowrap;
    vertical-align: middle;
}

.reviewpost th p {
    line-height: 1.4em;
}

table.reviewpost {
    margin-top: 2rem;
}

.reviewpost_submit {
    background: #C04444;
    width: 40%;
    border-radius: 5px;
    text-align: center;
    margin: 0 0 10px 0;
    transition: all 1s ease-out;
    color: #fff;
    border: none;
    padding: 10px 10px;
    cursor: pointer;
}

.reviewpost_submit:hover {
    opacity: 0.7;
}

.reviewpost td .icon {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.reviewpost input.picture1,
.reviewpost input.picture2 {
    border: none;
}

.reviewpost_text p:nth-child(odd) {
    margin-top: 2rem;
}

.reviewpost_history_back {
    background: #eee;
    width: 40%;
    border-radius: 5px;
    text-align: center;
    margin: 0 0 30px 0;
    transition: all 1s ease-out;
    color: #000;
    border: none;
    padding: 10px 10px;
}

.reviewpost_history_back:hover {
    opacity: 0.5;
}

td .icon>span {
    margin-left: 0 !important;
}

td .icon label span {
    height: 140px;
    width: 75px;
    display: inline-block;
}

#icon-1+span {
    background: no-repeat 0 40px url(/wp-content/uploads/2022/03/rental_icon01.png);
    background-size: contain;
}

#icon-2+span {
    background: no-repeat 0 40px url(/wp-content/uploads/2022/03/rental_icon02.png);
    background-size: contain;
}

#icon-3+span {
    background: no-repeat 0 40px url(/wp-content/uploads/2022/03/rental_icon03.png);
    background-size: contain;
}

#icon-4+span {
    background: no-repeat 0 40px url(/wp-content/uploads/2022/03/rental_icon04.png);
    background-size: contain;
}

#icon-5+span {
    background: no-repeat 0 40px url(/wp-content/uploads/2022/03/rental_icon05.png);
    background-size: contain;
}

#icon-6+span {
    background: no-repeat 0 40px url(/wp-content/uploads/2022/03/rental_icon06.png);
    background-size: contain;
}



/* --------------------------------------------------------------------------------
レビュー投稿完了ページ
-------------------------------------------------------------------------------- */

.reviewpost_complete {
    margin: 2rem 0;
}

.reviewpos_contact {}

/* --------------------------------------------------------------------------------
IP無線機お試しアンケート
-------------------------------------------------------------------------------- */
.wpcf7-radio .wpcf7-list-item {
    margin-right: 22px;
}

.form-group3 input#form_name {
    width: 50%;
}

span#purpose,
span#place,
span#ease,
span#replace,
span#rejection_reason,
span#schedule {
    display: flex;
    flex-wrap: wrap;
    padding-top: 1.4em;
}

.form-group3 {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 1em;
}

.form-group3.review {
    margin-bottom: 2em;
}

.form-group3>p {
    width: 34%;
    display: inline-block;
    margin-right: 1.8em;
}

.form-group3 label {
    font-weight: 600;
}

.form-group3 div:last-child {
    width: 62%;
}

.form-group3 .wpcf7-list-item {
    margin-left: 0;
}


/* --------------------------------------------------------------------------------
フォーム送信完了ページ
-------------------------------------------------------------------------------- */
.thanks .img_wrap {
    text-align: center;
}

.post_content .thanks_p {
    font-size: 160%;
    font-weight: 600;
    color: #04579b;
    text-align: center;
    margin-bottom: 2em;
}

.thanks .text_wrap p {
    font-size: 16px;
    text-align: center;
}

.thanks ul {
    margin: 3em 28% 2em 28%;
}

.thanks li {
    list-style: none;
    font-size: 18px;
    margin-bottom: 8px;
}

.thanks li img {
    vertical-align: middle;
    padding-right: 8px;
}

.thanks .back p {
    text-align: right;
}

.thanks .back a {
    border: #04579b solid 2px;
    padding: 1.2em 2em;
    border-radius: 50vh;
    margin-right: 10%;
}

/* --------------------------------------------------------------------------------
レンタル無線機の紛失・故障の際の対応について
-------------------------------------------------------------------------------- */
.post_content .compensation {
    margin: 1em 0 3em 0;
}

.compensation th:first-child {
    width: 35%;
}

.compensation th:last-child {
    width: 30%;
}

/* --------------------------------------------------------------------------------
お支払い総額の目安
-------------------------------------------------------------------------------- */
#aggregate span {
    font-size: 110%;
    font-weight: 600;
}

.post_content #aggregate th,
.post_content #aggregate td {
    width: 33%;
    padding: 6px 28px;
}

/* --------------------------------------------------------------------------------
レンタルお試し無線機お申込み
-------------------------------------------------------------------------------- */
.rental_trial_attention {
    border: #222 solid 1px;
    padding: 1em 2.8em 1.2em;
    margin: 1.6em 0;
}

h2.trial_form {
    font-weight: 600;
    font-size: 130%;
}

h2.trial_form img {
    vertical-align: middle;
    padding-right: 12px;
}

.rental_trial_attention ul {
    margin: 0 0 5px 2.8em;
}

.post_content .rental_underline {
    color: #04579b;
    text-decoration: underline;
    font-weight: 500;
    transition: all 0.3s ease-out;
}

.post_content .rental_underline:hover {
    color: #025193;
}

.post_content .rental_underline {
    text-align: right;
}

.rental_trial_attention p span {
    color: #04579b;
    padding-left: 8px;
    font-size: 65%;
    vertical-align: text-bottom;
}

.rental_trial_attention p:last-child {
    text-align: right;
}

input[name="other_model"] {
    margin-left: 1em;
}

.form-group span.dash {
    margin: 0 5px;
    padding-top: 8px;
}

.rental_trial_option .wpcf7-list-item {
    margin-left: 0;
}

.rental_trial_option .wpcf7-list-item-label {
    font-weight: normal;
}

.form-group .trial_caution2 {
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin: 1em 0 3.6em auto;
    background: #d8eae7;
    padding: 1.4em 1em 0.4em;
    width: 74%;
    border-radius: 16px
}

.form-group .trial_caution2 div {
    width: 85%;
}

.form-group .trial_caution2 div span {
    font-weight: 700;
    color: #d32626;
    margin-top: -8px;
}

.form-group3:not(:review)>p {
    width: 32% !important;
    margin-right: 2em !important;
}

.consent_wrap input[type=checkbox] {
    transform: scale(1.5);
    margin-right: 14px;
}

.consent_wrap .wpcf7-list-item-label {
    font-size: 15px;

}

/* --------------------------------------------------------------------------------
スマートフォン
-------------------------------------------------------------------------------- */
@media screen and (max-width:767px) {


    .pc_hid {
        display: block;
    }

    .sp_hid {
        display: none;
    }

    .pc_hid2 {
        display: inline-block;
    }

    .sp_hid2 {
        display: none;
    }

    h2.top {
        font-size: 180%;
        text-align: left;
        padding: 10px 0;
    }

    /* --------------------------------------------------------------------------------
サイドバー
-------------------------------------------------------------------------------- */

    #side_col img {
        width: 100%;
        height: auto;
    }

    /* --------------------------------------------------------------------------------
お問い合わせフォーム
-------------------------------------------------------------------------------- */
    .wpcf7 p {
        font-size: 14px;
    }

    .wpcf7 select {
        max-width: 91%;
        font-size: 14px;
    }

    .form-group p {
        flex-wrap: wrap;
    }

    .form-group>p>label {
        width: 100%;
        margin-bottom: 5px;
        font-size: 16px;
    }

    .wpcf7 form {
        margin: 1.5em 0;
    }

    .wpcf7 input.wpcf7-submit {
        width: 300px;
    }

    #consent+span.wpcf7-list-item-label {
        font-size: 12px;
    }

    .wpcf7 input.wpcf7-submit {
        margin: 30px auto 0 auto;
    }



    /* --------------------------------------------------------------------------------
ご利用ガイド
-------------------------------------------------------------------------------- */
    #guide1 ol {
        flex-wrap: wrap;
    }

    #guide1 li {
        width: 100%;
        margin-bottom: 2em;
    }

    #guide1 li a {
        flex-wrap: nowrap;
    }

    #guide1 li img {
        width: 30%;
    }

    #guide1 li h3 {
        text-align: left;
        padding-top: 0.6em;
    }

    #guide1 li div {
        padding-left: 1em;
    }

    #guide1 li p {
        padding: 0;
    }

    #guide1 li:not(:last-child)::after {
        content: "\f0d7";
        right: 0;
        top: 80%;
        left: 50%;
    }

    #guide2 ul,
    #guide3 ul,
    #guide4 ul,
    #guide5 ul {
        flex-wrap: wrap;

    }

    #guide2 li,
    #guide3 li,
    #guide4 li,
    #guide5 li {
        width: 100%;
        display: flex;
        align-items: flex-start;
        margin-bottom: 3em;
    }

    #guide2 li div,
    #guide3 li div,
    #guide4 li div,
    #guide5 li div {

        padding-left: 1em;
    }

    #guide2 li img,
    #guide3 li img,
    #guide4 li img,
    #guide5 li img {
        width: 40%;
    }

    h3.guide {
        text-align: left;
        padding-top: 0;
        font-size: 110%;
    }

    #guide2 li:not(:last-child)::after,
    #guide3 li:not(:last-child)::after,
    #guide4 li:not(:last-child)::after,
    #guide5 li:not(:last-child)::after {
        content: "\f0d7";
        right: 0;
        top: 90%;
        left: 50%;
    }

    .guide6_wrap1 {
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }

    .guide6_wrap2 {
        flex-wrap: wrap;
    }

    #guide6 .img_wrap img {
        width: 20%;
        padding: 0 0 0 5px;
    }

    .guide6_wrap1>img {
        width: 60%;
        /*        margin-top: -2em;*/
        z-index: 2;
    }

    .guide6_inner2 {
        margin: 0 1em 0 0;
        padding-bottom: 3em;
    }

    #guide6 .guide6_inner2 .img_wrap {
        justify-content: flex-start;
    }

    .guide6_inner2+img {
        width: 60%;
        margin: 1em 0 0 auto;
        padding-right: 0 !important;
        z-index: 2;
    }

    .guide6_inner1 {
        padding: 1em 1.5em 3em 1.5em
    }

    .guide6_inner1::after {
        top: -18px;
        left: 100px;
    }

    .guide6_inner2::after {
        left: -50px;
        top: 50px;
    }

    .guide6_inner1 .icon1 {
        width: 25%;
        top: 58px;
        right: 86px;
        padding-right: 0;
        z-index: 100;
    }

    .guide6_inner1 .icon2 {
        width: 25%;
        top: 58px;
        padding-right: 0;
        z-index: 100;
    }

    .guide6_inner2 .icon3 {
        width: 25%;
        top: 130px;
        right: 90px;
        z-index: 100;
    }

    .guide6_inner2 .icon4 {
        width: 25%;
        top: 130px;
        left: 86px;
        z-index: 100;
    }

    #guide7 h3 {
        padding: 0.4em 1em;
    }

    #guide7 h3::after {
        right: 10px;
        font-size: 30px;
    }

    #guide7 .caution {
        font-size: 90%;
        margin-bottom: 5px;
        padding-left: 1em
    }

    #guide7 .extension {
        padding: 2em 0.6em 0;
    }

    #guide7 .content1 h4:not(.example) {
        font-size: 92%;
    }

    #guide7 .content1 img {
        width: 80%;
        margin: 2em auto;
    }

    #guide7 .content1 table {
        width: 95%;
        font-size: 80%;
    }

    #guide7 .content1 th,
    #guide7 .content1 td {
        width: 89%;
        display: block;
    }

    #guide7 .content2 li {
        flex-wrap: wrap;
    }

    #guide7 .content2 h4 {
        display: flex;
        width: 100%;
        align-items: center;
        padding: 0;
        justify-content: center;
        margin: 0 0 1em 0;
    }

    #guide7 .content2 h4 img {
        width: 18%;
    }

    #guide7 .content2 h4+div {
        width: 100%;
    }

    #guide7 .content2 .account {
        margin: 1em 0 3em;
    }

    #guide7 .content2 li table {
        font-size: 90%;
    }

    #guide7 hr {
        display: none;
    }

    #guide7 .content3 .rentalinsurance_wrap {
        align-items: flex-start;
    }

    #guide7 .rentalinsurance_wrap img {
        width: 28%;
        margin: 2em 1em 0 0;
    }

    #guide7 .img_wrap {
        flex-direction: column;
    }

    #guide7 .img_wrap img:first-child {
        margin-bottom: 10px;
    }

    #guide7 .discount_inner {
        padding: 170px 1.5em 1.5em;
    }

    #guide7 .discount_inner h4 {
        top: 52px;
    }

    #guide7 .discount_inner:first-of-type h4::after,
    #guide7 .discount_inner:last-of-type h4::after {
        width: 140px;
        height: 140px;
        top: 45%;
        transform: translate(-50%, -30%);
    }

    .RentalInsurance_inner dt {
        font-size: 115%;
        margin-left: 1em;
    }

    .RentalInsurance_inner dt img {
        width: 20%;
        left: -55px;
    }

    .RentalInsurance_inner li {
        font-size: 95%;
    }

    #guide7 .discount_wrap {
        flex-wrap: wrap;
    }

    #guide7 .discount_wrap {
        justify-content: center;
    }

    #guide7 .discount_inner {
        width: 100%;
        height: auto;
        margin-bottom: 1em;
    }

    #guide7 .discount_inner img {
        width: 45%;
    }

    #guide7 .discount_wrap+div p {
        margin-bottom: 0;
    }

    #guide7 .details5_wrap li:last-child {
        margin-right: 0;
    }

    #guide7 .guide_details_button a {
        font-size: 95%;
        width: 80%;
        border: #04579b solid 2px;
        border-bottom: none;
        flex-wrap: wrap;
    }

    #guide7 .guide_details_button img {
        width: 55%;
        padding: 0 10px;
    }

    #guide7 .guide_details_inner ul {
        flex-wrap: wrap;
    }

    #guide7 .guide_details_inner ul li {
        width: 100%;
        display: flex;
        align-items: flex-start;
        margin: 0 0 2em 0;
    }

    #guide7 .guide_details_inner>ul li:not(:last-child)::after {
        content: "\f0d7";
        right: 0;
        top: 82%;
        left: 50%;
    }

    #guide7 .guide_details_inner ul li img {
        width: 110px;
        padding-right: 1em;
    }

    #guide7 .guide_details_inner .package ul {
        flex-wrap: wrap;
    }

    #guide7 .package {
        padding-bottom: 0;
    }

    #guide7 .package ul li {
        flex: none;
        width: 100%;
        justify-content: flex-start;
        align-items: center;
    }

    #guide7 .guide_details_inner .package ul li img {
        width: 90px;
    }

    #guide7 .content6 ul {
        flex-wrap: wrap;
    }

    #guide7 .content6 ul li {
        width: 100%;
        margin-bottom: 1em;
    }

    #guide7 .content6 ul li a {
        display: flex;
        align-items: center;
    }

    #guide7 h4:not(.example) {
        text-align: left;
        font-size: 110%;
    }

    #guide7 .content6 li::before {
        width: 110px;
        height: 110px;
        left: 0;
        top: 25px;
    }

    #guide7 .content6 img {
        width: 28%;
    }

    #guide7 .discount-content {
        align-items: center;
        padding: 1.2em 1em 1em 1.5em;
    }

    #guide7 .discount-content img {
        margin-left: 15px;
    }

    .application_button p:first-child {
        margin-bottom: 2px;
        font-size: 90%;
        padding: 8px;
    }

    .application_button p:last-child {
        font-size: 140%;
    }

    #guide8 summary {
        padding: 10px 0;
        font-size: 140%;
    }

    #guide8 summary img {
        width: 14%;
    }

    #guide9 summary {
        width: 70%;
        font-size: 130%;
    }

    #guide8 details div {
        flex-direction: column;
    }

    #guide8 details article {
        width: 100%;
    }

    #guide8 details article img {
        width: 26%;
    }

    #guide9 dt {
        display: flex;
        align-items: center;
    }

    #guide8 details ol {
        flex-wrap: wrap;
    }


    #guide9 summary img {
        width: 40%;
    }

    #guide9 dt span {
        padding: 0.2em 0.5em 0.3em 0.5em;
    }

    .rental_contact2 {
        margin: 0;
        padding: 0 1em;
    }

    .rental_contact2 p:nth-child(2) {
        font-size: 105%;
    }

    .rental_contact2 p:last-of-type {
        font-size: 120%;
        padding: 0;
    }

    .rental_contact2 p:last-of-type img {
        width: 12%;
    }

    /* --------------------------------------------------------------------------------
コース一覧
-------------------------------------------------------------------------------- */
    #course1 .tab_area {
        flex-wrap: wrap;
    }

    #course1 .tab_btn {
        width: 100%;
        flex-wrap: nowrap;
        justify-content: flex-start;
        margin-bottom: 1.6em;
    }

    #course1 .tab_btn .course_name {
        text-align: left;
        margin: 0 0 10px 0;
    }

    #course1 .tab_btn div {
        padding-left: 8px;
    }

    #course1 .tab_btn.select::before {
        width: 100px;
        height: 100px;
        top: 22px;
        left: 0;
    }

    #course1 .tab_btn::before {
        width: 100px;
        height: 100px;
        top: 22px;
        left: 0;
    }

    #course1 .tab_btn::after {
        visibility: hidden;
    }

    #course1 .tab_btn img {
        width: 25%;
    }

    #course2 .content_area_wrap {
        flex-wrap: wrap;
        flex-direction: column-reverse;
        position: relative;
    }

    #course2 .content_area_wrap::before {
        content: "";
        background-color: #f2e820;
        width: 35px;
        height: 30px;
        clip-path: polygon(0 0, 100% 0%, 50% 100%);
        position: absolute;
        top: -36px;
        left: calc(50% - 20px);
    }

    #course2 .content_area_wrap>div {
        width: 100%;
    }

    #course2 .content_area_wrap>img {
        width: 60%;
    }

    #course2 .attention {
        padding: 14px 8px 13px;
        font-size: 95%;
    }

    #course2 .attention img {
        width: 15%;
    }

    #course2 .package_wrap {
        display: block;
    }

    #course2 .package_wrap figure {
        display: flex;
        align-items: center;
    }

    #course2 .package,
    #course2 .package dd {
        margin: 2em 0 0 0;
    }

    #course2 .package_wrap+p {
        top: 20%;
        width: 100px;
        height: 100px;
    }

    #course2 #tab3_content .package_wrap+p {
        top: 12%;
    }

    #course2 .option figure {
        flex: 1;
        margin: 5px;
    }

    #course2 .content_area_wrap .option img {
        width: 100%;
    }

    #course2 .content_area_wrap2 ul {
        flex-wrap: wrap;
    }

    #course2 .content_area_wrap2 ul li {
        width: 100%;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center;
        margin: 1em 0;
    }

    .content_area_wrap2.merit img {
        opacity: 0.9;
    }

    #course2 .scene img {
        width: 45%;
        margin-right: 1em;
    }

    #course2 .merit img {
        width: 22%;
        margin-right: 1em;
    }

    #course2 .specification+div {
        flex-wrap: wrap;
    }

    #course2 .specification dl {
        width: 100%;
        font-size: 90%;
    }

    #course2 .specification+div p img {
        width: 16%;
    }

    #course2 .specification+div p {
        margin: 0.6em;
        padding: 0.6em;
    }

    #course2 .content_area .application_button {
        margin: 2em 0;
    }

    #course3 .application_button {
        margin: 2em 0;
    }

    #course3 .application_button p:first-child {
        margin-bottom: 2px;
        padding: 8px;
    }

    #course3 .application_button p:last-child {
        font-size: 130%;
        line-height: 3em;
    }

    #course3 .longplan_button {
        margin: 2em 0;
    }

    #course4 .tab_area {
        flex-wrap: wrap;
        justify-content: space-between;
    }

    #course4 .tab_area li {
        width: 17%;
        margin-bottom: 5px;
    }

    #course4 .tab_btn img {
        width: 48%;
    }

    #course4 .tab_area li::before {
        width: 70px;
        height: 90px;
        left: calc(50% - 35px);
        top: 2%;
    }

    #course4 .tab_btn-2.select::before {
        width: 70px;
        height: 90px;
        left: calc(50% - 35px);
        top: 2%;
    }

    #course4 .tab_btn-2 .course_name {
        font-size: 100%;
    }

    .estimate #price .inputBox_inner span {
        font-size: 200%;
    }

    .course_faq {
        margin: 4em 0;
    }

    .course_faq a {
        justify-content: space-around;
    }

    .course_faq .bubble {
        padding: 1em 1.5em;
    }

    .course_faq .bubble p:first-child {
        font-size: 120%;
        margin: 0.5em auto;
    }

    .course_faq .bubble p:last-child {
        margin: 0;
    }

    .course_faq img {
        padding-right: 0;
        width: 24%;
    }

    .course_faq .bubble:after {
        right: 96%;
        top: 40%;
    }

    /* --------------------------------------------------------------------------------
あんしんパック
-------------------------------------------------------------------------------- */

    #RentalInsurance .top_wrap img {
        margin: 0 0 0 auto;
        width: 30%;
    }

    .RentalInsurance_inner dl {
        width: auto;
    }

    .compensation_link {
        margin-top: 2em;
        text-align: right;
    }

    .RentalInsurance_inner dd {
        margin: 0;
    }




    /* --------------------------------------------------------------------------------
お問合せ
-------------------------------------------------------------------------------- */
    .rental_contact {
        width: 100%;
    }

    .rental_contact h4 {
        font-size: 145%;
    }


    /* --------------------------------------------------------------------------------
レビュー一覧ページ
-------------------------------------------------------------------------------- */

    #review_archive section {
        margin-top: 0.8rem;
    }

    #review_archive article {
        width: 100%;
        padding: 30px 10px 20px 10px;
    }

    #review_archive article h2 {
        padding: 0 1em 5px 1em;
        font-size: 16px;
    }

    /* --------------------------------------------------------------------------------
レビュー個別ページ
-------------------------------------------------------------------------------- */

    .review_text {
        width: 100%;
    }

    .review_name p,
    .review_text p {
        font-size: 14px;
    }

    .review_title {
        margin-top: 2rem !important;
    }

    /* --------------------------------------------------------------------------------
レビュー投稿ページ
-------------------------------------------------------------------------------- */

    .form-group3.review>p {
        width: 100% !important;
    }

    .form-group3 label {
        font-size: 16px;
    }

    table.reviewpost {
        width: 100%;
        table-layout: fixed;
    }

    .reviewpost th {
        white-space: normal;
        width: 25%;
        font-size: 12px;
        padding: 10px;
    }

    .reviewpost input,
    .reviewpost select,
    .reviewpost textarea {
        width: 100%;
    }

    .reviewpost input.star,
    .reviewpost input.icon {
        width: auto;
    }

    .reviewpost td .icon {
        justify-content: space-around;
    }


    .reviewpost .star_inner {
        display: flex;
        flex-wrap: wrap;
    }

    .reviewpost .star_inner span {
        width: 100%;
        margin-left: 0 !important;
    }

    .reviewpost_submit {
        width: 100%;
    }

    .form-group3.review {
        display: block;
    }

    .form-group3.review>p {
        width: 100%;
    }

    .form-group3 div:last-child {
        width: 100%;
    }

    span#star {
        display: block;
    }

    span#icon {
        flex-wrap: wrap;
    }

    #icon span.wpcf7-list-item {
        height: 120px;
        margin-bottom: 1.8em;
    }

    /* --------------------------------------------------------------------------------
送信完了ページ
-------------------------------------------------------------------------------- */
    .thanks .text_wrap p {
        font-size: 14px;
    }

    .thanks ul {
        margin: 3em 5px 2em 5px;
    }

    .thanks li {
        font-size: 14px;
    }

    .thanks li span {
        font-size: 10px;
    }

    .thanks .back a {
        margin-right: 0;
    }

    /* --------------------------------------------------------------------------------
レンタル無線機の紛失・故障の際の対応について
-------------------------------------------------------------------------------- */
    .post_content .compensation td,
    .post_content .compensation th {
        padding: 6px 6px;
    }

    /* --------------------------------------------------------------------------------
レンタルお試しお申込み
-------------------------------------------------------------------------------- */

    .form-group .trial_caution2 {
        width: 100%;
        box-sizing: border-box;
    }

    .form-group .trial_caution2 img {
        margin-right: 10px;
    }

    .rental_trial_attention {
        padding: 20px 16px;
    }

    .rental_trial_attention ul {
        margin: 0 0 5px 0;
    }

    h2.trial_form img {
        width: 36px;
    }

    input[name="other_model"] {
        margin: 20px 0 0 0;
    }

    /* --------------------------------------------------------------------------------
IP無線機お試しアンケート
-------------------------------------------------------------------------------- */
    .form-group3 {
        display: block;
    }

    .form-group3>p {
        width: 100% !important;
        margin-bottom: 0;
    }

    span#purpose,
    span#place,
    span#ease,
    span#replace,
    span#rejection_reason,
    span#schedule {
        padding-top: 0;
    }

    span#purpose,
    span#place {
        margin-bottom: -1em;
    }

    input#rejection_details {
        position: relative;
        top: -1em;
    }
}



/* --------------------------------------------------------------------------------
タブレット
-------------------------------------------------------------------------------- */
@media all and (min-width: 768px) and (max-width: 1024px) {

    /* --------------------------------------------------------------------------------
サイドバー
-------------------------------------------------------------------------------- */
    .side_banner {
        display: flex;
        align-items: center
    }

    .side_banner.pc_hid {
        display: none;
    }

    .side_banner div {
        text-align: center;
    }

    .side_banner img {
        width: 85%;
        height: auto;
    }


    /* --------------------------------------------------------------------------------
ご利用ガイド
-------------------------------------------------------------------------------- */
    .guide6_inner1 .icon1,
    .guide6_inner1 .icon2,
    .guide6_inner2 .icon3,
    .guide6_inner2 .icon4 {
        width: 80px;
    }

    .guide6_inner1 .icon1 {
        right: 90px;
    }

    .guide6_inner2 .icon4 {
        left: 90px;
    }

    #guide7 .content1 table {
        width: 100%;
    }




    /* --------------------------------------------------------------------------------
あんしんパック
-------------------------------------------------------------------------------- */
    #RentalInsurance .img_wrap {
        flex-direction: column-reverse;
    }

    /* --------------------------------------------------------------------------------
レビュー一覧ページ
-------------------------------------------------------------------------------- */
    #review_archive li {
        width: 47.6%;
    }

}