@charset "utf-8";


/*共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
html {
    scroll-behavior: smooth;
}

body {
    margin: 0px;
    padding: 0px;
    color: #444;
    /*全体の文字色*/
    font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
    /*フォント種類*/
    font-size: 28px;
    /*文字サイズ*/
    line-height: 1.6;
    /*行間*/
    -webkit-text-size-adjust: 100%;
    width: 100%;
}

h1,
h2,
h3,
h4,
h5,
p,
ul,
ol,
li,
dl,
dt,
dd,
form,
figure,
form {
    margin: 0px;
    padding: 0px;
}

ul {
    list-style-type: none;
}

img {
    border: none;
    height: auto;
}

iframe {
    width: 100%;
}

input,
select {
    -webkit-appearance: none;
    appearance: none;
}

input[type=checkbox] {
    -webkit-appearance: checkbox;
    appearance: checkbox;

}


*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

:root {
    --blue00: #184874;
    --blue01: #2A7FCB;
    --blue02: #65a4dc;
    --blue04: #E9F2FA;
    --red01: #DC4155;
    --red02: #DC6574;
}


/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {}



/*コンテンツエリア
---------------------------------------------------------------------------*/

#contents {
    width: 100%;
    background: #f5f5f5;
    position: relative;
    overflow: hidden;
    font-family: 'Zen Kaku Gothic New', sans-serif;
}

#main {
    background: #f5f5f5;
}

.inner {
    max-width: 750px;
    margin: 0 auto;
    box-sizing: border-box;
}




footer {
    width: 100%;
    text-align: center;
    background-color: #333333;
    color: white;
}

footer #footermenu {
    background-color: #004444;
    overflow: hidden;
    padding: 16px 8px;
}

footer #footermenu .inner {}

footer #footermenu ul {
    float: left;
    width: 25%;
    padding-left: 16px;
}

footer #footermenu ul li {
    text-align: left;
    text-decoration: none;

}

footer #footermenu ul li a {
    font-size: 12px;
    color: #fff;
}

footer #about {
    padding: 8px 0px 0px;
}

footer #about a {
    color: #fff;
    font-size: 12px;
}

footer #copyright {
    padding: 8px 0px;
    font-size: 12px;
}

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

.align-right {
    text-align: right;
}



span.star_gold {
    color: #ffd700;
}

span.star_gray {
    color: #999;
}

span.score {
    color: #ff6347;
    font-family: 'Anton', sans-serif, cursive;
}


.sp {
    display: none;
}

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

header {
    width: 100%;
    background: #fff;
    border-bottom: solid 2px #eee;
}

.header-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 15px 15px 0;
}

.header-wrap img.logo {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

header .btn-wrap {
    display: flex;
}

header .btn-wrap a {
    display: block;
    margin: 0 15px 0 0;
    padding: 0 15px 15px 15px;
    position: relative;
    white-space: nowrap;
    font-size: 15px;
    text-decoration: none;
    color: #444;
}

header .btn-wrap a i {
    margin: 0 10px 0 0;
    color: #205cda;
}

header .btn-wrap a.common i {
    color: #444;
}

header .btn-wrap a:last-child {
    margin: 0;
}

header .btn-wrap a:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 100;
    color: #666;
    font-size: 14px;
    font-weight: bold;
}


.hamburger-menu {
    display: flex;
    align-items: center;
    width: 64px;
    height: 68px;
    cursor: pointer;
    z-index: 100;
}

.hamburger-menu__line {
    display: block;
    width: 100%;
    height: 4px;
    border-radius: 4px;
    background-color: #ccc;
    position: relative;
    transition: all 0.5s;
}

.hamburger-menu__line::before,
.hamburger-menu__line::after {
    content: '';
    display: block;
    width: 100%;
    height: 4px;
    border-radius: 4px;
    background-color: #ccc;
    position: absolute;
    transition: all 0.5s;
}

.hamburger-menu__line::before {
    transform: translateY(-24px);
}

.hamburger-menu__line::after {
    transform: translateY(24px);
}

.hamburger-menu.open .hamburger-menu__line {
    background-color: transparent;
}

.hamburger-menu.open .hamburger-menu__line::before {
    transform: rotate(45deg);
}

.hamburger-menu.open .hamburger-menu__line::after {
    transform: rotate(-45deg);
}

/* ナビゲーション */
.nav-sp {
    position: absolute;
    top: 0;
    right: -40vw;
    width: 40vw;
    height: 200vh;
    padding: 60px 10px 0;
    background-color: rgba(255, 255, 255, 0.85);
    text-align: left;
    transition: right 0.5s;
    z-index: 5;
}

.nav-sp.open {
    right: 0;
}

.nav-sp a {
    display: inline-block;
    padding: 5px 0;
}

html.is-fixed,
html.is-fixed body {
    height: 100%;
    overflow: hidden;
}

#page_top {
    width: 50px;
    height: 50px;
    position: fixed;
    right: 20px;
    bottom: 20px;
    background: #3f98ef;
    opacity: 0.8;
    border-radius: 50%;
}

#page_top a {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
}

#page_top a::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f106';
    font-size: 25px;
    color: #fff;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -15px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}

.nav_li_label {
    margin: 0 0 10px;
    font-size: 21px;
}

/*fv
----------------------------------------------------------------------*/

section.fv {
    margin: 0 0 20px;
    position: relative;
}

.fv_pr {
    position: absolute;
    font-size: 32px;
    color: #fff;
    right: 30px;
    top: 30px;
    line-height: 1;
    padding: 5px 10px;
    border: solid 2px #fff;
    border-radius: 10px;
}

img.fv_image {
    width: 100%;
    display: block;

}

.fv_looplogo {
    display: flex;
    height: 80px;
    width: 750px;
    overflow: hidden;
    margin: 0 0 20px;
}

img.fv_looplogo_images {
    width: auto;
    height: 100%;
}

.fv_looplogo img.fv_looplogo_images:first-child {
    animation: slide1 60s -30s linear infinite;
}

.fv_looplogo img.fv_looplogo_images:last-child {
    animation: slide2 60s 0s linear infinite;
}

@keyframes slide1 {
    0% {
        transform: translateX(100%);
    }

    to {
        transform: translateX(-100%);
    }
}

@keyframes slide2 {
    0% {
        transform: translateX(0);
    }

    to {
        transform: translateX(-200%);
    }
}

a.fv_category_banner {
    display: block;
    position: relative;
    background: #6699ff;
    color: #fff;
    text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.6);
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    font-size: 32px;
    padding: 24px 20px 24px 0;
    width: calc(100% - 40px);
    margin: 0 auto 60px;
    border-radius: 12px;
    box-shadow: 0 8px 0px #2B416D;
}

a.fv_category_banner:after {
    display: inline-block;
    position: absolute;
    content: '';
    width: 48px;
    height: 48px;
    background-image: url(../images/phms_fv_category_banner_icon01.png);
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.fv_category_banner_microcopy {
    display: inline-block;
    font-weight: bold;
    position: relative;
    line-height: 1;
    margin: 0 0 10px;
}

.fv_category_banner_microcopy:before,
.fv_category_banner_microcopy:after {
    position: absolute;
    bottom: 0;
    height: 2rem;
    content: '';
}

.fv_category_banner_microcopy:before {
    border-left: solid 3px #444;
    left: -20px;
    transform: rotate(-20deg);
}

.fv_category_banner_microcopy:after {
    border-right: solid 3px #444;
    right: -20px;
    transform: rotate(20deg);
}

/*pickup
----------------------------------------------------------------------*/

section.pickup {
    padding: 44px 0px 0px;
    margin: 0 0 60px;
}

.pickup_inner {
    background: #fff;
    padding: 66px 20px 20px;
    position: relative;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
}

h2.pickup_h2 {
    background: #00cc99;
    position: relative;
    font-size: 32px;
    color: #fff;
    text-shadow: 0 2px 1px rgba(0, 0, 0, 0.5);
    padding: 20px 30px 20px;
    text-align: center;
    white-space: nowrap;
}

h2.pickup_h2:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border-style: solid;
    border-color: #00cc99 transparent transparent transparent;
    border-width: 20px 12px 0 12px;
    z-index: 1;
}

.pickup_h2_wrapper {
    position: absolute;
    top: -44px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.pickup_suggest_tab {
    font-weight: bold;
    text-align: center;
    font-size: 32px;
    margin: 0 0 12px;
}

.pickup_tab_wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 0px auto 30px;
    width: 710px;
    align-items: flex-end;
}

.pickup_tab_wrap:after {
    content: '';
    width: 100%;
    height: 0px;
    display: block;
    order: -1;
}

.pickup_tab_label {
    color: #777;
    background: #DED9D8;
    font-weight: bold;
    white-space: nowrap;
    text-align: center;
    padding: 10px 0;
    order: -1;
    position: relative;
    z-index: 1;
    cursor: pointer;
    border-radius: 10px 10px 0px 0px;
    flex: 1;
    line-height: 1.35;
}


.pickup_tab_label:not(:last-of-type) {
    margin-right: 5px;
}

.pickup_tab_content {
    width: 100%;
    height: 0;
    overflow: hidden;
    opacity: 0;
}

/* アクティブなタブ */
.pickup_tab_switch:checked + .pickup_tab_label {
    background: #00698b;
    font-size: 34px;
    padding: 15px 0;
    color: #fff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
}

.pickup_tab_switch:checked + .pickup_tab_label + .pickup_tab_content {
    height: auto;
    overflow: auto;
    padding: 0 0 0;
    opacity: 1;
    transition: .5s opacity;
    background: #fff;
    padding: 20px;
    border: solid 20px #00698b;
}

/* ラジオボタン非表示 */
.pickup_tab_switch {
    display: none;
}

.pickup_tab_content .pickup_item {}

.pickup_tab_content .pickup_item:first-child {
    padding-top: 0;
}

.pickup_tab_content .pickup_item:last-child {
    padding-bottom: 0;
    border-bottom: none;
}


.pickup_item {
    background: #fff;
}

.pickup_item_inner {
    display: flex;
    margin: 0 0 20px;
}

img.pickup_item_banner {
    width: 250px;
}

a.pickup_item_banner_wrap {
    margin: 0 20px 0 0;
}

a.pickup_item_servicename {
    display: inline-block;
    color: #222;
    font-weight: bold;
    font-size: 36px;
    margin: 0 0 16px;
    line-height: 1;
}

.pickup_item_value {
    display: flex;
    align-items: center;
    line-height: 1;
    margin: 0 0 10px;
}

.pickup_item_value .__label {
    background: #25a5a1;
    color: #fff;
    line-height: 1;
    padding: 5px 5px 7px;
    font-size: 24px;
    margin: 0 10px 0 0;
}

.pickup_item_value span.__score {
    font-family: 'Anton', sans-serif, cursive;
    color: #ff4d66;
}

p.pickup_item_description {
    font-size: 24px;
    margin: 0 0 10px;
}

a.pickup_item_linkbutton {
    display: block;
    text-decoration: none;
    font-size: 32px;
    border-radius: 12px;
    text-align: center;
    color: #fff;
    font-weight: bold;
    background: #ff544a;
    box-shadow: 0 6px 0 #91302A;
    padding: 15px 0;
    position: relative;
    overflow: hidden;
}

a.pickup_item_linkbutton:before {
    position: absolute;
    font-family: "Font Awesome 5 Free";
    content: "\f054";
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

a.pickup_item_linkbutton:after {
    content: "";
    display: block;
    width: 20px;
    height: 100%;
    position: absolute;
    top: -180px;
    left: 0;
    background-color: #FFF;
    opacity: 0;
    transform: rotate(45deg);
    animation: reflect 2s ease-in-out infinite;
    -webkit-transform: rotate(45deg);
    -webkit-animation: reflect 2s ease-in-out infinite;
}

ul.pickup_item_point li {
    font-weight: bold;
}

ul.pickup_item_point li:before {
    content: '\f058';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin: 0 10px 0 0;
    color: #25a5a1;
}

ul.pickup_item_point li span.__red {
    color: #ca2828;
}

a.pickup_item_anchorlink {
    margin: 20px 0 0;
    display: inline-block;
    color: #222;
}

.pickup_item_footer{
    background: #fff;
    padding: 20px;
    border: solid 20px #00698b;
}



h2.elements_h2,
h2.compare_h2,
h2.merit_h2 {
    display: block;
    position: relative;
    width: 408px;
    height: 72px;
    line-height: 72px;
    text-align: center;
    padding: 0px 20px;
    font-size: 30px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
    margin: 0 auto 20px;
    background-image: url(../images/phms_h3_bgimage01.png);
    background-repeat: no-repeat;
    background-size: contain;
    color: #fff;
}

.elements_h2_subtitle {
    display: inline-block;
    font-weight: bold;
    position: relative;
    line-height: 1;
    margin: 0 0 10px;
}

.elements_h2_subtitle:before,
.elements_h2_subtitle:after {
    position: absolute;
    bottom: 0;
    height: 2rem;
    content: '';
}

.elements_h2_subtitle:before {
    border-left: solid 3px #444;
    left: -20px;
    transform: rotate(-20deg);
}

.elements_h2_subtitle:after {
    border-right: solid 3px #444;
    right: -20px;
    transform: rotate(20deg);
}

i.pickup_suggest_arrow {
    color: #FFA54D;

    margin: 0 10px 0;
    font-size: 40px;
    animation: floating-y 0.8s ease-in-out infinite alternate-reverse;
}

i.pickup_suggest_arrow.__no_animate {
    animation: none;
}

.pickup_suggest_tab span.__yellow {
    background: linear-gradient(transparent 50%, #FFE8A7 50%);
    font-weight: bold;
}

@keyframes floating-y {
    0% {
        transform: translateY(-10%);
    }

    100% {
        transform: translateY(18%);
    }
}

/*countdown
----------------------------------------------------------------------*/

.countdown_wrap {
    display: inline-block;
}

.countdown {
    display: flex;
    border-radius: 10px;
    padding: 10px 10px 10px 20px;
    font-size: 24px;
    font-weight: bold;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    background: #ffed70;
    position: relative;
}

.countdown.countdown_timeout {
    font-weight: normal;
    width: 580px;
}

.countdown.countdown_timeout .countdown-timer {
    font-weight: bold;
}

.countdown:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border-style: solid;
    border-color: #ffed70 transparent transparent transparent;
    border-width: 15px 10px 0 10px;
    z-index: 1;
}

.countdown .countdown-label {
    margin: 0 20px 0 0;
}

.countdown .countdown-timer {
    padding: 10px;
    border-radius: 10px;
    background: #222;
    color: #fff;
    line-height: 1;
}

.countdown .countdown-timer i {
    margin-right: 10px;
    font-size: 26px;
    vertical-align: -2px;
}

.countdown .countdown-timer span#timer01 {
    color: #ffcc00;
}

#timer01,
#timer02,
#timer03,
#timer04,
#timer05,
#timer06,
#timer07,
span.timer_yellow {
    color: #ffcc00;
}

h2.pickup02_h2 {
    font-size: 40px;
    display: inline-block;
    margin: 0 0 10px;
}

h2.pickup02_h2:before,
h2.pickup02_h2:after {
    content: '\f309';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #f35f87;
    margin: 0 16px;
}

/*howto
----------------------------------------------------------------------*/

section.howto {
    padding: 0 20px;
    margin: 0 0 60px;
}

.howto_inner {
    position: relative;
    padding: 56px 20px 20px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
}

h2.howto_h2 {
    position: absolute;
    display: inline-block;
    font-size: 32px;
    background: #00698b;
    border-radius: 100px;
    color: #fff;
    line-height: 1;
    padding: 20px 40px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    top: -36px;
    white-space: nowrap;
}

ul.howto_list {}

ul.howto_list li {
    padding: 20px 0 20px 80px;
    position: relative;
    border-top: dotted 4px #ccc;
}

ul.howto_list li:last-child {
    border-bottom: dotted 4px #ccc;
}

ul.howto_list li:before {
    font-family: "Font Awesome 5 Free";
    content: "\f058";
    position: absolute;
    color: #00cc99;
    top: 20px;
    left: 0;
    font-weight: 900;
    font-size: 60px;
    line-height: 1;
}

.howto_title {
    font-size: 36px;
    color: #ca2828;
    font-weight: bold;
    line-height: 1;
    margin: 0 0 12px;
}

.howto_conclusion {
    text-align: center;
    padding: 76px 0 0;
    font-size: 32px;
    font-weight: bold;
    position: relative;
}

.howto_conclusion:before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border-style: solid;
    border-color: #d41f33 transparent transparent transparent;
    border-width: 24px 48px 0 48px;
    z-index: 1;
}

.howto_conclusion span.__yellow {
    background: #efda26;
    font-size: 38px;
    padding: 0 12px;
}

/*comparison
----------------------------------------------------------------------*/

section.comparison {
    padding: 0 0;
    margin: 0 0 60px;
}

h2.comparison_h2 {
    display: inline-block;
    font-size: 42px;
    position: relative;
    line-height: 1.3;
    margin: 0 0 20px;
}

h2.comparison_h2:before,
h2.comparison_h2:after {
    width: 48px;
    height: 110px;
    display: inline-block;
    position: absolute;
    background-image: url(../images/fct_comparison_h2_before.png);
    content: '';
    left: -60px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

h2.comparison_h2:after {
    background-image: url(../images/fct_comparison_h2_after.png);
    left: auto;
    right: -60px;
}

h2.comparison_h2 span.__big {
    font-size: 48px;
}

h2.comparison_h2 span.__red {
    color: #d41f33;
}

ul.comparison_h2_subtitle {
    display: flex;
    justify-content: center;
    margin: 0 0 16px;
}

ul.comparison_h2_subtitle li {
    margin: 0 10px 0 0;
    padding: 8px 8px 8px 48px;
    line-height: 1;
    font-size: 28px;
    font-weight: bold;
    position: relative;
    background: #fff;
    border: solid 2px #d41f33;
    border-left: solid 8px #d41f33;
    box-shadow: 1px 0 2px rgba(0, 0, 0, 0.6);
}

ul.comparison_h2_subtitle li:before {
    position: absolute;
    font-family: "Font Awesome 5 Free";
    content: "\f00c";
    color: #d41f33;
    left: 8px;
}

table.comparison_table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

table.comparison_table th,
table.comparison_table td {
    border: solid 1px #ccc;
    text-align: center;
}

table.comparison_table th {
    font-size: 20px;
    background: #f5f5f5;
    padding: 10px 0;
    color: #666;
}

table.comparison_table th.__service {
    width: 186px;
}

table.comparison_table th.__oficial {
    width: 126px;
}

table.comparison_table th.__loantime,
table.comparison_table th.__fee,
table.comparison_table th.__tel {}




table.comparison_table td {
    padding: 20px 10px;
    font-size: 24px;
    background: #fff;
    font-weight: bold;
}

table.comparison_table tr:nth-of-type(2) td {
    background-color: #FFFEE4;
}

table.comparison_table td span.__ev01,
table.comparison_table td span.__ev02,
table.comparison_table td span.__ev03 {
    display: block;
    padding: 60px 0 0;
    background-image: url(../images/fct_comparison_table_icon01.png);
    background-repeat: no-repeat;
    background-size: 50px 50px;
    background-position: center top;
    position: relative;
}

table.comparison_table td span.__ev02 {
    background-image: url(../images/fct_comparison_table_icon02.png);
}

table.comparison_table td span.__ev03 {
    background-image: url(../images/fct_comparison_table_icon03.png);
}

table.comparison_table tr:nth-child(2) td.__service {
    padding: 50px 10px 20px;
    position: relative;
}

table.comparison_table td span.__ev01 sup,
table.comparison_table td span.__ev02 sup,
table.comparison_table td span.__ev03 sup {
    position: absolute;
    right: 0px;
    top: 40px;
    color: #666;
    font-size: 16px;
    text-align: right;
}

table.comparison_table td span.__large {
    font-size: 28px;
}

.comparison_table_baloon01_wrap {
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    white-space: nowrap;
}

.comparison_table_baloon01 {
    font-size: 20px;
    background: #c90e38;
    color: #fff;
    line-height: 1;
    padding: 5px 10px 3px;
    border-radius: 6px;
    position: relative;
}

.comparison_table_baloon01_wrap.__multicolumn {
    top: -60px;
}

.comparison_table_baloon01_wrap.__multicolumn .comparison_table_baloon01 {
    line-height: 1.2;
}


.comparison_table_baloon01:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border-style: solid;
    border-color: #c90e38 transparent transparent transparent;
    border-width: 8px 4px 0 4px;
}

@keyframes fuwafuwa {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}

.anime01 {
    animation: 2s fuwafuwa infinite;
}

.tab-switch:checked + .tab-label + .tab-content.tab-content_strong {
    padding-top: 58px;

}

table.comparison_table th.__strong {
    position: relative;
    border: solid 6px #ffd940;
    border-bottom: none;
}

.comparison_table_baloon02_wrap {
    position: absolute;
    top: -52px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    white-space: nowrap;
}

.comparison_table_baloon02 {
    display: inline-block;
    line-height: 1.3;
    background: #ffd940;
    color: #000;
    padding: 5px 10px 3px;
    border: solid 2px #ffd940;
    position: relative;
    border-radius: 6px;
}

.comparison_table_baloon02:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border-style: solid;
    border-color: #ffd940 transparent transparent transparent;
    border-width: 12px 6px 0 6px;
}

table.comparison_table td.__strong {
    border-right: solid 6px #ffd940;
    border-left: solid 6px #ffd940;
    background: #FFFFDA;
}

table.comparison_table tr:last-child td.__strong {
    border-bottom: solid 6px #ffd940;
}

table.comparison_table td.__strong02 {
    background: #FFFFDA;
}


table.comparison_table span.__small {
    font-size: 20px;
}

a.comparison_table_banner_link {
    display: block;
    margin: 0 0 10px;
    position: relative;
}

a.comparison_table_textlink {
    font-size: 20px;
    position: relative;
    font-weight: bold;
}

a.comparison_table_textlink:after {
    position: absolute;
    content: '\f35d';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 18px;
    right: -24px;
    bottom: 4px;
}


img.comparison_table_banner {
    width: 150px;
}

a.comparison_table_linkbutton {
    text-decoration: none;
    display: block;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    background: #ff4b4b;
    box-shadow: 0px 6px 0px #992d2d;
    padding: 10px 0;
    line-height: 1.2;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}

a.comparison_table_linkbutton:after {
    content: "";
    display: block;
    width: 20px;
    height: 100%;
    position: absolute;
    top: -180px;
    left: 0;
    background-color: #FFF;
    opacity: 0;
    transform: rotate(45deg);
    animation: reflect 2s ease-in-out infinite;
    -webkit-transform: rotate(45deg);
    -webkit-animation: reflect 2s ease-in-out infinite;
}


.comparison_tab-wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 0;
    align-items: flex-end;
}

.comparison_tab-wrap:after {
    content: '';
    width: 100%;
    height: 0px;
    background: #205cda;
    display: block;
    order: -1;
}

.comparison_tab-label {
    color: #666;
    background: LightGray;
    font-weight: bold;

    white-space: nowrap;
    text-align: center;
    padding: 20px 0 20px;
    order: -1;
    position: relative;
    z-index: 1;
    cursor: pointer;
    border-radius: 10px 10px 0 0;
    flex: 1;
    font-size: 28px;
    line-height: 1;
}

.comparison_tab-label:not(:last-of-type) {
    margin-right: 5px;
}

.comparison_tab-content {
    width: 100%;
    height: 0;
    overflow: hidden;
    opacity: 0;
}

/* アクティブなタブ */
.comparison_tab-switch:checked + .comparison_tab-label {
    background: #00698b;
    color: #fff;
    padding: 30px 0 30px;
    font-size: 36px;
}

.comparison_tab-switch:checked + .comparison_tab-label + .comparison_tab-content {
    height: auto;
    overflow: auto;
    padding: 20px;
    opacity: 1;
    transition: .5s opacity;
    background: #00698b;
}

/* ラジオボタン非表示 */
.comparison_tab-switch {
    display: none;
}

p.comparison_notice{
font-size: 24px;
}

/*elements
----------------------------------------------------------------------*/

section.elements {
    margin: 0 0 60px;
}

.elements_acordion_wrap {
    margin: 0 0 30px;
}

/*アコーディオンタイトル*/
.elements_acordion_title {
    position: relative;
    /*+マークの位置基準とするためrelative指定*/
    font-size: 32px;
    font-weight: normal;
    margin: 0 0 10px;
    padding: 20px 20px 20px 80px;
    transition: all .5s ease;
    background: #6699ff;
    font-weight: bold;
    border-radius: 10px;
    color: #fff;
    text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.4);
    overflow: hidden;
}


.fv_inner_category .elements_acordion_wrap {
    margin: 20px 0 0;
}

span.__title_number {
    display: block;
    position: absolute;
    font-size: 40px;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.__title_triangle {
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent transparent transparent #1f4894;
    border-width: 120px 0px 0px 120px;
    left: 0;
    top: 0;
}

img.__box_image {
    width: 100%;
}

p.__box_notice {
    text-align: right;
    font-size: 24px;
}

a.__box_notice_link {
    color: #444;
}

p.__box_text {
    font-size: 28px;
    margin: 20px 0 0;
}

p.__box_text span.__red {
    color: #ca2828;
    font-weight: bold;
}

.__box_list_title {
    font-size: 32px;
    text-align: center;
    font-weight: bold;
}

.__box_list_title:before,
.__box_list_title:after {
    content: ' - ';
}

ul.__box_list {
    margin: 10px 0 0;
    padding: 20px;
    background: #f5f5f5;
    line-height: 1;
    padding: 20px 40px 20px 80px;
}

ul.__box_list li {
    padding: 16px 0;
    font-size: 32px;
    border-bottom: dotted 4px #ccc;
    position: relative;
}

ul.__box_list li:before {
    position: absolute;
    content: '\f00c';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #23ad76;
    position: absolute;
    top: 50%;
    left: -48px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

ul.__box_list li:first-child {
    border-top: dotted 4px #ccc;
}

.common_comment {
    display: flex;
    align-items: flex-start;
}

img.common_comment_image {
    width: 148px;
    height: 148px;
    margin: 0 20px 0 0;
}

p.common_comment_text {
    font-size: 24px;
    font-weight: bold;
    padding: 30px 20px 20px;
    border: solid 4px #1f4894;
    border-radius: 20px;
    position: relative;
}

span.common_comment_text_title {
    position: absolute;
    display: inline-block;
    line-height: 1;
    padding: 0px 20px;
    font-size: 32px;
    font-family: 'Anton', sans-serif, cursive;
    font-weight: normal;
    color: #1f4894;
    background: #fff;
    top: -16px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

p.common_comment_text span.__red {
    color: #ca2828;
}


/*compare
----------------------------------------------------------------------*/

section.compare {
    padding: 0 0 0px;
    margin: 0 0 60px;
}

h2.compare_h202 {
    background: #6699ff;
    position: relative;
    font-size: 40px;
    color: #fff;
    text-shadow: 0 -2px 1px rgba(0, 0, 0, 0.5);
    padding: 40px 0 30px;
    text-align: center;
    margin: 0 0 84px;
}

h2.compare_h202:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    bottom: -16px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border-style: solid;
    border-color: #6699ff transparent transparent transparent;
    border-width: 16px 12px 0 12px;
    z-index: 1;
}

span.compare_h202_subtitle {
    display: inline-block;
    white-space: nowrap;
    position: absolute;
    line-height: 1;
    padding: 15px 20px;
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    background: #fff;
    color: #444;
    text-shadow: none;
    font-size: 28px;
    border-radius: 100px;
    border: solid 4px #6699ff;
}

span.compare_h202_subtitle_inner {
    position: relative;
}

span.compare_h202_subtitle_inner:after {
    content: '';
    position: absolute;
    width: 44px;
    height: 42px;
    background-image: url(../images/phms_compare_h2_subtitle_afterimg01.png);
    background-size: contain;
    top: -44px;
    right: -60px;
}

table.compare_table {
    width: calc(100%);
    background: #fff;
    text-align: center;
    border-collapse: collapse;
    margin: 0 auto 20px;
}

table.compare_table th {
    font-size: 22px;
    padding: 10px 0;
    line-height: 1;
    background: #1f4894;
    color: #fff;
    width: calc(100% / 3);
    position: relative;
}

table.compare_table td {
    padding: 15px 0;
    font-size: 22px;
    font-weight: bold;
}

table.compare_table tr td,
table.compare_table tr th {
    border: solid 1px #eee;
}

table.compare_table tr td:first-child {
    border-right: solid 2px #DC6574;
    border-left: solid 2px #DC6574;
    background: #fffce2;
}

table.compare_table tr th:first-child {
    border-right: solid 2px #DC6574;
    border-left: solid 2px #DC6574;
}

table.compare_table tr:first-child th:first-child {
    border-top: solid 2px #DC6574;
}

table.compare_table tr:last-child td:first-child {
    border-bottom: solid 2px #DC6574;
}

tr.compare_table_tr_rank th {
    font-size: 28px;
}

tr.compare_table_tr_rank th.__th01 {
    background: #c4b110;
}

tr.compare_table_tr_rank th.__th02 {
    background: #bdbdbd;
}

tr.compare_table_tr_rank th.__th03 {
    background: #846841;
}

tr.compare_table_tr_banner a.__banner_wrap {
    display: block;
}

tr.compare_table_tr_banner img.__banner {
    width: 150px;
}

img.__value_star {
    width: calc(100% - 64px);
    text-align: center;
    margin: 0 0 16px;
}

tr.compare_table_tr_value span.__score {
    font-family: 'Anton', sans-serif, cursive;
    color: #ff4d66;
    font-weight: normal;
    font-size: 32px;
    display: block;
    line-height: 1;
}

tr.compare_table_tr_preplan-fee td span.__small,
tr.compare_table_tr_groplan-fee td span.__small {
    font-size: 18px;
}

tr.compare_table_tr_link a.__linkbutton {
    width: calc(100% - 20px);
    display: block;
    text-decoration: none;
    font-size: 24px;
    border-radius: 100px;
    text-align: center;
    color: #fff;
    font-weight: bold;
    background: #07aa70;
    box-shadow: 0 6px 0 #046140;
    padding: 10px 0;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}

tr.compare_table_tr_link a.__linkbutton:after {
    content: "";
    display: block;
    width: 20px;
    height: 100%;
    position: absolute;
    top: -180px;
    left: 0;
    background-color: #FFF;
    opacity: 0;
    transform: rotate(45deg);
    animation: reflect 2s ease-in-out infinite;
    -webkit-transform: rotate(45deg);
    -webkit-animation: reflect 2s ease-in-out infinite;
}

p.compare_addition {
    font-size: 22px;
}

.__service_baloon {
    position: absolute;
    top: -72px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    white-space: nowrap;
}

.__service_baloon_inner {
    position: relative;
    font-size: 24px;
    background: #C21100;
    color: #fff;
    border-radius: 10px;
    padding: 16px 16px;
}

.__service_baloon_inner:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border-style: solid;
    border-color: #C21100 transparent transparent transparent;
    border-width: 16px 8px 0 8px;
    z-index: 1;
}


/*reason
----------------------------------------------------------------------*/

section.reason {
    padding: 0 20px;
    margin: 0 0 60px;
}

img.reason_image {
    width: 100%;
}


/*ranking
----------------------------------------------------------------------*/

section.ranking {
    margin: 0 0 60px;
    padding: 0 0;
}

h2.ranking_h2 {
    display: inline-block;
    margin: 0 0 20px;
    font-size: 44px;
    position: relative;
    line-height: 1;
}

h2.ranking_h2 span.__red {
    color: #d41f33;
    font-size: 72px;
}

h2.ranking_h2:before,
h2.ranking_h2:after {
    position: absolute;
    bottom: 0;
    height: 2.5rem;
    content: '';
}

h2.ranking_h2:before {
    border-left: solid 4px #444;
    left: -20px;
    transform: rotate(-20deg);
}

h2.ranking_h2:after {
    border-right: solid 4px #444;
    right: -20px;
    transform: rotate(20deg);
}



.ranking_tab-wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 0;
    align-items: flex-end;
}

.ranking_tab-wrap:after {
    content: '';
    width: 100%;
    height: 16px;
    background: #00698b;
    display: block;
    order: -1;
}

.ranking_tab-label {
    color: #666;
    background: LightGray;
    font-weight: bold;

    white-space: nowrap;
    text-align: center;
    padding: 20px 0 20px;
    order: -1;
    position: relative;
    z-index: 1;
    cursor: pointer;
    border-radius: 10px 10px 0 0;
    flex: 1;
    font-size: 28px;
    line-height: 1;
}

.ranking_tab-label:not(:last-of-type) {
    margin-right: 5px;
}

.ranking_tab-content {
    width: 100%;
    height: 0;
    overflow: hidden;
    opacity: 0;
}

/* アクティブなタブ */
.ranking_tab-switch:checked + .ranking_tab-label {
    background: #00698b;
    color: #fff;
    padding: 30px 0 30px;
    font-size: 36px;
}

.ranking_tab-switch:checked + .ranking_tab-label + .ranking_tab-content {
    height: auto;
    overflow: auto;
    padding: 20px;
    opacity: 1;
    transition: .5s opacity;
}

/* ラジオボタン非表示 */
.ranking_tab-switch {
    display: none;
}

.ranking_item {
    padding: 20px;
    border-radius: 10px;
    background: #fff;
    margin: 0 0 30px;
    border: solid 1px #00698b;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
}

.ranking_item_header {
    position: relative;
    display: flex;
    padding: 0 0 30px 78px;
    justify-content: space-between;
    border-bottom: solid 2px #ccc;
    margin: 0 0 20px;
}

.ranking_item_header_rank {
    position: absolute;
    height: 84px;
    width: 72px;
    background-image: url(../images/aga_ranking-item_rank-icon01.png);
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
    font-weight: bold;
    font-size: 40px;
    left: 0;
    top: 0;
}

.ranking_item_header_rank.rank02 {
    background-image: url(../images/aga_ranking-item_rank-icon02.png);
}

.ranking_item_header_rank.rank03 {
    background-image: url(../images/aga_ranking-item_rank-icon03.png);
}

.ranking_item_header_rank.rank04,
.ranking_item_header_rank.rank05 {
    background-image: url(../images/aga_ranking-item_rank-icon04.png);
}


h3.ranking_item_header_h3 {
    font-size: 40px;
    line-height: 1.4;
    width: calc(100%);
}

.ranking_item_spec01 {
    display: flex;
    align-items: flex-start;
    margin: 0 0 20px;
}

h3.ranking_maincopy {
    margin: 0 0 20px;
}

a.ranking_item_banner_wrap {
    width: calc((100% - 60px)/2);
    margin: 0 20px 0 0;
    display: block;
}

.ranking_banner_score_wrap {
    display: flex;
    justify-content: center;
    margin: 0 0 30px;
    align-items: flex-start;
}

img.ranking_item_banner {
    width: 100%;
}

.ranking_score_box {
    border: solid 2px #25a5a1;
    padding: 60px 0px 30px;
    text-align: center;
    width: calc((100% - 60px)/2);
    position: relative;
    margin: 24px 0 0;
}

.ranking_score_label {
    position: absolute;
    white-space: nowrap;
    display: inline-block;
    line-height: 1;
    background: #25a5a1;
    color: #fff;
    padding: 12px 24px;
    font-weight: bold;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    top: -24px;
    border-radius: 6px;
}

img.ranking_score_value_star {
    width: calc(100% - 80px);
}

p.ranking_score_value_txt {
    margin: 8px 0 0;
    font-size: 40px;
    font-weight: bold;
}

p.ranking_score_value_txt span.__red {
    font-family: 'Anton', sans-serif, cursive;
    color: #ff4d66;
    font-weight: normal;
}

table.ranking_item_spec01_table,
table.ranking_item_spec02_table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
    font-size: 24px;
}

table.ranking_item_spec01_table th,
table.ranking_item_spec01_table td,
table.ranking_item_spec02_table th,
table.ranking_item_spec02_table td {
    border: solid 1px #ccc;
}

table.ranking_item_spec01_table th,
table.ranking_item_spec02_table th {
    background: #f2f2f2;
    color: #fff;
    line-height: 1;
    padding: 10px 0;
    color: #444;
}

table.ranking_item_spec01_table td,
table.ranking_item_spec02_table td {
    padding: 15px 0;
}

table.ranking_item_spec02_table {
    margin: 0 0 20px;
}

table.ranking_item_spec02_table th {
    width: calc(100% / 3);
}

table.ranking_item_spec02_table span.__small {
    font-size: 20px;
}

.ranking_item_point_box {
    padding: 70px 20px 20px;
    position: relative;
    margin: 0 0 20px;
    background: #E9F2F5;
}

.ranking_item_point_h4_wrap {
    position: absolute;
    top: 0;
    left: 0;
}

h4.ranking_item_point_h4 {
    background: #25a5a1;
    line-height: 1;
    display: inline-block;
    position: relative;
    color: #fff;
    padding: 10px 0px 12px 15px;
    height: 50px;
    font-size: 28px;
}

h4.ranking_item_point_h4:after {
    content: '';
    position: absolute;
    top: 0;
    right: -32px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 50px 32px 0 0;
    border-color: #25a5a1 transparent transparent transparent;
}

ul.ranking_item_point_list {
    font-weight: bold;
    padding: 0 0 0 42px;
    margin: 0 0 0;
}

ul.ranking_item_point_list li {
    position: relative;
    margin: 0 0 10px;
    line-height: 1.3;
}

ul.ranking_item_point_list li span.__small {
    font-size: 20px;
    color: #666;
}

ul.ranking_item_point_list li:after {
    position: absolute;
    content: '\f058';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    left: -40px;
    top: 3px;
    color: #25a5a1;
}

p.ranking_item_point_description {
    background-color: #fff;
    background-image: linear-gradient(180deg, #f5f5f5 1px, transparent 1px);
    background-size: 100% 2em;
    line-height: 2.0em;
    padding-bottom: 4px;
    font-size: 24px;
}

p.ranking_item_point_description span.__red {
    color: var(--red01);
    font-weight: bold;
}

.ranking_item_microcopy {
    display: inline-block;
    font-weight: bold;
    position: relative;
    line-height: 1;
    margin: 0 0 10px;
}

.ranking_item_microcopy:after,
.ranking_item_microcopy:before {
    position: absolute;
    content: '';
    background-image: url(../images/aga_ranking_microcopy_right.png);
    width: 16px;
    height: 32px;
    right: -30px;
    bottom: 0;
}

.ranking_item_microcopy:before {
    background-image: url(../images/aga_ranking_microcopy_left.png);
    left: -30px;
    right: auto;
    bottom: 0;
}

.center {
    text-align: center;
}

a.ranking_item_linkbutton {
    width: 100%;
    text-align: center;
    font-size: 32px;
    display: block;
    text-decoration: none;
    color: #fff;
    background: #ff544a;
    font-weight: bold;
    box-shadow: 0 8px 0 #91302A;
    border-radius: 10px;
    padding: 20px 0;
    position: relative;
    overflow: hidden;
    margin: 0 auto 8px;
}

a.ranking_item_linkbutton:after {
    content: "";
    display: block;
    width: 20px;
    height: 100%;
    position: absolute;
    top: -180px;
    left: 0;
    background-color: #FFF;
    opacity: 0;
    transform: rotate(45deg);
    animation: reflect 2s ease-in-out infinite;
    -webkit-transform: rotate(45deg);
    -webkit-animation: reflect 2s ease-in-out infinite;
}

@keyframes reflect {
    0% {
        transform: scale(0) rotate(45deg);
        opacity: 0;
    }

    80% {
        transform: scale(0) rotate(45deg);
        opacity: 0.5;
    }

    81% {
        transform: scale(4) rotate(45deg);
        opacity: 1;
    }

    100% {
        transform: scale(50) rotate(45deg);
        opacity: 0;
    }
}

@-webkit-keyframes reflect {
    0% {
        transform: scale(0) rotate(45deg);
        opacity: 0;
    }

    80% {
        transform: scale(0) rotate(45deg);
        opacity: 0.5;
    }

    81% {
        transform: scale(4) rotate(45deg);
        opacity: 1;
    }

    100% {
        transform: scale(50) rotate(45deg);
        opacity: 0;
    }
}

p.ranking_item_addition {
    margin: 28px 0 0;
    font-size: 22px;
}

.ranking_item_sample_box {
    padding: 60px 20px 20px;
    position: relative;
    margin: 0 0 30px;
    border: solid 1px var(--blue02);
}

.ranking_item_sample_h4_wrap {
    position: absolute;
    top: 0;
    left: 0;
}

h4.ranking_item_sample_h4 {
    background: var(--blue02);
    line-height: 1;
    display: inline-block;
    position: relative;
    color: #fff;
    padding: 10px 0px 12px 15px;
    height: 50px;
    font-size: 28px;
}

h4.ranking_item_sample_h4:after {
    content: '';
    position: absolute;
    top: 0;
    right: -32px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 50px 32px 0 0;
    border-color: var(--blue02) transparent transparent transparent;
}

img.ranking_item_sample_image {
    width: 100%;
}


h4.ranking_item_review_h4 {
    font-size: 28px;
}

h4.ranking_item_review_h4:before {
    content: '\f086';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 32px;
    color: #25A5A2;
    margin: 0 10px 0 0;
}

li.ranking_item_review {
    position: relative;
}

ul.ranking_item_review__wrap li.ranking_item_review:not(:last-child) {
    margin: 0 0 20px;
    padding: 0 0 20px;
}

ul.ranking_item_review__wrap li.ranking_item_review:not(:last-child):after {
    position: absolute;
    display: block;
    content: '';
    background: #ccc;
    height: 2px;
    width: calc(100%);
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.ranking_item_review__profile {
    padding: 0 0 0 84px;
    height: 64px;
    position: relative;
    font-size: 24px;
    line-height: 1;
    margin: 0 0 20px;
    font-weight: bold;
}

.ranking_item_review__profile:before {
    position: absolute;
    content: '';
    display: inline-block;
    width: 64px;
    height: 64px;
    background: url(../images/aga_ranking_item_review-icon.png);
    left: 0;
    background-repeat: no-repeat;
}

.ranking_item_review__title {
    color: #7F6538;
    margin: 0 0 10px;
    font-size: 28px;
}

.ranking_item_review__score {
    margin: 0 0 10px;
}

.ranking_item_review__profile_detail {}

.ranking_item_review__profile_detail span.__medicine {
    background: var(--blue04);
    border: solid 1px var(--blue02);
    padding: 0 10px;
    font-weight: bold;
    color: var(--blue02);
    border-radius: 4px;
    font-size: 20px;
    margin: 0 0px 0 0;
}

p.ranking_item_review__description {
    font-size: 24px;
}

.ranking_item_review__box {
    position: relative;
    margin: 0 0 20px;
}

.grad-btn {
    z-index: 2;
    position: absolute;
    right: 0;
    bottom: 20px;
    left: 0;
    width: 148px;
    margin: auto;
    padding: 5px 0;
    border-radius: 4px;
    background: #FF9316;
    color: #fff;
    font-size: 1.3rem;
    text-align: center;
    cursor: pointer;
    transition: .2s ease;
    box-shadow: 0 0 3px rgb(0 0 0 / 30%);
    font-weight: bold;
}

ul.ranking_item_review__wrap {
    padding: 20px;
    background: #fff;
    position: relative;
    overflow: hidden;
    height: 280px;
    border: solid 1px #25A5A2;
}

ul.ranking_item_review__wrap::before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100px;
    /*グラデーションで隠す高さ*/
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
    background: linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
    content: "";
    z-index: 1;
}

.grad-trigger {
    display: none;
    /*チェックボックスは常に非表示*/
}

.grad-trigger:checked + .grad-btn {
    display: none;
    /*チェックされていたら、grad-btnを非表示にする*/
}

.grad-trigger:checked ~ ul.ranking_item_review__wrap {
    height: auto;
    /*チェックされていたら、高さを戻す*/
}

.grad-trigger:checked ~ ul.ranking_item_review__wrap::before {
    display: none;
    /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}

p.ranking_item_review_notice {
    font-size: 20px;
    margin: 0 0 30px;
    color: #666;
}

.common_search_wrap {
    margin: 0 0 20px;
}

/*アコーディオンタイトル*/
.common_search_title {
    position: relative;
    /*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size: 32px;
    font-weight: normal;
    padding: 20px 20px 20px 90px;
    transition: all .5s ease;
    background: #f3f3f3;
    font-weight: bold;
    border-radius: 10px 10px 0 0;
    border: solid 2px #1f4894;
}

/*アイコンの＋と×*/
.common_search_title::before,
.common_search_title::after {
    position: absolute;
    content: '';
    width: 20px;
    height: 3px;
    background-color: #333;

}

.common_search_title::before {
    top: 48%;
    right: 20px;
    transform: rotate(45deg);

}

.common_search_title::after {
    top: 48%;
    right: 20px;
    transform: rotate(135deg);

}

.common_search_title.close {
    border-radius: 10px;
    background: #f3f3f3;
}

/*　closeというクラスがついたら形状変化　*/
.common_search_title.close::before {
    transform: rotate(90deg);
}

.common_search_title.close::after {
    transform: rotate(0deg);
}

/*アコーディオンで現れるエリア*/
.common_search_box {
    background: #fff;
    margin: 0;
    padding: 20px 20px 20px;
    border-radius: 0 0 10px 10px;
    border: solid 2px #1f4894;
}

i.__hospital_icon {
    display: block;
    position: absolute;
    content: '';
    background-image: url(../images/phms_ranknig_location_labelicon.png);
    background-size: contain;
    width: 48px;
    height: 48px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    left: 20px;
}

table.common_search_table {
    width: 100%;
    border-collapse: collapse;
}

table.common_search_table th {
    font-size: 28px;
    background: #1f4894;
    color: #fff;
    padding: 16px 0px;
    width: 150px;
}

table.common_search_table td {
    background: #f3f3f3;
    font-size: 28px;
    padding: 16px 16px 0;
}

ul.__area_list {
    display: flex;
    flex-wrap: wrap;
}

ul.__area_list li {
    margin: 0 16px 16px 0;
}

table.common_search_table tr:not(:last-child) {
    border-bottom: solid 6px #fff;
}

p.notice_cvbutton{
border: solid 1px #FF4500;
padding: 20px;
margin: 0 0 20px;
border-radius: 12px;
font-size: 24px;
background-color: #FFEFE9;
}

p.notice_cvbutton strong{
color: #FF4500;
font-weight: bold;
}

/*merit
----------------------------------------------------------------------*/

section.merit {
    padding: 0 20px;
    margin: 0 0 60px;
}

.merit_h2_wrap {
    position: relative;
    padding: 152px 0 0;
    margin: 0 0 20px;
}

.merit_h2_wrap h2.merit_h2 {
    margin: 0 auto 0;
}

.merit_h2_wrap:before {
    position: absolute;
    content: '';
    background-image: url(../images/aga_merit_h2_image.png);
    width: 196px;
    height: 152px;
    top: 0px;
    left: calc(50% - 20px);
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

img.merit_image_01 {
    width: 100%;
    margin: 0 0 20px;
}

.pickup_microcopy {
    display: inline-block;
    font-weight: bold;
    position: relative;
    line-height: 1;
    margin: 0 0 10px;
}

.pickup_microcopy:after,
.pickup_microcopy:before {
    position: absolute;
    content: '';
    background-image: url(../images/aga_ranking_microcopy_right.png);
    width: 16px;
    height: 32px;
    right: -30px;
    bottom: 0;
}

.pickup_microcopy:before {
    background-image: url(../images/aga_ranking_microcopy_left.png);
    left: -30px;
    right: auto;
    bottom: 0;
}

/*qanda
----------------------------------------------------------------------*/

section.qanda {
    padding: 0 20px;
    margin: 0 0 60px;
}

h2.qanda_h2 {
    display: inline-block;
    background: #00cc99;
    position: relative;
    font-size: 32px;
    color: #fff;
    text-shadow: 0 2px 1px rgba(0, 0, 0, 0.5);
    padding: 20px 30px 20px;
    text-align: center;
    margin: 0 0 20px;
}

h2.qanda_h2:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border-style: solid;
    border-color: #00cc99 transparent transparent transparent;
    border-width: 20px 12px 0 12px;
    z-index: 1;
}

#question .accordion-area {
    list-style: none;
    margin: 0 auto;
}

#question .accordion-area li {
    margin: 10px 0;
}

#question .accordion-area li:last-child {
    margin: 0;
}

#question .accordion-area section {
    border: 1px solid #ccc;
    background: #fff;
    border-radius: 10px;
}

/*アコーディオンタイトル*/
#question .title {
    position: relative;
    /*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size: 24px;
    font-weight: normal;
    padding: 3% 3% 3% 50px;
    transition: all .5s ease;
    background: #fff;
    font-weight: bold;
    border-radius: 10px;
}

/*アイコンの＋と×*/
#question .title::before,
#question .title::after {
    position: absolute;
    content: '';
    width: 15px;
    height: 2px;
    background-color: #333;

}

#question .title::before {
    top: 48%;
    left: 15px;
    transform: rotate(0deg);

}

#question .title::after {
    top: 48%;
    left: 15px;
    transform: rotate(90deg);

}

/*　closeというクラスがついたら形状変化　*/
#question .title.close::before {
    transform: rotate(45deg);
}

#question .title.close::after {
    transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
#question .box {
    display: none;
    /*はじめは非表示*/
    background: #f3f3f3;
    margin: 0 3% 3% 3%;
    padding: 3%;
}

#question .box p {
    font-size: 20px;
}




/*result
----------------------------------------------------------------------*/
section.result {
    padding: 20px 20px 0;
}

.result_header01 {
    background: #fff;
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 15px;
}

.result_header01_counter {
    font-size: 24px;
}

span.result_header01_counter_color {
    color: #ff4b4b;
    font-weight: bold;
}

a.result_header01_change-button_wrap {
    text-decoration: none;
}

.result_header01_change-button {
    color: #888;
    font-weight: bold;
    font-size: 24px;
    padding: 15px 10px;
    background: #f4f4f4;
    border-radius: 6px;
    line-height: 1;
    border: solid 2px #ccc;
}

.result_header01_change-button i {
    margin: 0 10px 0 0;
}

.result_header02 {
    padding: 20px;
    background: #fff;
    margin: 0 0 15px;
    border-radius: 10px;
}

h3.result_header02_h3 {
    font-weight: normal;
    color: #444;
    margin: 0 0 10px;
    font-size: 28px;
}

h3.result_header02_h3 i {
    margin: 0 5px 0 0;

}

.result_header02_wrap {}

ul.result_header02_settings_wrap {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}

ul.result_header02_settings_wrap li {
    padding: 5px 10px 5px 20px;
    border: solid 2px var(--blue01);
    color: var(--blue01);
    font-weight: 600;
    margin: 0 10px 10px 0;
    position: relative;
    font-size: 24px;
}

ul.result_header02_settings_wrap li:after {
    position: absolute;
    content: '\f0da';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    left: 5px;
    color: var(--blue01);
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

section.notice_result {
    text-align: center;
    padding: 20px;
    margin: 0 0 20px;
    border-radius: 10px;
    background: #FFF4EB;
    border: solid 2px #ff7e0e;
}

h3.notice_result_title {
    font-size: 20px;
}

h3.notice_result_title:before {
    content: '\f058';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #00cc99;
    margin: 0 5px 0 0;
}

p.notice_result_description {
    font-size: 20px;
    text-align: center;
}

section.notice_result.result_none {
    background: #fff;
}

section.notice_result.result_none h3.notice_result_title:before {
    color: #ff4b4b;
}

#submit_select {
    margin: 0 0 30px auto;
    padding: 0 15px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 10px;
    width: 320px;
    height: 50px;
    font-size: 20px;
    line-height: 48px;
    display: block;
    color: #888;
}

.result_item {
    padding: 20px;
    border-radius: 10px;
    background: #fff;
    margin: 0 0 30px;
}

.result_item:last-child {
    margin: 0 0 60px;
}

.result_item_header {
    position: relative;
    display: flex;
    padding: 0 0 20px;
    justify-content: space-between;
    border-bottom: solid 2px #ccc;
    margin: 0 0 20px;
    align-items: center;
}

.result_item_header_rank {
    position: absolute;
    height: 84px;
    width: 72px;
    background-image: url(../images/aga_ranking-item_rank-icon01.png);
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
    font-weight: bold;
    font-size: 40px;
    left: 0;
    top: 0;
}

.result_item_header_feature {
    background: var(--red01);
    color: #fff;
    line-height: 1;
    padding: 10px 15px 12px;
    border-radius: 10px;
    position: relative;
}

.result_item_header_feature:after {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    left: -15px;

    border-right: 15px solid var(--red01);
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}

h3.result_item_header_h3 {
    font-size: 36px;
}

.result_item_header_star {
    font-size: 22px;
}

.result_item_header_star span.__score {
    font-family: 'Anton', sans-serif, cursive;
    color: #ff4d66;
    font-weight: normal;
    font-size: 28px;
}

.result_item_spec01 {
    display: flex;
    align-items: flex-start;
    margin: 0 0 20px;
}

a.result_item_banner_wrap {
    margin: 0 20px 0 0;
}

img.result_item_banner {
    width: 300px;
}

table.result_item_spec01_table,
table.result_item_spec02_table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
    font-size: 24px;
}

table.result_item_spec01_table th,
table.result_item_spec01_table td,
table.result_item_spec02_table th,
table.result_item_spec02_table td {
    border: solid 1px #25a5a1;
}

table.result_item_spec01_table th,
table.result_item_spec02_table th {
    background: #25a5a1;
    color: #fff;
    line-height: 1;
    padding: 10px 0;
    text-shadow: 0 1px 1px var(--blue01);
}

table.result_item_spec01_table td,
table.result_item_spec02_table td {
    padding: 15px 0;
}

table.result_item_spec02_table {
    margin: 0 0 20px;
}

table.result_item_spec02_table th {
    width: calc(100% / 3);
}

table.result_item_spec02_table td:first-child {
    text-align: left;
}

table.result_item_spec02_table span.__small {
    font-size: 20px;
}

.result_item_point_box {
    padding: 60px 20px 20px;
    position: relative;
    margin: 0 0 20px;
    border: solid 1px #00698b;
}

.result_item_point_h4_wrap {
    position: absolute;
    top: 0;
    left: 0;
}

h4.result_item_point_h4 {
    background: #00698b;
    line-height: 1;
    display: inline-block;
    position: relative;
    color: #fff;
    padding: 10px 0px 12px 15px;
    height: 50px;
    font-size: 28px;
}

h4.result_item_point_h4:after {
    content: '';
    position: absolute;
    top: 0;
    right: -32px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 50px 32px 0 0;
    border-color: #00698b transparent transparent transparent;
}

ul.result_item_point_list {
    font-weight: bold;
    padding: 0 0 0 42px;
    margin: 0 0 20px;
}

ul.result_item_point_list li {
    position: relative;
    margin: 0 0 10px;
}

ul.result_item_point_list li:after {
    position: absolute;
    content: '\f00c';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    left: -40px;
    top: 3px;
    color: var(--red02);
}

p.result_item_point_description {
    background-color: #fff;
    background-image: linear-gradient(180deg, #f5f5f5 1px, transparent 1px);
    background-size: 100% 2em;
    line-height: 2.0em;
    padding-bottom: 4px;
    font-size: 24px;
}

p.result_item_point_description span.__red {
    color: var(--red01);
    font-weight: bold;
}

.result_item_microcopy {
    display: inline-block;
    font-weight: bold;
    position: relative;
    line-height: 1;
    margin: 0 0 10px;
}

.result_item_microcopy:after,
.result_item_microcopy:before {
    position: absolute;
    content: '';
    background-image: url(../images/aga_ranking_microcopy_right.png);
    width: 16px;
    height: 32px;
    right: -30px;
    bottom: 0;
}

.result_item_microcopy:before {
    background-image: url(../images/aga_ranking_microcopy_left.png);
    left: -30px;
    right: auto;
    bottom: 0;
}

.center {
    text-align: center;
}

a.result_item_linkbutton {
    width: 100%;
    text-align: center;
    font-size: 32px;
    display: block;
    text-decoration: none;
    color: #fff;
    background: #ff544a;
    font-weight: bold;
    box-shadow: 0 8px 0 #91302A;
    border-radius: 10px;
    padding: 20px 0;
    position: relative;
    overflow: hidden;
    margin: 0 auto 8px;
}

a.result_item_linkbutton:after {
    content: "";
    display: block;
    width: 20px;
    height: 100%;
    position: absolute;
    top: -180px;
    left: 0;
    background-color: #FFF;
    opacity: 0;
    transform: rotate(45deg);
    animation: reflect 2s ease-in-out infinite;
    -webkit-transform: rotate(45deg);
    -webkit-animation: reflect 2s ease-in-out infinite;
}

p.result_item_addition {
    margin: 28px 0 0;
    font-size: 22px;
}




/*category
----------------------------------------------------------------------*/

section.category {
    margin: 0 0 60px;
}

h2.category_h2 {
    background: linear-gradient(to bottom, #fd5392, #f86f64);
    color: #fff;
    font-size: 36px;
    text-align: center;
    padding: 20px 0;
    margin: 0 0 20px;
}

a.category_menu_item_wrap {
    text-decoration: none;
    color: #444;
}

li.category_menu_item {
    background: #f5f5f5;
    display: flex;
    margin: 0 0 20px;
    align-items: center;
    position: relative;
}

li.category_menu_item:after {
    position: absolute;
    content: '\f054';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 36px;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

img.category_menu_item_icon {
    margin: 0 20px 0 0;
}

.category_menu_item_title {
    font-weight: bold;
    font-size: 32px;
}

.category_menu_item_description {
    font-size: 24px;
}

/*検索ボックス
----------------------------------------------------------------------*/

#search h2 span.color {
    color: #ee827c;
}

#search {
    margin: 0px auto 0px;
    position: absolute;
    z-index: 2;
}

#search .inner {
    border: solid 1px #004444;
    background-color: #f5f5f5;

}

#search h2 {
    background-color: #fff;
    text-align: center;
    border-radius: 20px 20px 0px 0px;
    color: #666;
    padding: 20px 0px;
    font-size: 20px;

}

#search h2 i {
    margin: 0 10px 0 0;

}

#search .form-wrap {}

#search .form-wrap form {
    background: #fff;
    padding: 30px;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
    border-radius: 0px 0px 20px 20px;
    width: 680px;
}

#search select {
    width: 100%;
    padding: 20px 20px 20px 150px;
    border-radius: 40px;
    font-size: 15px;
    font-weight: bold;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
}

#search .select-wrap {
    position: relative;
    margin: 0 0 20px;
}

#search .select-wrap:nth-child(odd) {
    margin: 0 15px 20px 0;
}

#search .select-wrap:nth-child(even) {
    margin: 0 0 20px 15px;
}

#search .select-wrap:before {
    position: absolute;
    content: 'デフォルト';
    display: inline-block;
    top: 50%;
    left: 30px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

#search .select-wrap.qs1:before {
    content: 'ご年齢';
}

#search .select-wrap.qs2:before {
    content: 'ご職業';
}

#search .select-wrap.qs3:before {
    content: '現在の就業状況';
}

#search .select-wrap.qs4:before {
    content: '現在のご年収';
}


#search table {
    width: 100%;
}

#search input[type="submit"] {
    width: 50%;
    height: 60px;
    margin: 20px auto 0px;
    padding: 0 20px;
    display: block;
    border: none;
    border-radius: 40px;
    font-size: 20px;
    background: #ff4b4b;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
    box-shadow: 0px 4px 0px #992d2d;

}


#search .inner label {
    display: block;
    width: 100%;
    background-color: #004444;
    text-align: center;
    color: #fff;
    font-weight: normal;
    padding: 10px;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.5s;
    position: relative;
}


.acd-check {
    display: none;
}

.acd-label {
    color: #999;
    display: block;
    margin: 0px auto 1px;
    position: relative;
    width: 200px;
    text-align: center;

}

.acd-label:before {
    box-sizing: border-box;
    content: '\f055';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 20px;
    color: #ff6633;
    margin-right: 10px;
    vertical-align: -2px;
}

.acd-content {
    display: block;
    height: 0;
    opacity: 0;
    padding: 0 10px;
    transition: .5s;
    visibility: hidden;
}

.acd-check:checked + .acd-label:before {
    content: '\f056';
    color: #999;
}

.acd-check:checked + .acd-label + .acd-content {
    height: 230px;
    opacity: 1;
    padding: 10px;
    visibility: visible;
}

.acd-content table {
    border-collapse: collapse;

}

.acd-content table td {
    border: solid 2px #ccc;
    width: 50%;
    font-size: 20px;
    padding: 20px;
    background: #f5f5f5;
}


/*about
---------------------------------------------------------------------------*/

section.about {
    width: 100%;
    max-width: 2000px;
    padding: 40px 0 0;
}

h2.about_h2 {
    font-size: 32px;
    padding: 10px 0;
    margin: 0 0 40px;
    background: #e1e1e1;
    border-radius: 10px 10px 0 0;

}

h2.about_h2:after,
h2.about_h2:before {
    content: '－';
    margin: 0 10px 0 10px;
    color: #999;
}


table.about_table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    margin: 0 auto 60px;
    font-size: 24px;
}

table.about_table tr {
    border-bottom: dotted 2px #ccc;
}

table.about_table tr:first-child {
    border-top: dotted 2px #ccc;
}

table.about_table th,
table.about_table td {
    padding: 15px 0px;
}

h4.about_h4 {
    font-size: 28px;
    border-left: solid 6px #888;
    padding: 0 0 0 6px;
    line-height: 1.25;
    margin: 0 0 15px;
}

p.about_p {
    margin: 0 0 30px;
}

p.about_p:last-child {
    margin: 0 0 60px;
}

/*survey
---------------------------------------------------------------------------*/

section.survey {
    width: 100%;
    max-width: 2000px;
    padding: 40px 0 0;
}

h2.survey_h2 {
    font-size: 32px;
    padding: 10px 0;
    margin: 0 0 40px;
    background: #e1e1e1;
    border-radius: 10px 10px 0 0;
}

h2.survey_h2:after,
h2.survey_h2:before {
    content: '－';
    margin: 0 10px 0 10px;
    color: #999;
}

h3.survey_h3 {
    font-size: 28px;
    border-left: solid 6px #ccc;
    border-bottom: solid 1px #ccc;
    padding: 0 0 6px 6px;
    line-height: 1.35;
    margin: 0 0 15px;
}

p.survey_p {
    margin: 0 0 30px;
}

p.survey_p:last-child {
    margin: 0 0 60px;
}

/*search_step
---------------------------------------------------------------------------*/


section.top_search {
    margin: 0 0 0px;
}

section.search_step {
    padding: 0 0px 40px;
    width: 100%;
}

form.search_step_form {}

h2.search_step_h2 {
    background: linear-gradient(to bottom, var(--blue01), var(--blue02));
    color: #fff;
    border-radius: 10px 10px 0 0;
    font-size: 28px;
    line-height: 1;
    padding: 22px 0 20px;
    text-align: center;
}

.search_step_h2_wrap {
    margin: 0 0 0;
    position: relative;
}

img.search_step_h2_baloon {
    position: absolute;
    width: 92px;
    top: -24px;
    left: -20px;
}

#step_area html {
    line-height: 1;
}

#step_area ol,
#step_area ul {
    list-style: none;
}

#step_area table {
    border-collapse: collapse;
    border-spacing: 0;
}

#step_area caption,
#step_area th,
#step_area td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}

#step_area q,
#step_area blockquote {
    quotes: none;
}

#step_area q:before,
#step_area q:after,
#step_area blockquote:before,
#step_area blockquote:after {
    content: "";
    content: none;
}

#step_area a img {
    border: none;
}

#step_area article,
#step_area aside,
#step_area details,
#step_area figcaption,
#step_area figure,
#step_area footer,
#step_area header,
#step_area hgroup,
#step_area main,
#step_area menu,
#step_area nav,
#step_area section,
#step_area summary {
    display: block;
}

#step_area html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
}

#step_area body {
    font-family: "Kosugi Maru", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Lucida Grande", Verdana, "ＭＳ Ｐゴシック", sans-serif;
    color: #696969;
}

#step_area input,
#step_area select,
#step_area textarea,
#step_area button,
#step_area option {
    font-family: "Kosugi Maru", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Lucida Grande", Verdana, "ＭＳ Ｐゴシック", sans-serif;
    color: #696969;
    font-size: 1rem;
}

#step_area button {
    cursor: pointer;
}

#step_area a {
    text-decoration: none;
    color: #696969;
}

#step_area input[type="submit"] {
    -webkit-appearance: none;
}

:root {
    --main-color: #5bb75b;
    --sub-color: #ff7e0e;
}

#step_area {
    border-radius: 0 0 10px 10px;
    background: #fff;
    padding: 20px 20px 10px;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
    border: solid 4px var(--blue02);
}

#step_area .step_title {
    font-size: 24px;
    text-align: center;
    margin: 0 0 10px;
}

#step_area .step_count {
    padding: .5rem;
}

#step_area .step_count ul {
    display: flex;
    justify-content: center;
    margin: 0 0 10px;
}

#step_area .step_count ul li {
    background: #b0b0b0;
    padding: .5rem .5rem .6rem;
    border-radius: 100px;
    color: #ffffff;
    position: relative;
    line-height: 1;
}

#step_area .step_count ul li.active {
    background: #ffd940;
    color: #666;
    font-weight: bold;
}

#step_area .step_count ul li.active:not(:first-of-type):before {
    background: #ffd940;
}

#step_area .step_count ul li:not(:first-of-type) {
    margin-left: 1rem;
}

#step_area .step_count ul li:not(:first-of-type):before {
    content: '';
    display: block;
    background: #b0b0b0;
    height: 2px;
    position: absolute;
    left: -1rem;
    width: 1rem;
    top: 50%;
    transform: translateY(-50%);
}

#step_area .step_body {}

#step_area .step_body .step {
    display: none;
    flex-wrap: wrap;
}

#step_area .step_body .step.open {
    display: flex;
    justify-content: flex-start;
}

#step_area .step_body .step .label_wrap {
    flex-basis: calc((100% - 20px) / 3);
    padding: 0;
    box-sizing: border-box;
}

#step_area .step_body .step .label_wrap:nth-child(3n-1) {
    margin: 0 10px 10px 10px;
}

#step_area .step_body .step .label_wrap label span {
    font-size: 18px;
    font-weight: bold;
    color: #666;
    padding: .5rem;
    box-sizing: border-box;
    width: 100%;
    display: block;
    text-align: center;
    border: 1px solid var(--sub-color);
    border-radius: 5px;
    transition: .5s background-color, color;
    position: relative;
    background: #FFF4EB;
}

#step_area .step_body .step .label_wrap label span:after {
    position: absolute;
    content: '\f054';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 18px;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    color: var(--sub-color);
}


#step_area .step_body .step .label_wrap label input[type="radio"],
#step_area .step_body .step .label_wrap label input[type="checkbox"] {
    display: none;
}

#step_area .step_body .step .label_wrap label input[type="radio"]:checked + span,
#step_area .step_body .step .label_wrap label input[type="checkbox"]:checked + span {
    background: var(--sub-color);
    color: #ffffff;
}

#step_area .step_body .step .button_wrap {
    flex: 100%;
    padding: .5rem 0;
    display: flex;
    justify-content: space-evenly;
}

#step_area .step_body .step .button_wrap .button,
#step_area .step_body .step .button_wrap button {
    padding: .2rem 2rem;
    font-size: 14px;
    border: 1px solid #e7e7e7;
    border-radius: 20px;
    font-size: 20px;
}

#step_area button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}

#step_area .step_body .step .button_wrap button.search_start {
    background: #ff4b4b;
    color: #fff;
}

.search_step_wrap {}

.search_step_wrap section.search_step {
    position: relative;
    top: 0;
    margin: 0 0 60px;
}

.search_step_wrap form.search_step_form {
    width: 100%;
}

.search_step_wrap #step_area {
    padding: 20px 60px 10px;
}

.select_pulldown_wrap {
    width: calc(100% - 80px);
    margin: 0 auto 10px;
    position: relative;
}

select#select_pulldown {
    width: 100%;
    display: block;
    padding: 16px 32px;
    background: #fff;
    border: 1px solid #c0c0c0;
    font-size: 28px;

}

.select_pulldown_wrap:after {
    position: absolute;
    font-family: "Font Awesome 5 Free";
    content: "\f107";
    font-weight: 900;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    color: #FF9316;
}

/*info
---------------------------------------------------------------------------*/

section.info {
    margin: 0 0 60px;
    padding: 0 20px 0;
    overflow: hidden;
}

.info_wrapper {
    padding: 76px 20px 20px;
    position: relative;
    background: #fff;
    margin: 32px 0 0;
}

h2.info_h2 {
    position: absolute;
    display: block;
    font-size: 32px;
    width: 408px;
    height: 72px;
    line-height: 72px;
    text-align: center;
    padding: 0px 20px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
    background-image: url(../images/phms_h3_bgimage01.png);
    background-repeat: no-repeat;
    background-size: contain;
    color: #fff;
    top: -36px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.info_box {
    position: relative;
    padding: 40px 20px 20px;
    border: solid 2px #7F6538;
    margin: 0 0 20px;
    background: #fff;
}

h3.info_box_h3 {
    position: absolute;
    background: #7F6538;
    color: #fff;
    font-size: 28px;
    line-height: 1;
    padding: 12px 40px;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);

}

p.info_box_description {
    margin: 0 0 20px;

}

h4.info_box_point_h4 {
    display: inline-block;
    background: #6699ff;
    color: #fff;
    font-size: 28px;
    line-height: 1;
    padding: 10px;
    border-radius: 0 8px 0 0;
}

ul.info_box_point_list {
    background: #E9F0FF;
    padding: 20px 20px 20px 60px;
    font-weight: bold;
    font-size: 28px;
}

ul.info_box_point_list li {
    margin: 0 0 10px;
    position: relative;
}

ul.info_box_point_list li:before {
    position: absolute;
    font-family: "Font Awesome 5 Free";
    content: "\f058";
    color: #6699ff;
    left: -40px;
}



a.info_linkbutton {
    width: 100%;
    text-align: center;
    font-size: 32px;
    display: block;
    text-decoration: none;
    color: #fff;
    background: #22C77F;
    font-weight: bold;
    box-shadow: 0 8px 0 #419a73;
    border-radius: 10px;
    padding: 20px 0;
    position: relative;
    overflow: hidden;
    margin: 0 auto 8px;
}

a.info_linkbutton:after {
    position: absolute;
    font-family: "Font Awesome 5 Free";
    content: "\f054";
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.swiper-wrapper {
    height: auto !important;
}

.swiper-slide {}

.swiper-pagination-bullet {
    width: 12px !important;
    height: 12px !important;
    margin: 0 0 0 10px !important;
    background: #333 !important;
}

.swiper-pagination-bullet:first-child {
    margin: 0 !important;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-size: 40px !important;
    position: absolute;
    top: -152px !important;
    bottom: auto !important;
}

.swiper-slide-next,
.swiper-slide-prev {
    opacity: 0.5;
}

.swiper-pagination01,
.swiper-pagination02,
.swiper-pagination03 {
    bottom: 10px !important;
    top: auto !important;
    text-align: center;
}

section.info .common_comment {
    margin: 40px 0 0;
}

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

section.guide {
    padding: 0 20px;
    margin: 0 0 60px;
}

h2.guide_h2 {
    padding: 0 0 0 160px;
    position: relative;
    font-size: 46px;
    margin: 0 0 20px;
}

h2.guide_h2:before {
    content: '';
    position: absolute;
    width: 150px;
    height: 150px;
    background-image: url(../images/fct_guide_h2_icon01.png);
    left: 0;
    background-repeat: no-repeat;
    background-size: contain;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);

}

span.guide_h2_subtitle {
    display: inline-block;
    background: #00698b;
    color: #fff;
    font-size: 32px;
    line-height: 1;
    padding: 16px 32px;
    border-radius: 100px;

}

ul.guide_comment_list {
    padding: 0 32px;
}

ul.guide_comment_list li {
    background-color: #fff;
    position: relative;
    height: 148px;
    padding: 0 20px 0 140px;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
    border-radius: 12px;
    font-size: 28px;
    font-weight: bold;
    display: flex;
    align-items: center;
    margin: 0 0 32px;
    border: solid 1px #00698b;
}

img.guide_comment_icon {
    position: absolute;
    width: 100px;
    height: 100px;
    left: 20px;
    top: 20px;

}

p.guide_comment_description {
    padding: 42px 32px 32px;
    font-size: 28px;

    background-color: #fff;
    background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),
        linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
    background-size: 16px 16px;
    background-repeat: repeat;
    background-position: center center;
    border: solid 4px #00698b;
    margin: 52px 0 30px;
    font-weight: bold;
    position: relative;
}

p.guide_comment_description span.__red {
    color: #ca2828;
}

span.guide_comment_title {
    position: absolute;
    background: #00698b;
    color: #fff;
    line-height: 1;
    padding: 12px 32px 16px;
    border-radius: 4px;
    top: -30px;
    left: 50%;
    transform: translateX(-50%) rotate(-3deg);
    -webkit-transform: translateX(-50%) rotate(-3deg);
    -ms-transform: translateX(-50%) rotate(-3deg);
    white-space: nowrap;

}

img.guide_compare_graph_image {
    width: 100%;
}

/*sample
---------------------------------------------------------------------------*/

h2.sample_h2 {
    background-color: #00cc99;
    color: #fff;
    font-size: 32px;
    line-height: 1;
    padding: 20px 30px 20px;
    border-radius: 100px;
    display: inline-block;
    position: relative;
    margin: 0 0 24px;
}

h2.sample_h2:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border-style: solid;
    border-color: #00cc99 transparent transparent transparent;
    border-width: 20px 12px 0 12px;
    z-index: 1;
}

section.sample {
    padding: 0 20px;
    margin: 0 0 60px;
}

ul.sample_item_wrap {
    width: 100%;
    padding: 0 0 20px;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    white-space: nowrap;
    scroll-snap-type: x mandatory;
    margin: 0 0 0;
}

ul.sample_item_wrap li {
    scroll-snap-align: start;
    margin: 0 12px 0 0px;
    display: inline-block;
    width: 380px;
    height: 640px;
    white-space: normal;
    vertical-align: top;
    border-radius: 10px;
    background: #fff;
}

.sample_item_title {
    background-color: #00698b;
    color: #fff;
    font-weight: bold;
    line-height: 1;
    padding: 20px;
    text-align: center;
    border-radius: 10px 10px 0 0;
}

img.sample_item_image {
    width: 100%;
}

.sample_item_amount {
    width: calc(100% - 40px);
    margin: 0 auto 0;
    text-align: center;
    padding: 24px 0;
    border-bottom: solid 3px #ccc;
    line-height: 1;
}

.sample_item_amount .__label {
    font-size: 24px;
    margin: 0 0 8px;
    color: #666;
}

.sample_item_amount .__text {
    font-size: 32px;
}

.sample_item_amount .__text span.__red {
    color: #d41f33;
    font-size: 48px;
    font-weight: bold;
}

p.sample_item_description {
    padding: 20px;
    font-size: 26px;
    font-weight: bold;
}

h2.sample_combo_h2 {
    font-size: 40px;
    text-align: center;
    margin: 160px 0 20px;
    position: relative;
}

h2.sample_combo_h2:after {
    position: absolute;
    display: block;
    width: 66px;
    height: 108px;
    content: '';
    background-image: url(../images/fct_sample_arrow01.png);
    background-size: contain;
    background-repeat: no-repeat;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    top: -120px;
}

h2.sample_combo_h2 span.__yellow {
    background: linear-gradient(transparent 60%, #e1d230 60%);
}

.sample_combo_header {
    display: flex;
    width: 100%;
}

.sample_combo_header_item {
    flex-basis: calc(50% - 10px);
    background: #DAE9EE;
    text-align: center;
    padding: 30px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    border-radius: 6px 6px 0 0;
}

.sample_combo_header_item:nth-of-type(2) {
    background: #F9D9CA;
}

.sample_combo_header_item:first-child {
    margin: 0 20px 0 0;
}

.sample_combo_header_label {
    width: 100%;
    background: #00698b;
    color: #fff;
    margin: 0 auto 0;
    padding: 12px 0;
    font-weight: bold;
    border-radius: 100px;
}

.sample_combo_header_item:nth-of-type(2) .sample_combo_header_label {
    background: #ED7B48;
}

.sample_combo_header_label:not(:last-child) {
    margin-bottom: 30px;
}

.sample_combo_offer {
    display: flex;
    width: 100%;
}

.sample_combo_offer_item_wrap {
    flex-basis: calc(50% - 10px);
    background: #DAE9EE;
    text-align: center;
    padding: 40px 20px 20px;
    border-radius: 0 0 6px 6px;
}

.sample_combo_offer_item_wrap:nth-of-type(2) {
    background: #F9D9CA;
}


.sample_combo_offer_item_wrap:first-child {
    margin: 0 20px 0 0;
}

.sample_combo_offer_item {
    text-align: left;
    position: relative;
}

.sample_combo_offer_item:before {
    position: absolute;
    font-family: "Font Awesome 5 Free";
    content: "\f063";
    font-weight: 700;
    font-size: 32px;
    top: -56px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    color: #666;
}

.sample_combo_offer_item img.__item_banner {
    width: 100%;
}

.sample_combo_offer_item a.__item_banner_wrap {
    display: inline-block;
    margin: 0 0 16px;
}

.sample_combo_offer_item h3.__item_h3 {
    background: #00698b;
    color: #fff;
    font-size: 28px;
    padding: 0 16px;
    border-radius: 10px 10px 0 0;
    height: 120px;
    display: flex;
    align-items: center;

}

.sample_combo_offer_item_wrap:nth-of-type(2) .sample_combo_offer_item h3.__item_h3 {
    background: #ED7B48;
}

.sample_combo_offer_item .__item_spec {
    padding: 16px;
    background: #fff;
}

.sample_combo_offer_item ul.__item_point {
    font-size: 24px;
    padding: 0 0 0 0px;
    font-weight: bold;
    margin: 0 0 16px;
}

.sample_combo_offer_item ul.__item_point li {}

.sample_combo_offer_item ul.__item_point li:before {
    font-family: "Font Awesome 5 Free";
    content: "\f058";
    color: #55BF9F;
    margin: 0 6px 0 0;
}

.sample_combo_offer_item a.__item_linkbutton {
    width: 100%;
    text-align: center;
    font-size: 28px;
    line-height: 1;
    display: block;
    text-decoration: none;
    color: #fff;
    background: #ff544a;
    font-weight: bold;
    box-shadow: 0 6px 0 #91302A;
    border-radius: 12px;
    padding: 20px 0;
    position: relative;
    overflow: hidden;
    margin: 0 auto 6px;
}

/*コラムメニュー
----------------------------------------------------------------------*/

#column-menu{
padding: 0 20px 0;
margin: 0 0 40px;
}

#column-menu h2{
text-align: center;
line-height: 1;
padding: 20px 0px;
font-size: 32px;
background: #25a5a1;
color: #fff;
border-radius: 10px;
margin: 0 0 20px;
}

ul.column-menu_list{
background: #fff;
border-radius: 10px 10px 0px 0px;
border: solid 2px #ccc;
}

ul.column-menu_list li{
padding: 20px 20px 20px 40px;
}

ul.column-menu_list li i{
margin: 0 0 0 5px;
}

ul.column-menu_list a:last-child li{
padding: 10px 10px;
border-top: solid 1px #ccc;
}

ul.column-menu_list a:last-child{
font-size: 16px;
text-align: center;
background: #E9F2F5;
font-weight: bold;
}

ul.column-menu_list a{
text-decoration: none;
color: #222;
font-size: 20px;
display: block;
position: relative;
}

ul.column-menu_list a:not(:last-child):before{
position: absolute;
content: '\f054';
font-family: "Font Awesome 5 Free";
font-weight: 900;
font-size: 16px;
left: 20px;
color: #ccc;
top: 50%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
}

ul.column-menu_list a:not(:last-child,:nth-last-child(2)):after{
position: absolute;
display: block;
content: '';
background: #ccc;
width: calc(100% - 40px);
height: 1px;
left: 20px;
bottom: 0px;
}

/*column-list
---------------------------------------------------------------------------*/

section.column-list{
padding: 20px 20px 0;
margin:0 0 40px;
}

h2.column-list_h2 {
background: rgb(32,92,218);
background: linear-gradient(47deg, #00cc99 0%, #00698b 100%);
color: #fff;
text-align: center;
border-radius: 10px;
padding: 40px 0px;
font-size: 32px;
margin: 0 0 20px;
}

ul.column-listbox{
background: #fff;
border-radius: 10px;
box-shadow: 0px 2px 4px rgb(0 0 0 / 30%);
}

ul.column-listbox li{
padding: 20px 20px 20px 40px;
position: relative;
}

ul.column-listbox li:before{
position: absolute;
content: '\f054';
font-family: "Font Awesome 5 Free";
font-weight: 900;
font-size: 16px;
left: 20px;
color: #ccc;
top: 50%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
}

ul.column-listbox a:not(:last-child) li:after{
position: absolute;
display: block;
content: '';
background: #ccc;
height: 1px;
width: calc(100% - 40px);
bottom: 0px;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}

ul.column-listbox a{
display: block;
text-decoration: none;
color: #222;
font-size: 20px;
}

/*post
---------------------------------------------------------------------------*/

section.post{
padding: 0 0;
margin: 20px 0 60px;
}

h1.post_h1{
    padding: 20px;
    line-height: 1.2;
    font-size: 40px;
    color: #fff;
    background: linear-gradient(to right, #00698b, #25a5a1 );
    margin: 0 0px 20px;
    border-radius: 4px;
}

span.post_h1_subtitle{
font-size: 20px;
}

.post_date{
    color: #666666;
    font-size: 20px;
    text-align: right;
    margin-bottom: 20px;
}

.post_date:before{
    font-family: "Font Awesome 5 Free";
    content: "\f017";
    font-weight: 900;
    margin-right: 4px;
    color: #ccc;
}

p.post_desciption{
font-size: 24px;
margin: 0 0 40px;
}

h2.post_h2{
    color: #444;
    padding: 0 0 10px;
    margin: 0px 0px 20px;
    font-size: 32px;
    position: relative;
    border-bottom: 6px solid #00698b;
}

h2.post_h2:before{
    position: absolute;
    bottom: -6px;
    left: 0;
    width: 20%;
    height: 6px;
    content: '';
    background: #00cc99;
}

h3.post_h3{
font-size: 24px;
    margin: 0 0 20px;
    padding: 8px 8px;
    color: #494949;
    background: transparent;
    border-left: solid 6px #00cc99;
}

h1.post_h1_list{
    text-align: center;
    background: linear-gradient(to right, #2d85ed, #33ccff );
    color: #fff;
    font-size: 40px;
    line-height: 1.2;
    padding: 30px;
    margin: 0 0 40px;
}

span.post_h2_list_subtitle{
display: block;
font-size: 20px;
}

h2.post_h2_list{
    font-size: 32px;
    border-left: solid 6px #00cc99;
    line-height: 1;
    padding: 0 0 0 10px;
    margin: 0 0 20px;
}

ul.post_list{
padding: 0 20px;
margin: 0 0 40px;
}

ul.post_list li{
margin: 0 0 20px;
}

ul.post_list a{
color: #444;
text-decoration: none;
position: relative;
font-weight: bold;
}

ul.post_list a:before{
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 900;
    color: #2d85ed;
    margin: 0 8px 0 0;
}



/*画面幅～750px
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:768px) {

    .sp {
        display: block;
    }

    body {
        font-size: 14px;
    }



    /*コンテンツ
---------------------------------------------------------------------------*/


    #contents {
        width: 100%;
        margin: 0;
        overflow: hidden;
    }

    .inner {
        box-sizing: border-box;
        width: 100%;

    }


    /*_new
---------------------------------------------------------------------------*/

    header {
        width: 100%;
        padding: 10px;
        overflow: hidden;
    }

    .header-wrap {
        padding: 0;
    }

    .header-wrap img.logo {
        top: 12px;
        width: 200px;
    }


    img.logo-link {
        width: 140px;
    }

    .tablesorter-default {
        font-size: 10px;
    }

    #search.search-result {
        margin: 0 0 5px;
    }

    #page_top {
        right: 10px;
        bottom: 10px;
        background: #3f98ef;
        opacity: 0.8;
        border-radius: 50%;
    }


    /*nav
---------------------------------------------------------------------------*/


    .hamburger-menu {
        width: 38px;
        height: 34px
    }

    .hamburger-menu__line:before {
        transform: translateY(-12px);
    }

    .hamburger-menu__line:after {
        transform: translateY(12px);
    }

    .nav-sp {
        width: 50vw;
        right: -50vw;
        padding: 60px 0px 0px;
    }

    header .btn-wrap a {
        font-size: 12px;
        padding: 0 5px 10px 10px;
        font-weight: bold;
    }

    header .btn-wrap a i {
        margin: 0 5px 0 0;
    }

    .nav_li_label {
        margin: 0 0 10px;
        font-size: 12px;
    }

    #search {
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        top: 225px;
    }

    section.result #search {
        position: relative;
        top: 0px;
        padding: 20px 20px 0px;
    }

    section.result #search .form-wrap {
        margin: 0 0 10px;
        ;
        padding: 0;
    }

    #search .form-wrap {
        padding: 0px 10px;
        margin: 0 0 20px;
    }

    #search h2 {
        font-size: 14px;
        border-radius: 10px 10px 0px 0px;
        padding: 10px 0px;
    }

    #search .form-wrap form {
        padding: 15px;
        border-radius: 0 0 10px 10px;
        width: calc(100vw - 40px);
    }

    #search select {
        padding: 10px 10px 10px 150px;
        font-size: 14px;
        margin: 0 0 10px;
    }

    #search .select-wrap {
        margin: 0 0 10px;
    }

    #search .select-wrap:last-child {
        margin: 0;
    }

    #search .select-wrap:before {
        left: 15px;
        font-size: 12px;
        top: 20px;
    }


    .acd-check:checked + .acd-label + .acd-content {
        padding: 10px 0;
        height: 140px;
    }

    .acd-label {
        margin: 10px auto 0px;
    }

    .acd-content table td {
        font-size: 12px;
        padding: 10px;
    }

    #search input[type="submit"] {
        font-size: 14px;
        height: 40;
        margin: 10px auto 0px;
        height: 35px;
    }



    .tab-wrap {
        display: flex;
        flex-wrap: wrap;
        margin: 10px auto 0;

    }

    .tab-wrap:after {}

    .tab-label {
        padding: 0.5rem 1rem;
        font-size: 16px;
        text-shadow: none;
    }

    .tab-label:not(:last-of-type) {
        margin-right: 5px;
    }

    .tab-content {}

    /* アクティブなタブ */
    .tab-switch:checked + .tab-label {}

    .tab-switch:checked + .tab-label + .tab-content {
        padding: 20px 0 0;

    }

    /* ラジオボタン非表示 */
    .tab-switch {}


    /*fv
----------------------------------------------------------------------*/

    section.fv {
        margin: 0 0 10px;
    }

    .fv_pr {
        font-size: 10px;
        right: 15px;
        top: 15px;
        padding: 5px 5px 3px;
        border: solid 1px #fff;
        border-radius: 4px;
    }

    img.fv_image {}

    .fv_looplogo {
        height: 40px;
        width: 100%;
        margin: 0 0 20px;
    }

    img.fv_looplogo_images {}

    .fv_looplogo img.fv_looplogo_images:first-child {
        animation: slide1 60s -30s linear infinite;
    }

    .fv_looplogo img.fv_looplogo_images:last-child {
        animation: slide2 60s 0s linear infinite;
    }

    @keyframes slide1 {
        0% {
            transform: translateX(100%);
        }

        to {
            transform: translateX(-100%);
        }
    }

    @keyframes slide2 {
        0% {
            transform: translateX(0);
        }

        to {
            transform: translateX(-200%);
        }
    }


    a.fv_category_banner {
        font-size: 16px;
        padding: 12px 10px 12px 0;
        width: calc(100% - 20px);
        margin: 0 auto 30px;
        border-radius: 6px;
        box-shadow: 0 4px 0px #2B416D;
    }

    a.fv_category_banner:after {
        width: 24px;
        height: 24px;
        right: 10px;
        background-size: contain;
    }

    .fv_category_banner_microcopy {
        margin: 0 0 5px;
    }

    .fv_category_banner_microcopy:before,
    .fv_category_banner_microcopy:after {
        height: 1rem;
    }

    .fv_category_banner_microcopy:before {
        border-left: solid 2px #444;
        left: -10px;
    }

    .fv_category_banner_microcopy:after {
        border-right: solid 2px #444;
        right: -10px;
    }



    /*pickup
----------------------------------------------------------------------*/

    section.pickup {
        padding: 22px 10px 0px;
        margin: 0 0 40px;
    }

    .pickup_inner {
        background: #fff;
        padding: 33px 10px 10px;
    }

    h2.pickup_h2 {
        font-size: 16px;
        padding: 10px 15px 10px;
    }

    h2.pickup_h2:after {
        bottom: -10px;
        border-width: 10px 6px 0 6px;
    }

    .pickup_h2_wrapper {
        top: -22px;
    }

    .pickup_suggest_tab {
        font-size: 16px;
        margin: 0 0 6px;
    }

    .pickup_tab_wrap {
        margin: 0px auto 15px;
        width: calc(100%);
    }

    .pickup_tab_wrap:after {}

    .pickup_tab_label {
        padding: 5px 0;
        border-radius: 5px 5px 0px 0px;
    }


    .pickup_tab_label:not(:last-of-type) {
        margin-right: 3px;
    }

    .pickup_tab_content {}

    /* アクティブなタブ */
    .pickup_tab_switch:checked + .pickup_tab_label {
        font-size: 17px;
        padding: 8px 0;
    }

    .pickup_tab_switch:checked + .pickup_tab_label + .pickup_tab_content {
        padding: 10px;
        border: solid 10px #00698b;
    }

    /* ラジオボタン非表示 */
    .pickup_tab_switch {}

    .pickup_tab_content .pickup_item {}

    .pickup_tab_content .pickup_item:first-child {}

    .pickup_tab_content .pickup_item:last-child {}


    .pickup_item {}

    .pickup_item_inner {
        margin: 0 0 10px;
    }

    img.pickup_item_banner {
        width: 125px;
    }

    a.pickup_item_banner_wrap {
        margin: 0 10px 0 0;
    }

    a.pickup_item_servicename {
        font-size: 18px;
        margin: 0 0 8px;
    }

    .pickup_item_value {
        margin: 0 0 5px;
        white-space: nowrap;
    }

    .pickup_item_value .__label {
        padding: 3px 3px 4px;
        font-size: 10px;
        margin: 0 5px 0 0;
    }

    .pickup_item_value span.__score {}

    p.pickup_item_description {
        font-size: 12px;
        margin: 0 0 5px;
    }

    a.pickup_item_linkbutton {
        font-size: 16px;
        border-radius: 6px;
        box-shadow: 0 3px 0 #91302A;
        padding: 8px 0;
    }

    a.pickup_item_linkbutton:before {
        right: 10px;
    }

    a.pickup_item_linkbutton:after {}

    ul.pickup_item_point li {}

    ul.pickup_item_point li:before {
        margin: 0 5px 0 0;
    }

    ul.pickup_item_point li span.__red {}

    a.pickup_item_anchorlink {
        margin: 10px 0 0;
    }
    .pickup_item_footer{
        background: #fff;
        padding: 10px;
        border: solid 10px #00698b;
    }

    i.pickup_suggest_arrow {


        margin: 0 6px 0;
        font-size: 20px;

    }

    .pickup_suggest_tab span.__yellow {}



    /*countdown
----------------------------------------------------------------------*/


    .countdown {
        border-radius: 6px;
        padding: 5px 5px 5px 10px;
        font-size: 12px;
        margin: 0 auto 10px;
    }

    .countdown.countdown_timeout {
        width: 290px;
    }

    .countdown.countdown_timeout .countdown-timer {}

    .countdown:after {
        bottom: -8px;
        border-width: 8px 5px 0 5px;
    }

    .countdown .countdown-label {
        margin: 0 10px 0 0;
    }

    .countdown .countdown-timer {
        padding: 5px;
        border-radius: 6px;
    }

    .countdown .countdown-timer i {
        margin-right: 6px;
        font-size: 13px;
        vertical-align: -1px;
    }

    .countdown .countdown-timer span#timer01 {}

    #timer01,
    #timer02,
    #timer03,
    #timer04,
    #timer05,
    #timer06,
    #timer07,
    span.timer_yellow {}

    h2.pickup02_h2 {
        font-size: 20px;
        margin: 0 0 10px;
    }

    h2.pickup02_h2:before,
    h2.pickup02_h2:after {
        margin: 0 8px;
    }


    /*howto
----------------------------------------------------------------------*/

    section.howto {
        padding: 0 10px;
        margin: 0 0 40px;
    }

    .howto_inner {
        padding: 28px 10px 10px;
        border-radius: 6px;
        box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
    }

    h2.howto_h2 {
        font-size: 16px;
        padding: 10px 20px;
        top: -18px;
    }

    ul.howto_list {}

    ul.howto_list li {
        padding: 10px 0 10px 40px;
        border-top: dotted 2px #ccc;
    }

    ul.howto_list li:last-child {
        border-bottom: dotted 2px #ccc;
    }

    ul.howto_list li:before {
        top: 10px;
        font-size: 30px;
    }

    .howto_title {
        font-size: 18px;
        margin: 0 0 6px;
    }

    .howto_conclusion {
        padding: 38px 0 0;
        font-size: 16px;
    }

    .howto_conclusion:before {
        top: 15px;
        border-width: 12px 24px 0 24px;
        z-index: 1;
    }

    .howto_conclusion span.__yellow {
        font-size: 18px;
        padding: 0 6px;
    }


    /*comparison
----------------------------------------------------------------------*/

    section.comparison {
        padding: 0 0;
        margin: 0 0 40px;
    }

    h2.comparison_h2 {
        font-size: 20px;
        margin: 0 0 10px;
    }

    h2.comparison_h2:before,
    h2.comparison_h2:after {
        width: 24px;
        height: 55px;
        background-size: contain;
        left: -30px;
    }

    h2.comparison_h2:after {
        left: auto;
        right: -30px;
    }

    h2.comparison_h2 span.__big {
        font-size: 24px;
    }

    h2.comparison_h2 span.__red {}

    ul.comparison_h2_subtitle {
        margin: 0 0 8px;
    }

    ul.comparison_h2_subtitle li {
        margin: 0 5px 0 0;
        padding: 4px 4px 4px 24px;
        font-size: 14px;
        border: solid 1px #d41f33;
        border-left: solid 4px #d41f33;
    }

    ul.comparison_h2_subtitle li:before {
        left: 4px;
    }

    table.comparison_table {}

    table.comparison_table th,
    table.comparison_table td {}

    table.comparison_table th {
        font-size: 10px;
        padding: 5px 0;
    }

    table.comparison_table th.__service {
        width: 93px;
    }

    table.comparison_table th.__oficial {
        width: 63px;
    }

    table.comparison_table th.__loantime,
    table.comparison_table th.__fee,
    table.comparison_table th.__tel {}




    table.comparison_table td {
        padding: 10px 5px;
        font-size: 12px;
    }

    table.comparison_table td span.__ev01,
    table.comparison_table td span.__ev02,
    table.comparison_table td span.__ev03 {
        padding: 30px 0 0;
        background-size: 25px 25px;
    }

    table.comparison_table td span.__ev02 {}

    table.comparison_table td span.__ev03 {}

    table.comparison_table tr:nth-child(2) td.__service {
        padding: 25px 5px 10px;
    }

    table.comparison_table td span.__ev01 sup,
    table.comparison_table td span.__ev02 sup,
    table.comparison_table td span.__ev03 sup {
        top: 20px;
        font-size: 8px;
    }

    table.comparison_table td span.__large {
        font-size: 14px;
    }

    .comparison_table_baloon01_wrap {}

    .comparison_table_baloon01 {
        font-size: 10px;
        padding: 3px 5px 2px;
        border-radius: 3px;
    }

    .comparison_table_baloon01_wrap.__multicolumn {
        top: -30px;
    }

    .comparison_table_baloon01_wrap.__multicolumn .comparison_table_baloon01 {}


    .comparison_table_baloon01:after {
        bottom: -4px;
        border-width: 4px 2px 0 2px;
    }

    @keyframes fuwafuwa {

        0%,
        100% {
            transform: translateY(0);
        }

        50% {
            transform: translateY(-3px);
        }
    }

    .anime01 {
        animation: 2s fuwafuwa infinite;
    }

    .tab-switch:checked + .tab-label + .tab-content.tab-content_strong {
        padding-top: 28px;

    }

    table.comparison_table th.__strong {
        border: solid 3px #ffd940;
    }

    .comparison_table_baloon02_wrap {
        top: -26px;
    }

    .comparison_table_baloon02 {
        padding: 2px 5px 2px;
        border: solid 1px #ffd940;
        border-radius: 3px;
    }

    .comparison_table_baloon02:after {
        bottom: -6px;
        border-width: 6px 3px 0 3px;
    }

    table.comparison_table td.__strong {
        border-right: solid 3px #ffd940;
        border-left: solid 3px #ffd940;
    }

    table.comparison_table tr:last-child td.__strong {
        border-bottom: solid 3px #ffd940;
    }

    table.comparison_table td.__strong02 {}


    table.comparison_table span.__small {
        font-size: 10px;
    }

    a.comparison_table_banner_link {
        margin: 0 0 5px;
    }

    a.comparison_table_textlink {
        font-size: 10px;
    }

    a.comparison_table_textlink:after {
        font-size: 10px;
        right: -12px;
        bottom: 2px;
    }


    img.comparison_table_banner {
        width: 75px;
    }

    a.comparison_table_linkbutton {
        font-size: 10px;
        box-shadow: 0px 3px 0px #992d2d;
        padding: 5px 0;
        border-radius: 6px;
    }

    a.comparison_table_linkbutton:after {}


    .comparison_tab-wrap {}

    .comparison_tab-wrap:after {}

    .comparison_tab-label {
        padding: 10px 0 10px;
        border-radius: 5px 5px 0 0;
        font-size: 14px;
    }

    .comparison_tab-label:not(:last-of-type) {
        margin-right: 3px;
    }

    .comparison_tab-content {}

    /* アクティブなタブ */
    .comparison_tab-switch:checked + .comparison_tab-label {
        padding: 15px 0 15px;
        font-size: 18px;
    }

    .comparison_tab-switch:checked + .comparison_tab-label + .comparison_tab-content {
        padding: 10px;
    }

    /* ラジオボタン非表示 */
    .comparison_tab-switch {}

    p.comparison_notice{
    font-size: 12px;
    padding: 10px 10px 0;
    }


    /*elements
----------------------------------------------------------------------*/

    section.elements {
        margin: 0 0 40px;
        padding: 0 10px;
    }

    .elements_acordion_wrap {
        margin: 0 0 15px;
    }

    /*アコーディオンタイトル*/
    .elements_acordion_title {
        font-size: 16px;
        margin: 0 0 5px;
        padding: 10px 10px 10px 40px;
        border-radius: 6px 6px 0 0;
        text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.4);
    }

    /*アイコンの＋と×*/
    .elements_acordion_title::before,
    .elements_acordion_title::after {
        width: 15px;
        height: 2px;
        background-color: #fff;

    }

    .elements_acordion_title::before {
        right: 10px;

    }

    .elements_acordion_title::after {
        right: 10px;
    }

    .elements_acordion_title.close {
        border-radius: 6px;
    }

    /*　closeというクラスがついたら形状変化　*/
    .elements_acordion_title.close::before {}

    .elements_acordion_title.close::after {}

    /*アコーディオンで現れるエリア*/
    .elements_acordion_box {
        margin: 0 0 10px;
        padding: 10px;
        border-radius: 0 0 6px 6px;
        border: solid 1px #ffa5bd;
    }

    .elements_acordion_box.hidden {}


    .fv_inner_category .elements_acordion_wrap {
        margin: 20px 0 0;
    }

    span.__title_number {
        font-size: 24px;
        left: 10px;
    }

    .__title_triangle {
        border-width: 60px 0px 0px 60px;
    }

    img.__box_image {}

    p.__box_notice {
        font-size: 12px;
    }

    a.__box_notice_link {}

    p.__box_text {
        font-size: 14px;
        margin: 10px 0 0;
    }

    p.__box_text span.__red {}

    .__box_list_title {
        font-size: 16px;
    }

    .__box_list_title:before,
    .__box_list_title:after {}

    ul.__box_list {
        margin: 5px 0 0;
        padding: 10px;
        padding: 10px 20px 10px 40px;
    }

    ul.__box_list li {
        padding: 8px 0;
        font-size: 16px;
        border-bottom: dotted 2px #ccc;
    }

    ul.__box_list li:before {
        left: -24px;
    }

    ul.__box_list li:first-child {
        border-top: dotted 2px #ccc;
    }


    .common_comment {}

    img.common_comment_image {
        width: 74px;
        height: 74px;
        margin: 0 10px 0 0;
    }

    p.common_comment_text {
        font-size: 12px;
        padding: 15px 10px 10px;
        border: solid 2px #1f4894;
        border-radius: 10px;
    }

    span.common_comment_text_title {
        padding: 0px 10px;
        font-size: 16px;
        top: -8px;
    }

    p.common_comment_text span.__red {}


    /*compare
----------------------------------------------------------------------*/

    section.compare {
        padding: 0 0px;
        margin: 0 0 40px;
    }


    h2.compare_h202 {
        font-size: 20px;
        text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.5);
        padding: 20px 0 15px;
        margin: 0 0 42px;
    }

    h2.compare_h202:after {
        bottom: -8px;
        border-width: 8px 6px 0 6px;
    }

    span.compare_h202_subtitle {
        padding: 8px 10px;
        top: -15px;
        font-size: 14px;
        border: solid 2px #6699ff;
    }

    span.compare_h202_subtitle_inner {}

    span.compare_h202_subtitle_inner:after {
        width: 22px;
        height: 21px;
        top: -22px;
        right: -30px;
    }

    table.compare_table {
        margin: 0 0 10px;
    }

    table.compare_table th {
        font-size: 12px;
        padding: 5px 0;
    }

    table.compare_table td {
        padding: 8px 0;
        font-size: 12px;
    }

    table.compare_table tr td,
    table.compare_table tr th {}

    table.compare_table tr td:first-child {
        border-right: solid 2px #DC6574;
        border-left: solid 2px #DC6574;
    }

    table.compare_table tr th:first-child {
        border-right: solid 2px #DC6574;
        border-left: solid 2px #DC6574;
    }

    table.compare_table tr:first-child th:first-child {
        border-top: solid 2px #DC6574;
    }

    table.compare_table tr:last-child td:first-child {
        border-bottom: solid 2px #DC6574;
    }


    tr.compare_table_tr_rank th {
        font-size: 14px;
    }

    tr.compare_table_tr_rank th.__th01 {}

    tr.compare_table_tr_rank th.__th02 {}

    tr.compare_table_tr_rank th.__th03 {}

    tr.compare_table_tr_banner a.__banner_wrap {}

    tr.compare_table_tr_banner img.__banner {
        width: 100px;
    }

    tr.compare_table_tr_value span.__score {
        font-size: 14px;
    }

    tr.compare_table_tr_preplan-fee td span.__small,
    tr.compare_table_tr_groplan-fee td span.__small {
        font-size: 10px;
    }

    tr.compare_table_tr_link a.__linkbutton {
        width: calc(100% - 10px);
        font-size: 12px;
        box-shadow: 0 3px 0 #046140;
        padding: 6px 0;
    }

    p.compare_addition {
        font-size: 11px;
    }

    .__service_baloon {
        top: -36px;
    }

    .__service_baloon_inner {
        font-size: 12px;
        border-radius: 6px;
        padding: 8px 8px;
    }

    .__service_baloon_inner:after {
        bottom: -8px;
        border-width: 8px 4px 0 4px;
    }


    /*reason
----------------------------------------------------------------------*/

    section.reason {
        padding: 0 10px;
        margin: 0 0 40px;
    }

    img.reason_image {}


    /*ranking
----------------------------------------------------------------------*/

    section.ranking {
        margin: 0 0 40px;
    }

    h2.ranking_h2 {
        margin: 0 0 10px;
        font-size: 22px;
    }

    h2.ranking_h2 span.__red {
        font-size: 36px;
    }

    h2.ranking_h2:before,
    h2.ranking_h2:after {
        height: 1.25rem;
    }

    h2.ranking_h2:before {
        border-left: solid 2px #444;
        left: -10px;
    }

    h2.ranking_h2:after {
        border-right: solid 2px #444;
        right: -10px;
    }



    .ranking_tab-wrap {}

    .ranking_tab-wrap:after {
        height: 8px;
    }

    .ranking_tab-label {
        padding: 10px 0 10px;
        border-radius: 6px 6px 0 0;
        font-size: 14px;
    }

    .ranking_tab-label:not(:last-of-type) {
        margin-right: 3px;
    }

    .ranking_tab-content {}

    /* アクティブなタブ */
    .ranking_tab-switch:checked + .ranking_tab-label {
        padding: 15px 0 15px;
        font-size: 18px;
    }

    .ranking_tab-switch:checked + .ranking_tab-label + .ranking_tab-content {
        padding: 10px;
    }

    /* ラジオボタン非表示 */
    .ranking_tab-switch {}



    .ranking_item {
        padding: 10px;
        border-radius: 6px;
        margin: 0 0 15px;
    }

    .ranking_item_header {
        position: relative;
        display: flex;
        padding: 0 0 15px 41px;
        justify-content: space-between;
        border-bottom: solid 2px #ccc;
        margin: 0 0 20px;
    }

    .ranking_item_header_rank {
        height: 42px;
        width: 36px;
        font-size: 20px;
    }

    .ranking_item_header_rank.rank02 {}

    .ranking_item_header_rank.rank03 {}

    .ranking_item_header_rank.rank04,
    .ranking_item_header_rank.rank05 {}



    h3.ranking_item_header_h3 {
        font-size: 20px;
        width: calc(100%);
    }

    .ranking_item_spec01 {
        margin: 0 0 10px;
    }

    h3.ranking_maincopy {
        margin: 0 0 10px;
    }

    a.ranking_item_banner_wrap {
        width: calc((100% - 30px)/2);
        margin: 0 10px 0 0;
    }

    .ranking_banner_score_wrap {
        margin: 0 0 15px;
    }

    img.ranking_item_banner {}

    .ranking_score_box {
        border: solid 1px #25a5a1;
        padding: 30px 0px 15px;
        width: calc((100% - 30px)/2);
        margin: 12px 0 0;
    }

    .ranking_score_label {
        padding: 6px 12px;
        top: -12px;
        border-radius: 3px;
    }

    img.ranking_score_value_star {
        width: calc(100% - 40px);
    }

    p.ranking_score_value_txt {
        margin: 4px 0 0;
        font-size: 20px;
    }

    .ranking_item_spec01 {
        margin: 0 0 10px;
    }

    table.ranking_item_spec01_table,
    table.ranking_item_spec02_table {
        font-size: 12px;
    }

    table.ranking_item_spec01_table th,
    table.ranking_item_spec01_table td,
    table.ranking_item_spec02_table th,
    table.ranking_item_spec02_table td {}

    table.ranking_item_spec01_table th,
    table.ranking_item_spec02_table th {
        padding: 5px 0;
    }

    table.ranking_item_spec01_table td,
    table.ranking_item_spec02_table td {
        padding: 8px 0;
    }

    table.ranking_item_spec02_table {
        margin: 0 0 10px;
    }

    table.ranking_item_spec02_table th {}

    table.ranking_item_spec02_table span.__small {
        font-size: 10px;
    }

    .ranking_item_point_box {
        padding: 30px 10px 10px;
        margin: 0 0 10px;
    }

    .ranking_item_point_h4_wrap {}

    h4.ranking_item_point_h4 {
        padding: 5px 0px 6px 8px;
        height: 25px;
        font-size: 14px;
    }

    h4.ranking_item_point_h4:after {
        content: '';
        position: absolute;
        top: 0;
        right: -16px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 25px 16px 0 0;

    }

    ul.ranking_item_point_list {
        padding: 0 0 0 21px;
        margin: 0 0 10px;
    }

    ul.ranking_item_point_list li {
        margin: 0 0 10px;
    }

    ul.ranking_item_point_list li span.__small {
        font-size: 10px;
    }

    ul.ranking_item_point_list li:after {
        left: -20px;
        top: 2px;
    }

    p.ranking_item_point_description {
        padding-bottom: 4px;
        font-size: 12px;
    }

    p.ranking_item_point_description span.__red {}

    .ranking_item_microcopy {
        margin: 0 0 5px;
    }

    .ranking_item_microcopy:after,
    .ranking_item_microcopy:before {
        background-size: cover;
        width: 8px;
        height: 16px;
        right: -15px;
        bottom: 0;
    }

    .ranking_item_microcopy:before {
        left: -15px;
        right: auto;
        bottom: 0;
    }

    .center {}

    a.ranking_item_linkbutton {
        font-size: 16px;
        box-shadow: 0 4px 0 #91302A;
        border-radius: 6px;
        padding: 15px 0;
        margin: 0 auto 4px;
    }

    p.ranking_item_addition {
        margin: 14px 0 0;
        font-size: 11px;
    }

    .ranking_item_sample_box {
        padding: 30px 10px 10px;
        margin: 0 0 15px;
    }

    .ranking_item_sample_h4_wrap {}

    h4.ranking_item_sample_h4 {
        padding: 5px 0px 6px 8px;
        height: 25px;
        font-size: 14px;
    }

    h4.ranking_item_sample_h4:after {
        right: -16px;
        border-width: 25px 16px 0 0;
    }

    img.ranking_item_sample_image {}


    h4.ranking_item_review_h4 {
        font-size: 14px;
    }

    h4.ranking_item_review_h4:before {
        font-size: 16px;
        margin: 0 5px 0 0;
    }

    li.ranking_item_review {}

    ul.ranking_item_review__wrap li.ranking_item_review:not(:last-child) {
        margin: 0 0 10px;
        padding: 0 0 10px;
    }

    ul.ranking_item_review__wrap li.ranking_item_review:not(:last-child):after {
        height: 1px;
    }

    .ranking_item_review__profile {
        padding: 0 0 0 42px;
        height: 32px;
        font-size: 12px;
        margin: 0 0 10px;
    }

    .ranking_item_review__profile:before {
        width: 32px;
        height: 32px;
        background: url(../images/aga_ranking_item_review-icon_male.png);
        left: 0;
        background-repeat: no-repeat;
        background-size: contain;
    }

    .ranking_item_review__score {
        margin: 0 0 5px;
    }

    .ranking_item_review__profile_detail {}

    .ranking_item_review__profile_detail span.__medicine {
        padding: 0 5px;
        border-radius: 2px;
        font-size: 10px;
    }

    .ranking_item_review__title {
        margin: 0 0 5px;
        font-size: 14px;
    }

    p.ranking_item_review__description {
        font-size: 12px;
    }

    .ranking_item_review__box {
        margin: 0 0 0;
    }

    .grad-btn {
        bottom: 10px;
        left: 0;
        width: 74px;
        padding: 3px 0;
        border-radius: 2px;
        font-size: 12px;
    }

    ul.ranking_item_review__wrap {
        padding: 10px;
        height: 140px;
        margin: 0 0 10px;
    }

    ul.ranking_item_review__wrap::before {
        height: 60px;
        /*グラデーションで隠す高さ*/
    }

    .grad-trigger {}

    .grad-trigger:checked + .grad-btn {}

    .grad-trigger:checked ~ ul.ranking_item_review__wrap {}

    .grad-trigger:checked ~ ul.ranking_item_review__wrap::before {}

    p.ranking_item_review_notice {
        font-size: 10px;
        margin: 0 0 15px;
    }


    .common_search_wrap {
        margin: 0 0 10px;
    }

    /*アコーディオンタイトル*/
    .common_search_title {
        font-size: 16px;
        padding: 10px 10px 10px 45px;
        border-radius: 6px 6px 0 0;
        border: solid 1px #1f4894;
    }

    /*アイコンの＋と×*/
    .common_search_title::before,
    .common_search_title::after {
        width: 10px;
        height: 2px;

    }

    .common_search_title::before {
        right: 10px;

    }

    .common_search_title::after {
        right: 10px;

    }

    .common_search_title.close {
        border-radius: 6px;
    }

    /*　closeというクラスがついたら形状変化　*/
    .common_search_title.close::before {}

    .common_search_title.close::after {}

    /*アコーディオンで現れるエリア*/
    .common_search_box {
        padding: 10px 10px 10px;
        border-radius: 0 0 6px 6px;
        border: solid 1px #1f4894;
    }

    i.__hospital_icon {
        width: 24px;
        height: 24px;
        left: 10px;
    }

    table.common_search_table {}

    table.common_search_table th {
        font-size: 14px;
        padding: 8px 0px;
        width: 75px;
    }

    table.common_search_table td {
        font-size: 14px;
        padding: 8px 8px 0;
    }

    ul.__area_list {}

    ul.__area_list li {
        margin: 0 8px 8px 0;
    }

    table.common_search_table tr:not(:last-child) {
        border-bottom: solid 3px #fff;
    }
    
    p.notice_cvbutton{
    padding: 10px;
    margin: 0 0 10px;
    border-radius: 6px;
    font-size: 12px;
    }

    p.notice_cvbutton strong{
    }

    /*merit
----------------------------------------------------------------------*/

    section.merit {
        padding: 0 10px;
        margin: 0 0 40px;
    }

    .merit_h2_wrap {
        padding: 76px 0 0;
        margin: 0 0 10px;
    }

    .merit_h2_wrap h2.merit_h2 {}

    .merit_h2_wrap:before {
        position: absolute;
        content: '';
        background-size: cover;
        width: 98px;
        height: 76px;
        top: 0px;
        left: calc(50% - 10px);
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
    }

    img.merit_image_01 {
        margin: 0 0 10px;
    }

    .pickup_microcopy {
        margin: 0 0 5px;
    }

    .pickup_microcopy:after,
    .pickup_microcopy:before {
        background-size: cover;
        width: 8px;
        height: 16px;
        right: -15px;
        bottom: 0;
    }

    .pickup_microcopy:before {
        left: -15px;
        right: auto;
        bottom: 0;
    }

    /*qanda
----------------------------------------------------------------------*/

    section.qanda {
        padding: 0 10px;
        margin: 0 0 40px;
    }

    h2.qanda_h2 {
        font-size: 16px;
        text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
        padding: 10px 15px 10px;
        margin: 0 0 10px;
    }

    h2.qanda_h2:after {
        bottom: -10px;
        border-width: 10px 6px 0 6px;
    }

    #question .accordion-area {
        list-style: none;
        margin: 0 auto;
    }

    #question .accordion-area li {
        margin: 5px 0;
    }

    #question .accordion-area li:last-child {}

    #question .accordion-area section {
        border-radius: 6px;
    }

    /*アコーディオンタイトル*/
    #question .title {
        font-size: 14px;
        font-weight: normal;
        padding: 10px 10px 10px 30px;
        transition: all .5s ease;
        background: #fff;
        font-weight: bold;
        border-radius: 10px;
    }

    /*アイコンの＋と×*/
    #question .title::before,
    #question .title::after {
        position: absolute;
        content: '';
        width: 10px;
        height: 2px;
        background-color: #333;

    }

    #question .title::before {
        top: 48%;
        left: 10px;
        transform: rotate(0deg);

    }

    #question .title::after {
        top: 48%;
        left: 10px;
        transform: rotate(90deg);

    }

    /*　closeというクラスがついたら形状変化　*/
    #question .title.close::before {}

    #question .title.close::after {}

    /*アコーディオンで現れるエリア*/
    #question .box {
        display: none;
        /*はじめは非表示*/
        background: #f3f3f3;
        margin: 0 10px 10px 10px;
        padding: 10px;
    }

    #question .box p {
        font-size: 14px;
    }





    /*result
----------------------------------------------------------------------*/

    section.result {
        padding: 10px 10px 0;
    }

    .result_header01 {
        padding: 0;
        margin: 0 0 10px;
    }

    .result_header01_counter {
        font-size: 16px;
    }

    .result_header01_change-button {
        padding: 10px 5px;
        font-size: 14px;
        border: solid 1px #ccc;
        border-radius: 6px;
    }


    .result_header02_wrap {}

    .result_header02 {
        margin: 0 0 10px;
        padding: 10px;
        border-radius: 6px;
    }

    h3.result_header02_h3 {
        font-size: 14px;
        margin: 0 0 10px;
    }

    ul.result_header02_settings_wrap {}

    ul.result_header02_settings_wrap li {
        font-size: 12px;
        border: solid 1px var(--blue01);
        padding: 5px 5px 5px 15px;
        margin: 0 5px 5px 0;
    }

    #submit_select {
        font-size: 14px;
        width: 180px;
        height: 36px;
        line-height: 30px;
        border-radius: 6px;
        margin: 0 0 10px auto;
    }

    section.notice_result {
        padding: 10px 0px;
        margin: 0 auto 10px;
        width: calc(100vw - 20px);
        border-radius: 5px;
        border: solid 1px #ff7e0e;
    }

    h3.notice_result_title {
        font-size: 12px;
    }

    h3.notice_result_title:before {
        margin: 0 3px 0 0;
    }

    p.notice_result_description {
        font-size: 12px;
    }

    section.notice_result.result_none {}

    section.notice_result.result_none h3.notice_result_title:before {}


    .result_item {
        padding: 10px;
        border-radius: 6px;
        margin: 0 0 20px;
    }

    .result_item:last-child {
        margin: 0 0 40px;
    }

    .result_item_header {
        padding: 0 0 10px;
        border-bottom: solid 1px #ccc;
        margin: 0 0 10px;
    }

    .result_item_header_rank {
        height: 42px;
        width: 36px;
        font-size: 20px;
    }

    .result_item_header_feature {
        padding: 5px 8px 6px;
        border-radius: 6px;
        width: 128px;
        font-weight: bold;
    }

    .result_item_header_feature:after {
        width: 0;
        top: 50%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        left: -8px;

        border-right: 8px solid var(--red01);
        border-top: 6px solid transparent;
        border-bottom: 6px solid transparent;
    }

    h3.result_item_header_h3 {
        font-size: 20px;
        line-height: 1.4;
    }

    .result_item_header_star {
        font-size: 12px;
    }

    .result_item_header_star span.__score {
        font-family: 'Anton', sans-serif, cursive;
        color: #ff4d66;
        font-weight: normal;
        font-size: 28px;
    }

    .result_item_spec01 {
        margin: 0 0 10px;
    }

    a.result_item_banner_wrap {
        margin: 0 10px 0 0;
    }

    img.result_item_banner {
        width: 150px;
    }

    table.result_item_spec01_table,
    table.result_item_spec02_table {
        font-size: 12px;
    }

    table.result_item_spec01_table th,
    table.result_item_spec01_table td,
    table.result_item_spec02_table th,
    table.result_item_spec02_table td {}

    table.result_item_spec01_table th,
    table.result_item_spec02_table th {
        padding: 5px 0;
        font-size: 14px;
    }

    table.result_item_spec01_table td,
    table.result_item_spec02_table td {
        padding: 10px 0;
        font-weight: bold;
    }

    table.result_item_spec02_table {
        margin: 0 0 10px;
    }

    table.result_item_spec02_table th {}

    table.result_item_spec02_table span.__small {
        font-size: 10px;
    }

    .result_item_point_box {
        padding: 30px 10px 10px;
        margin: 0 0 10px;
    }

    .result_item_point_h4_wrap {}

    h4.result_item_point_h4 {
        padding: 5px 0px 6px 8px;
        height: 25px;
        font-size: 14px;
    }

    h4.result_item_point_h4:after {
        right: -16px;
        border-style: solid;
        border-width: 25px 16px 0 0;
    }

    ul.result_item_point_list {
        padding: 0 0 0 21px;
        margin: 0 0 10px;
    }

    ul.result_item_point_list li {
        margin: 0 0 5px;
    }

    ul.result_item_point_list li:after {
        left: -20px;
        top: 2px;
    }

    p.result_item_point_description {
        padding-bottom: 4px;
        font-size: 12px;
    }

    p.result_item_point_description span.__red {}

    .result_item_microcopy {
        margin: 0 0 5px;
    }

    .result_item_microcopy:after,
    .result_item_microcopy:before {
        width: 8px;
        height: 16px;
        right: -15px;
        background-size: cover;
    }

    .result_item_microcopy:before {
        left: -15px;
    }

    .center {}

    a.result_item_linkbutton {
        font-size: 16px;
        box-shadow: 0 4px 0 #419a73;
        border-radius: 6px;
        padding: 15px 0;
        margin: 0 auto 4px;
    }

    p.result_item_addition {
        margin: 14px 0 0;
        font-size: 11px;
    }




    /*about
---------------------------------------------------------------------------*/

    section.about {
        width: 100%;
        padding: 0px 10px 0;
    }

    h2.about_h2 {
        font-size: 20px;
        padding: 10px 0 10px;
        margin: 40px 0 20px;
        border-radius: 6px 6px 0 0;
    }

    h2.about_h2:after,
    h2.about_h2:before {

        margin: 0 5px 0 5px;
    }

    table.about_table {
        width: 940px;
        border-collapse: collapse;
        text-align: left;
        margin: 0 auto 60px;
    }

    table.about_table {
        width: 100%;
        font-size: 14px;
        margin: 0 auto 30px;
    }

    table.about_table tr {
        border-bottom: dotted 1px #ccc;
    }

    table.about_table tr:first-child {
        border-top: dotted 1px #ccc;
    }

    table.about_table th,
    table.about_table td {
        padding: 15px 0px;
    }

    h4.about_h4 {
        font-size: 16px;
        border-left: solid 4px #888;
        padding: 0 0 0 6px;
        margin: 0 0 10px;
    }

    p.about_p {
        margin: 0 0 15px;
    }

    p.about_p:last-child {
        margin: 0 0 30px;
    }

    /*survey
---------------------------------------------------------------------------*/

    section.survey {
        width: 100%;
        padding: 0 10px;
    }

    h2.survey_h2 {
        font-size: 20px;
        padding: 10px 0 10px;
        margin: 40px 0 20px;
        border-radius: 6px 6px 0 0;
    }

    h2.survey_h2:after,
    h2.survey_h2:before {

        margin: 0 5px 0 5px;
    }

    h3.survey_h3 {
        font-size: 16px;
        border-left: solid 6px #ccc;
        border-bottom: solid 1px #ccc;
        padding: 0 0 6px 6px;
        margin: 0 0 10px;
    }

    p.survey_p {
        margin: 0 0 15px;
    }

    p.survey_p:last-child {
        margin: 0 0 30px;
    }

    /*search_step
---------------------------------------------------------------------------*/

    section.top_search {
        padding: 0 10px;
        margin: 0 0 40px;
    }

    section.search_step {
        padding: 0 0px;
        margin: 0 0 10px;
        top: 210px;
    }

    .hv_short section.search_step {
        top: 156px;
    }

    form.search_step_form {
        width: auto;
    }

    h2.search_step_h2 {
        border-radius: 10px 10px 0 0;
        font-size: 14px;
        padding: 12px 0 10px;
    }

    .search_step_h2_wrap {
        margin: 10px 0 0;
        position: relative;
    }

    img.search_step_h2_baloon {
        width: 46px;
        height: 46px;
        top: -10px;
        left: -10px;
    }


    #step_area html {}

    #step_area ol,
    #step_area ul {}

    #step_area table {}

    #step_area caption,
    #step_area th,
    #step_area td {}

    #step_area q,
    #step_area blockquote {}

    #step_area q:before,
    #step_area q:after,
    #step_area blockquote:before,
    #step_area blockquote:after {}

    #step_area a img {}

    #step_area article,
    #step_area aside,
    #step_area details,
    #step_area figcaption,
    #step_area figure,
    #step_area footer,
    #step_area header,
    #step_area hgroup,
    #step_area main,
    #step_area menu,
    #step_area nav,
    #step_area section,
    #step_area summary {}

    #step_area html {}

    #step_area body {}

    #step_area input,
    #step_area select,
    #step_area textarea,
    #step_area button,
    #step_area option {}

    #step_area button {}

    #step_area a {}

    #step_area input[type="submit"] {}

    #step_area {
        border: 1px solid var(--blue02);
        border-radius: 0 0 10px 10px;
        padding: 10px 10px 10px;
    }

    .search_step_wrap #step_area {
        padding: 10px 10px 10px;
    }

    .search_step_wrap section.search_step {
        margin: 0 0 30px;
    }

    #step_area .step_title {
        font-size: 14px;
        margin: 0 0 10px;
    }

    #step_area .step_count {}

    #step_area .step_count ul {
        margin: 0 0 5px;
    }

    #step_area .step_count ul li {}

    #step_area .step_count ul li.active {}

    #step_area .step_count ul li.active:not(:first-of-type):before {}

    #step_area .step_count ul li:not(:first-of-type) {}

    #step_area .step_count ul li:not(:first-of-type):before {}

    #step_area .step_body {}

    #step_area .step_body .step {}

    #step_area .step_body .step.open {}

    #step_area .step_body .step .label_wrap {
        flex-basis: calc((100% - 10px) / 3);
        padding: 0;
        box-sizing: border-box;
    }

    #step_area .step_body .step.column2 .label_wrap {
        flex-basis: calc((100% - 5px) / 2);
    }

    #step_area .step_body .step .label_wrap:nth-child(3n-1) {
        margin: 0 5px 5px 5px;
    }

    #step_area .step_body .step.column2 .label_wrap:nth-child(3n-1) {
        margin: 0 0px 5px 0px;
    }

    #step_area .step_body .step.column2 .label_wrap:nth-child(odd) {
        margin: 0 5px 5px 0;
    }

    #step_area .step_body .step .label_wrap label span {
        font-size: 12px;
        font-weight: bold;
        color: #666;
        padding: .5rem;
        box-sizing: border-box;
        width: 100%;
        display: block;
        text-align: center;
        border: 1px solid var(--sub-color);
        border-radius: 5px;
        transition: .5s background-color, color;
        position: relative;
        background: #FFF4EB;
    }

    #step_area .step_body .step .label_wrap label span:after {
        font-size: 12px;
        right: 2px;
    }


    #step_area .step_body .step .label_wrap label input[type="radio"],
    #step_area .step_body .step .label_wrap label input[type="checkbox"] {}

    #step_area .step_body .step .label_wrap label input[type="radio"]:checked + span,
    #step_area .step_body .step .label_wrap label input[type="checkbox"]:checked + span {}

    #step_area .step_body .step .button_wrap {
        flex: 100%;
        padding: .5rem 0 0;
        display: flex;
        justify-content: space-evenly;
    }

    #step_area .step_body .step .button_wrap .button,
    #step_area .step_body .step .button_wrap button {
        padding: .5rem 2rem;
        font-size: 14px;
        border: 1px solid #e7e7e7;
        border-radius: 20px;
        font-size: 14px;
    }

    #step_area button {
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
    }

    #step_area .step_body .step .button_wrap button.search_start {
        background: #ff4b4b;
        color: #fff;
        font-weight: bold;
    }

    /*info
---------------------------------------------------------------------------*/

    section.info {
        margin: 0 0 40px;
        padding: 0 10px 0;
    }

    .info_wrapper {
        padding: 38px 10px 10px;
        margin: 16px 0 0;
    }

    h2.info_h2 {
        font-size: 16px;
        width: 204px;
        height: 36px;
        line-height: 36px;
        padding: 0px 10px;
        top: -18px;
    }

    .info_box {
        padding: 20px 10px 10px;
        border: solid 1px #7F6538;
        margin: 0 0 10px;
    }

    h3.info_box_h3 {
        font-size: 14px;
        padding: 6px 20px;
        top: -12px;
    }

    p.info_box_description {
        margin: 0 0 10px;
    }

    h4.info_box_point_h4 {
        font-size: 14px;
        line-height: 1;
        padding: 6px;
        border-radius: 0 4px 0 0;
    }

    ul.info_box_point_list {
        padding: 10px 10px 10px 30px;
        font-size: 14px;
    }

    ul.info_box_point_list li {
        margin: 0 0 5px;
    }

    ul.info_box_point_list li:before {
        left: -20px;
    }



    a.info_linkbutton {
        font-size: 16px;
        box-shadow: 0 4px 0 #419a73;
        border-radius: 6px;
        padding: 10px 0;
        margin: 0 auto 4px;
    }

    a.info_linkbutton:after {
        right: 10px;
    }

    .swiper-wrapper {}

    .swiper-pagination-bullet {
        width: 6px !important;
        height: 6px !important;
        margin: 0 0 0 5px !important;
    }

    .swiper-pagination-bullet:first-child {}

    .swiper-button-next:after,
    .swiper-button-prev:after {
        font-size: 20px !important;
        top: -76px !important;
    }

    .swiper-slide-next,
    .swiper-slide-prev {}

    .swiper-pagination01,
    .swiper-pagination02,
    .swiper-pagination03 {
        bottom: 5px !important;
    }

    section.info .common_comment {
        margin: 20px 0 0;
    }

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

    section.guide {
        padding: 0 10px;
        margin: 0 0 40px;
    }

    h2.guide_h2 {
        padding: 0 0 0 80px;
        font-size: 23px;
        margin: 0 0 10px;
    }

    h2.guide_h2:before {
        width: 75px;
        height: 75px;
    }

    span.guide_h2_subtitle {
        font-size: 16px;
        padding: 8px 16px;
    }

    ul.guide_comment_list {
        padding: 0 16px;
    }

    ul.guide_comment_list li {
        height: 74px;
        padding: 0 10px 0 70px;
        box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
        border-radius: 6px;
        font-size: 14px;
        margin: 0 0 16px;
    }

    img.guide_comment_icon {
        width: 50px;
        height: 50px;
        left: 10px;
        top: 10px;

    }

    p.guide_comment_description {
        padding: 21px 16px 16px;
        font-size: 14px;
        background-size: 8px 8px;
        border: solid 2px #00698b;
        margin: 26px 0 15px;
    }

    p.guide_comment_description span.__red {
    }

    span.guide_comment_title {
        padding: 6px 16px 8px;
        border-radius: 2px;
        top: -15px;
    }

    img.guide_compare_graph_image {
    }

    /*sample
    ---------------------------------------------------------------------------*/

    h2.sample_h2 {
        font-size: 16px;
        padding: 10px 15px 10px;
        margin: 0 0 12px;
    }

    h2.sample_h2:after {
        bottom: -10px;
        border-width: 10px 6px 0 6px;
    }

    section.sample {
        padding: 0 10px;
        margin: 0 0 40px;
    }

    ul.sample_item_wrap {
        padding: 0 0 10px;
    }

    ul.sample_item_wrap li {
        margin: 0 6px 0 0px;
        width: 190px;
        height: 320px;
        border-radius: 6px;
    }

    .sample_item_title {
        padding: 10px;
        text-align: center;
        border-radius: 5px 5px 0 0;
    }

    img.sample_item_image {
    }

    .sample_item_amount {
        width: calc(100% - 20px);
        padding: 12px 0;
        border-bottom: solid 2px #ccc;
    }

    .sample_item_amount .__label {
        font-size: 12px;
        margin: 0 0 4px;
    }

    .sample_item_amount .__text {
        font-size: 16px;
    }

    .sample_item_amount .__text span.__red {
        font-size: 24px;
    }

    p.sample_item_description {
        padding: 10px;
        font-size: 13px;
    }

    h2.sample_combo_h2 {
        font-size: 20px;
        margin: 80px 0 10px;
    }

    h2.sample_combo_h2:after {
        width: 33px;
        height: 54px;
        top: -60px;
    }

    h2.sample_combo_h2 span.__yellow {
    }

    .sample_combo_header {
    }

    .sample_combo_header_item {
        flex-basis: calc(50% - 5px);
        padding: 15px;
        border-radius: 3px 3px 0 0;
    }

    .sample_combo_header_item:nth-of-type(2) {
    }

    .sample_combo_header_item:first-child {
        margin: 0 10px 0 0;
    }

    .sample_combo_header_label {
        padding: 6px 0;
    }

    .sample_combo_header_item:nth-of-type(2) .sample_combo_header_label {
    }

    .sample_combo_header_label:not(:last-child) {
        margin-bottom: 15px;
    }

    .sample_combo_offer {
    }

    .sample_combo_offer_item_wrap {
        flex-basis: calc(50% - 5px);
        padding: 20px 10px 10px;
        border-radius: 0 0 3px 3px;
    }

    .sample_combo_offer_item_wrap:nth-of-type(2) {
    }


    .sample_combo_offer_item_wrap:first-child {
        margin: 0 10px 0 0;
    }

    .sample_combo_offer_item {
    }

    .sample_combo_offer_item:before {
        font-size: 16px;
        top: -28px;
    }

    .sample_combo_offer_item img.__item_banner {
    }

    .sample_combo_offer_item a.__item_banner_wrap {
        margin: 0 0 8px;
    }

    .sample_combo_offer_item h3.__item_h3 {
        font-size: 14px;
        padding: 0 8px;
        border-radius: 5px 5px 0 0;
        height: 60px;
    }

    .sample_combo_offer_item_wrap:nth-of-type(2) .sample_combo_offer_item h3.__item_h3 {
    }

    .sample_combo_offer_item .__item_spec {
        padding: 8px;
    }

    .sample_combo_offer_item ul.__item_point {
        font-size: 12px;
        margin: 0 0 8px;
    }

    .sample_combo_offer_item ul.__item_point li {}

    .sample_combo_offer_item ul.__item_point li:before {
        margin: 0 3px 0 0;
    }

    .sample_combo_offer_item a.__item_linkbutton {
        font-size: 14px;
        box-shadow: 0 3px 0 #91302A;
        border-radius: 6px;
        padding: 10px 0;
        margin: 0 auto 3px;
    }



    .pc {
        display: none;
    }

#column-menu{
padding: 0 10px 0;
margin: 0 0 30px;
}

#column-menu h2{
font-size: 20px;
margin: 0 0 10px;
}

ul.column-menu_list{
border-radius: 10px 10px 0px 0px;
border: solid 1px #ccc;
}

ul.column-menu_list li{
padding: 10px 10px 10px 25px;
}

ul.column-menu_list li i{
margin: 0 0 0 5px;
}

ul.column-menu_list a:last-child li{
padding: 5px 5px;
border-top: solid 1px #ccc;
}

ul.column-menu_list a:last-child{
font-size: 12px;
}

ul.column-menu_list a{
font-size: 14px;
}

ul.column-menu_list a:not(:last-child):before{
font-size: 12px;
left: 10px;
color: #ccc;
}

ul.column-menu_list a:not(:last-child,:nth-last-child(2)):after{
width: calc(100% - 20px);
left: 10px;
}

/*column-list
---------------------------------------------------------------------------*/

section.column-list{
padding: 10px 10px 0;
margin:0 0 30px;
}

h2.column-list_h2 {
padding: 20px 0px;
font-size: 20px;
margin: 0 0 10px;
}

ul.column-listbox{
}

ul.column-listbox li{
padding: 10px 10px 10px 25px;
}

ul.column-listbox li:before{
font-size: 12px;
left: 10px;
}

ul.column-listbox a:not(:last-child) li:after{
width: calc(100% - 20px);
}

ul.column-listbox a{
font-size: 14px;
}

/*post
---------------------------------------------------------------------------*/

section.post{
padding: 0 10px;
margin: 10px 0 40px;
}

h1.post_h1{
    padding: 20px;
    font-size: 20px;
    margin: 0 0px 10px;
    border-radius: 4px;
}

span.post_h1_subtitle{
font-size: 10px;
}

.post_date{
    font-size: 12px;
    text-align: right;
    margin-bottom: 10px;
}

.post_date:before{
}

p.post_desciption{
font-size: 14px;
margin: 0 0 20px;
}

h2.post_h2{
    padding: 0 0 5px;
    margin: 0px 0px 10px;
    font-size: 16px;
    border-bottom: 3px solid #00698b;
}

h2.post_h2:before{
    bottom: -3px;
    height: 3px;
}

h3.post_h3{
font-size: 14px;
    margin: 0 0 10px;
    padding: 4px 4px;
    border-left: solid 4px #00cc99;
}

h1.post_h1_list{
    font-size: 20px;
    padding: 15px;
    margin: 0 0 20px;
}

span.post_h2_list_subtitle{
font-size: 10px;
}

h2.post_h2_list{
    font-size: 16px;
    border-left: solid 4px #2d85ed;
    padding: 0 0 0 8px;
    margin: 0 0 10px;
}

ul.post_list{
padding: 0 10px;
margin: 0 0 20px;
}

ul.post_list li{
margin: 0 0 10px;
}

ul.post_list a{
}

ul.post_list a:before{
    margin: 0 4px 0 0;
}


}
