@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');


/* ----------------------------
reset
------------------------------- */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
form,
fieldset,
legend,
pre,
blockquote {
    margin: 0px;
    padding: 0px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
    text-rendering: optimizeSpeed;
}

ul,
li {
    list-style: none;
}

img {
    margin: 0px;
    padding: 0px;
    border: 0px;
    vertical-align: top;
}

html {
    font-size: 62.5%;
}

body {
    font-family: "Noto Sans JP", "Helvetica Neue",
        Arial,
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        "Meiryo",
        sans-serif;
    font-size: 1.8rem;
    color: #000000;
    -webkit-text-size-adjust: 100%;
    background-color: #ffffff;
    text-align: left;
}

a img {
    margin: 0;
    padding: 0;
    border-style: none;
}

a,
a:link {
    text-decoration: none;
}


/* 共通 */

.banner_pc {
    display: block;
}

.banner_sp {
    display: none;
}

.pcbr {
    display: inline;
}

.spbr {
    display: none;
}

#wrapper {
    width: 100%;
    margin: 0 auto;
}

header {
    background-color: #ffffff;
    display: flex;
    padding: 10px 0 10px 2vw;
    box-sizing: border-box;
    align-items: flex-end;
}

header img {
    width: 100%;
}

.header_logo {
    width: 25%;
}

.header_text {
    width: 57%;
    padding-left: 8vw;
}

.header2 {
    background-color: #ffffff;
    display: flex;
    justify-content: space-between;
    padding: 10px 50px 100px;
    box-sizing: border-box;
    align-items: flex-end;
    width: 100%;
    margin: auto;
}

.header2_logo {
    width: 15%;
}

.header2_num img {
    width: 100%;
}

.header2_num {
    width: 27%;
    padding-left: 8vw;
}

.header2_num img {
    width: 100%;
}


/* MAIN */
.contents_main {
    background-image: url(../images/lp_main_pc.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: calc(1000 / 1920 * 100vw);
    position: relative;
}

.main_text_top img {
    margin: auto;
    width: 65.625%;
    height: 100%;
    object-fit: contain;
}

.main_text_under {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 93.75%;
}

.main_text_under img {
    width: 100%;
    margin: auto;
    height: auto;
    object-fit: contain;
}

.main_text_under_note {
    color: #333333;
    font-size: 0.9vw;
    position: absolute;
    bottom: 11%;
    right: 17%;
}


/* merit_cat */
.merit_cat_inner {
    width: 1240px;
    margin: auto;
    padding: 100px 0;
}

.merit_cat_inner img {
    width: 100%;
}

.blu_div {
    background-color: #0a3a7e;
    color: #ffffff;
    height: 320px;
    display: grid;
    place-items: center;
    position: relative;
}

.blu_div::after {
    z-index: 5;
    content: "";
    position: absolute;
    right: 0;
    bottom: -49px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #0a3a7e transparent transparent transparent;
    border-width: 50px 50px 0 50px;
}

.five_merit_title {
    text-align: center;
    margin: auto;
    font-size: 2.2em;
}

.title_1 {
    line-height: 1.8;
}

.five_merit_title h4 {
    letter-spacing: 0.1em;
}

.co_ye {
    color: #fffb74;
}

.f_1 {
    font-size: 1.2em;
}

.f_2 {
    font-size: 1.3em;
}

.f_large {
    font-size: 2em;
    line-height: 0.9;
}

/* point5_cat */
.point5_cat {
    background-color: #fefada;
    position: relative;
}

.point5_cat_inner {
    width: 1000px;
    margin: auto;
}

.point_01-03 {
    display: flex;
    justify-content: space-between;
    padding: 90px 0 30px;
}

.point_04-05 {
    display: flex;
    justify-content: center;
    gap: 0 60px;
    padding-bottom: 100px;
}

/* case_cat */
.case_cat {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-image: url(../images/case_back_pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    padding: 100px 0;
}

.case_cat_inner {
    width: 1000px;
    margin: auto;
}

.case_cat_inner img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 80%;
}

.swiper {
    /*スライダーの幅と高さを調整*/
    width: 100%;
    height: 1100px;
}

.swiper-slide {
    /*スライド要素の幅と高さを調整*/
    width: 100%;
    height: 100%;
}

.swiper-button-prev:after,
.swiper-button-next:after {
    content: "";
    /*contentを空にする*/
}

.swiper-button-prev,
.swiper-button-next {
    width: 80px;
    height: 80px;
}

.swiper-button-prev::after {
    background-image: url('../images/swiper_btn_01.png');
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    width: 60px;
    /* 画像のサイズに合わせる */
    height: 60px;
    margin: auto;
    padding-left: 48px;
}

.swiper-button-next::after {
    background-image: url('../images/swiper_btn_02.png');
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    margin: auto;
    padding-right: 48px;
}

.blu_div2 {
    background-color: #0a3a7e;
    color: #ffffff;
    height: 270px;
    display: grid;
    place-items: center;
    position: relative;
}

.blu_div2::after {
    z-index: 5;
    content: "";
    position: absolute;
    right: 0;
    bottom: -49px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #0a3a7e transparent transparent transparent;
    border-width: 50px 50px 0 50px;
}

.consult_title {
    text-align: center;
    font-size: 2.45em;
    line-height: 1.8;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    gap: 0 20px;
    margin-left: -210px;
}

.strength_title {
    text-align: center;
    font-size: 2.45em;
    line-height: 1.8;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    gap: 0 20px;
}

.qa_title {
    text-align: center;
    font-size: 2.45em;
    line-height: 1.8;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    gap: 0 20px;
}

/* consult_cat */
.consult_cat {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    height: 655px;
    background-image: url(../images/consult_back_pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.consult_cat_inner {
    width: 1000px;
    margin: auto;
    font-family: 'Noto Sans JP';
    color: #333;
    font-size: 1.3em;
    text-align: center;
}

.step_area {
    width: 1000px;
    display: flex;
    justify-content: space-between;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.step_box {
    position: relative;
}

.step_box p {
    width: 100%;
    position: absolute;
    top: 29%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    line-height: 1.6;
}

.arrow_x1 {
    position: absolute;
    top: 49%;
    left: 85%;
    z-index: 5;
}

.arrow_x2 {
    position: absolute;
    top: 49%;
    left: 92%;
    z-index: 5;
}

/* tel_free_cat */

.tel_free_cat {
    width: 100%;
    background-color: #fefada;
}

.tel_free_cat_inner {
    width: 1000px;
    height: 491px;
    margin: auto;
    position: relative;
}

.tel_free {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    margin-left: -60px;
}

.tel_num {
    position: absolute;
    top: 72%;
    left: 20%;
}

/* trouble_cat */
.trouble_cat {
    background-color: #444444;
    padding: 50px 0;
    text-align: center;
}

.trouble_cat_inner {
    width: 1000px;
    margin: auto;
}

.trouble_area {
    display: flex;
    justify-content: space-between;
    padding: 70px 0 0;
}

.trouble_box {
    position: relative;
}

.trouble_title {
    width: 1000px;
    margin: auto;
}

.trouble_title1 {
    position: absolute;
    top: 38%;
    left: 11%;
    text-align: center;
    color: #fffb74;
    font-size: 1.3em;
    font-weight: bold;
    line-height: 1.6;
}

.trouble_title2 {
    position: absolute;
    top: 36%;
    left: 10%;
    text-align: center;
    color: #fffb74;
    font-size: 1.2em;
    font-weight: bold;
    line-height: 1.6;
}

.trouble_title3 {
    position: absolute;
    top: 38%;
    left: 10%;
    text-align: center;
    color: #fffb74;
    font-size: 1.3em;
    font-weight: bold;
    line-height: 1.6;
}

.trouble_text {
    position: absolute;
    top: 48%;
    left: 3%;
    text-align: left;
    color: #fff;
    font-size: 0.9em;
    line-height: 1.6;
    padding: 0 13px 0 10px;
}

.trouble_text1 {
    position: absolute;
    top: 48%;
    left: 3%;
    text-align: left;
    color: #fff;
    font-size: 0.9em;
    line-height: 1.6;
    padding: 0 13px 0 10px;
}

.trouble_under {
    width: 100%;
    margin: -1px auto 0;
}

.trouble_result_back {
    background-color: #eef7f9;
}

/* result_cat */
.result_cat {
    background-color: #eef7f9;
    padding: 80px 0 100px;
}

.result_cat_inner {
    width: 1000px;
    margin: auto;
}

.result_table {
    padding-top: 60px;
}

/* proposal_cat */
.proposal_cat {
    background-color: #ffffff;
    padding: 100px 0;
}

.proposal_cat_inner {
    width: 1000px;
    margin: auto;
}

.proposal_text {
    text-align: center;
    padding: 30px 0 0;
    color: #333333;
    font-size: 1.7em;
    line-height: 1.6;
}

.proposal_text_top span {
    color: #0a3a7e;
    font-weight: bold;
}

.proposal_text_under {
    padding-top: 50px;
}

.proposal_text_under span {
    color: #b81c24;
    font-weight: bold;
    font-size: 1.6em;
}

/* strength_cat */
.strength_cat {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-image: url(../images/strength_back_pc_01.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.strength_cat_inner {
    width: 1000px;
    margin: auto;
    font-family: 'Noto Sans JP';
    color: #333;
    font-size: 1.3em;
    text-align: center;
    padding-top: 100px;
}

.strength_box_01 {
    position: relative;
}

.s_box_01_text {
    position: absolute;
    top: 42%;
    left: 58%;
    color: #fff;
    text-align: center;
    line-height: 2.2;
    font-size: 1.4em;
}

.strength_box_02 {
    position: relative;
}

.s_box_02_text {
    position: absolute;
    top: 30%;
    left: 8%;
    color: #fff;
    text-align: center;
    line-height: 2.2;
    font-size: 1.4em;
}

/* strength_cat1 */
.strength_cat1 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-image: url(../images/strength_back_pc_02.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.strength_cat1_inner {
    width: 1000px;
    margin: auto;
    font-family: 'Noto Sans JP';
    color: #333;
    font-size: 1.3em;
    text-align: center;
    padding: 0 0 120px;
}

.strength_box_03 {
    position: relative;
}

.s_box_03_text {
    position: absolute;
    top: 45%;
    left: 52%;
    color: #fff;
    text-align: center;
    line-height: 1.8;
    font-size: 1.4em;
}

.strength_box_04 {
    position: relative;
}

.s_box_04_text {
    position: absolute;
    top: 28%;
    left: 8%;
    color: #fff;
    text-align: center;
    line-height: 1.8;
    font-size: 1.4em;
}

/* qa_cat */

.qa_cat {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-image: url(../images/qa_back_pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.qa_cat_inner {
    width: 1000px;
    margin: auto;
    padding: 40px 0 60px;
    color: #333333;
}

.qa_area {
    padding: 40px 80px 60px;
    font-family: 'Noto Sans JP';
}

/* 必須 */
.accordion-content {
    display: none;
}

.accordion-header {
    background-color: #FFF;
    padding: 25px 45px 25px 20px;
    margin: 30px 0 0;
    transition: background .3s ease;
    cursor: pointer;
    position: relative;
}

.accordion-header::before,
.accordion-header::after {
    position: absolute;
    content: '';
    top: 1px;
    right: 20px;
    bottom: 0;
    width: 22px;
    height: 4px;
    margin: auto;
    background: #0a3a7e;
}

.accordion-header::after {
    transform: rotate(-90deg);
    transition: transform 0.3s;
}

.accordion-header.active::after {
    transform: rotate(0deg);
}

.accordion-header p {
    position: absolute;
    top: 26%;
    left: 5.5%;
    margin-left: -30px;
    font-size: 20px;
    background-color: #0a3a7e;
    color: #ffffff;
    border-radius: 50%;
    width: 33px;
    height: 33px;
    text-align: center;
}

.accordion-content {
    background-color: #eef7f9;
    padding: 40px 20px 40px 70px;
    position: relative;
    border-radius: 0 0 10px 10px;
    margin-top: -10px;
}

.accordion-header span {
    padding-left: 50px;
    position: relative;
    color: #0a3a7e;
    font-weight: bold;
    font-size: 1.1em;
}

.accordion-content p {
    position: absolute;
    top: 24%;
    left: 5.5%;
    margin-left: -30px;
    font-size: 20px;
    background-color: #fe5e04;
    color: #ffffff;
    border-radius: 50%;
    width: 33px;
    height: 33px;
    text-align: center;
}

.accordion-content span {
    position: relative;
    color: #333333;
    font-size: 1em;
}

.accordion-header {
    background-color: #ffffff;
    border-radius: 10px;
    z-index: 10;
}

/* message_cat */
.message_cat {
    background-color: #fefada;
}

.message_cat_inner {
    width: 1000px;
    margin: auto;
    padding: 30px 0 0;
}

.message_area {
    position: relative;
    color: #333333;
    font-size: 1.3em;
    line-height: 1.8;
}


.message_cat_text {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 30%;
}

.message_cat_text1 {
    text-align: center;
    position: absolute;
    top: 88%;
    left: 20%;
}

.message_form_back {
    background-image: url(../images/form_back_pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
}

.message_under {
    width: 100%;
}

/* form_cat */
.form_cat {
    background-image: url(../images/form_back_pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: -74px;
    padding: 0 0 100px;
    color: #333333;
}

.form_cat1 {
    background-color: #f3f4efe6;
    padding: 0 0 100px 0;
    color: #333333;
}

.form_cat1_title {
    width: 100%;
    text-align: center;
    color: #ffffff;
    position: relative;
    letter-spacing: 0.2em;
}

.form_cat1_title img {
    width: 100%;
}

.title_name {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.line_ye {
    height: 1px;
    background-color: #fffb74;
    border: none;
}

.form_cat1_title h2 {
    font-size: 3em;
}

.form_cat1_title h3 {
    font-size: 1.4em;
}

.form_cat_inner {
    position: relative;
    font-family: 'Noto Sans JP';
    width: 1000px;
    margin: auto;
    text-align: center;
    padding-top: 50px;
}

.form_tel {
    padding: 160px 0 50px;
    position: relative;
}

.form_tel h4 {
    position: absolute;
    top: 30%;
    left: 6%;
    color: #fffb74;
    font-size: 2.2em;
}

.form_tel p {
    position: absolute;
    top: 45%;
    left: 12%;
    color: #fff;
    font-size: 1.3em;
    line-height: 1.8;
}

.tel_num_wh {
    position: absolute;
    top: 75%;
    left: 24%;
}

.contact-form {
    max-width: 1000px;
    margin: 0 auto;
    padding: 50px;
    background: #ffffff;
    border-radius: 20px;
}

.form_title {
    text-align: center;
    font-size: 1.8em;
    color: #333333;
    text-underline-offset: 15px;
    text-decoration-line: underline;
    text-decoration-thickness: 2px;
    padding-bottom: 40px;
}

.form-row {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.form-row-bottom {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
}

.form-row label {
    flex-basis: 15%;
    min-width: 110px;
    margin-right: 8px;
    text-align: left;
    font-size: 0.8em;
    font-weight: bold;
}

.form-row-bottom label {
    flex-basis: 15%;
    min-width: 110px;
    margin-right: 8px;
    text-align: left;
    font-size: 0.8em;
    font-weight: bold;
}

.form-row input {
    flex-basis: 85%;
    padding: 6px;
    border: 1px solid #e0e4e7;
    background-color: #f1f5f7;
    font-size: 1em;
    border-radius: unset;
}

.form-row-bottom textarea {
    flex-basis: 85%;
    padding: 6px;
    border: 1px solid #e0e4e7;
    background-color: #f1f5f7;
    font-size: 1em;
    border-radius: unset;
    height: 160px;
    resize: vertical;
}

.form_required {
    background-color: #fffb74;
    font-size: 0.7em;
    padding: 0 5px 1px;
    margin-left: 5px;
}

.message {
    align-items: flex-start;
}

.form_btn {
    padding-top: 20px;
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.form_btn:hover {
    transform: scale(1.05);
}

.send_btn {
    border: none;
    background: none;
    padding: 0;
}

.qr_area {
    color: #fff;
    display: flex;
    justify-content: space-between;
}

.line_text {
    padding-top: 1.5vw;
}

.qr {
    padding-top: 1.5vw;
}

.fix_btn {
    width: 100%;
    background-color: #eef7f9;
    z-index: 10;
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    padding: 20px 0;
}

.form_btn_pc {
    width: 1000px;
    margin: auto;
}

.form_btn2 {
    width: 1000px;
    margin: auto;
    display: flex;
    justify-content: center;
    padding-left: 15px;
}

/* .form_btn2 a {
	animation: move_d 2s infinite;
	position: relative;
}

@keyframes move_d {
    0% {top: 0px;}
    10% {top: 5px;}
    20% {top: 0px;}
    30% {top: 5px;}
    40% {top: 0px;}
} */

.form_btn_pc a:hover {
    opacity: 0.7;
}

.form_btn2 a:hover {
    opacity: 0.7;
}

/* company_cat */

.company_title {
    width: 100%;
    text-align: center;
    color: #ffffff;
    position: relative;
    letter-spacing: 0.2em;
}

.company_title img {
    width: 100%;
}

.company_title h2 {
    font-size: 3em;
}

.company_title h3 {
    font-size: 1.4em;
}

.company_inner {
    width: 1100px;
    padding: 80px 0;
    margin: 0 auto;
}

.company-info {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.company-info th,
.company-info td {
    border: 1px solid #ccc;
    padding: 10px;
}

.company-info th {
    background-color: #313131;
    color: #ffffff;
    font-weight: bold;
    width: 30%;
    text-align: center;
}

/* thanks_cat */

.thanks_inner {
    width: 1100px;
    padding: 60px 0;
    margin: 0 auto;
    text-align: center;
}

.thanks_box {
    background-color: rgb(243, 244, 239, 0.9);
    padding: 60px;
}

.thanks_title h2 {
    font-size: 2.4em;
    letter-spacing: 0.01em;
    color: #0a3a7e;
}

.thanks_text p {
    color: #333333;
    text-align: left;
}

.thanks_text span {
    line-height: 1.2;
}

.thanks_text p {
    line-height: 1.8;
    padding-top: 30px;
}

.thanks_text span {
    font-weight: bold;
}


.thanks_bt {
    padding-top: 30px;
}

.thanks_bt a {
    padding: 10px 150px 12px;
    background-color: #182649;
    display: inline-block;
    border-radius: 20px;
    color: #fff;
    font-size: 1.2em;
}

.thanks_bt a:hover {
    opacity: 0.7;
}


/* privacy_cat */

.privacy_inner {
    width: 1100px;
    padding: 80px 0;
    margin: 0 auto;
    text-align: left;
}

.privacy_title {
    width: 100%;
    text-align: center;
    color: #ffffff;
    position: relative;
    letter-spacing: 0.2em;
}

.privacy_title img {
    width: 100%;
}

.title_name {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.line_ye {
    height: 1px;
    background-color: #fffb74;
    border: none;
}

.privacy_title h2 {
    font-size: 3em;
}

.privacy_title h3 {
    font-size: 1.4em;
}

.privacy_text {
    font-size: 0.9em;
}

.p_l {
    font-size: 1.3em;
    font-weight: bold;
}

/* mail_form_cat */

.mail_form_img {
    width: 100%;
}

.mail_form_img img {
    width: 100%;
}

.mail_note {
    font-family: 'Noto Sans JP';
    padding: 0.8vw 8vw 0 0;
}

.mail_form_cat {
    padding: 0 0 30px;
    font-family: 'Noto Sans JP';
    font-weight: normal;
    background-color: #fff;
}

.mail_form_inner {
    width: 100%;
    margin: auto;
}

.container {
    width: 1000px;
    max-width: 750px;
    margin: 30px auto;
    padding: 2rem;
    color: #333;
    line-height: 1;
}

.container span {
    color: #ff0000;
}

.form-group {
    display: flex;
}

.name-fields {
    display: flex;
    justify-content: space-between;
    padding-bottom: 20px;
}

.mail-fields {
    display: flex;
    justify-content: space-between;
}

.name_title {
    width: 30%;
    margin: 12px 0;
}

.name_input {
    width: 70%;
    display: flex;
}

.mail_title {
    width: 30%;
    margin: 12px 0;
}

.mail_input {
    width: 70%;
    padding-left: 55px;
}

.form_text {
    padding: 0;
    line-height: 1.6;
}

.form_text h3 {
    text-align: center;
    font-weight: normal;
    font-size: 1.8em;
    padding: 30px 0 20px;
    color: #333;
}

.form_text p {
    text-align: center;
    font-weight: normal;
    color: #333;
    font-size: 1em;
    padding-top: 30px;
}

.form-group {
    margin-bottom: 1rem;
}

.email {
    display: flex;
}

label {
    display: block;
    margin: 12px;
}

input {
    width: 100%;
    padding: 0.5em 1em;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1em;
    box-sizing: border-box;
}

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

.submit-btn {
    display: inline-block;
    background-color: #182649;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    margin-top: 50px;
    width: 30%;
}

.submit-btn:hover {
    background-color: #3d5184;
}


/* footer */
footer {
    background-color: #ffffff;
    padding: 25px 0;
    text-align: left;
    width: 100%;
    line-height: 1.3;
    color: #0a3a7e;
}

.footer_inner {
    width: 1000px;
    margin: 20px auto 5px;
}

.f_navi {
    margin: 0px 0;
    font-size: 1.1em;
    text-align: center;
    padding-bottom: 50px;
}

.f_navi2 {
    font-size: 1.5rem;
    text-align: center;
}


.copy {
    text-align: center;
    font-size: 1.3rem;
    margin: 40px 0 0;
}

footer a,
footer a:link,
footer a:visited {
    color: #0a3a7e;
    font-weight: bold;
    text-decoration: none;
}

footer a:hover,
footer a:active {
    color: #333;
    text-decoration: none;
}

/* PC（例：画面幅769px以上）では折り返し */
label {
    white-space: normal;
}

/* スマホ（例：画面幅600px以下）では折り返さない */
@media screen and (max-width: 600px) {
    label {
        white-space: nowrap;
    }
}


/*調整用（1241px～1300px）環境の設定
---------------------------------------------------------------------------*/
@media (min-width:1241px) and (max-width:1300px) {

    /* merit_cat */
    .merit_cat_inner {
        width: 94%;
        margin: auto;
        padding: 100px 0;
    }

    .merit_cat_inner img {
        width: 100%;
    }
}

/*ここからタブレット用（600px～1240px）環境の設定
---------------------------------------------------------------------------*/
@media (min-width:600px) and (max-width:1240px) {
    body {
        font-size: 1.6rem;
        line-height: 1.7;
        background-image: none;
    }

    /* 共通 */
    #wrapper {
        width: 100%;
        margin: 0 auto;
    }

    .banner_pc {
        display: none;
    }

    .banner_sp {
        display: block;
    }

    .pcbr {
        display: none;
    }

    .spbr {
        display: inline;
    }

    header {
        background-color: #ffffff;
        display: flex;
        padding: 20px 0 20px 2vw;
        box-sizing: border-box;
        align-items: flex-end;
    }

    header img {
        width: 100%;
    }

    .header_logo {
        width: 30%;
    }

    .header_text {
        width: 65%;
        padding-left: 4vw;
    }

    .header2 {
        background-color: #ffffff;
        display: flex;
        justify-content: space-between;
        padding: 10px 0 60px;
        box-sizing: border-box;
        align-items: flex-end;
        width: 90%;
        margin: auto;
    }

    .header2_logo {
        width: 45%;
    }

    .header2_num img {
        width: 100%;
    }

    .header2_num {
        width: 57%;
        padding-left: 8vw;
    }

    .header2_num img {
        width: 100%;
    }

    /* MAIN */
    .contents_main {
        background-image: url(../images/lp_main_sp.jpg);
        background-repeat: no-repeat;
        background-position: bottom;
        background-size: cover;
        height: calc(1420 / 800 * 100vw);
        position: relative;
    }

    .main_text_under {
        width: 100%;
    }

    .main_text_under_note {
        color: #333333;
        font-size: 1.8vw;
        position: absolute;
        top: 0;
        right: 35%;
    }

    .main_sp {
        position: relative;
    }

    .contents_main img {
        width: 100%;
    }

    /* merit_cat */
    .merit_cat_inner {
        width: 94%;
        margin: auto;
        padding: 50px 0;
    }

    .merit_cat_inner img {
        width: 100%;
    }

    .blu_div {
        background-color: #0a3a7e;
        color: #ffffff;
        height: 30vw;
        display: grid;
        place-items: center;
        position: relative;
    }

    .blu_div::after {
        z-index: 5;
        content: "";
        position: absolute;
        right: 0;
        bottom: -39px;
        left: 0;
        width: 0px;
        height: 0px;
        margin: auto;
        border-style: solid;
        border-color: #0a3a7e transparent transparent transparent;
        border-width: 40px 40px 0 40px;
    }

    .five_merit_title {
        text-align: center;
        margin: auto;
        font-size: 3.6vw;
    }

    .title_1 {
        line-height: 1.8;
    }

    .five_merit_title h4 {
        letter-spacing: 0.1em;
    }

    .co_ye {
        color: #fffb74;
    }

    .f_1 {
        font-size: 1.2em;
    }

    .f_2 {
        font-size: 1.3em;
    }

    .f_large {
        font-size: 2em;
    }

    /* point5_cat */
    .point5_cat {
        background-color: #fefada;
        position: relative;
    }

    .point5_cat_inner {
        width: 100%;
        margin: auto;
    }

    .point_01-03 {
        display: block;
        padding: 80px 0 0;
        width: 50%;
        margin: auto;
    }

    .point_01-03 img {
        width: 100%;
        padding: 10px 0;
    }

    .point_04-05 {
        display: block;
        width: 50%;
        margin: auto;
        padding-bottom: 50px;
    }

    .point_04-05 img {
        width: 100%;
        padding: 10px 0;
    }

    /* case_cat */
    .case_cat {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        background-image: url(../images/back_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
        padding: 50px 0;
    }

    .case_cat_inner {
        width: 90%;
        margin: auto;
    }

    .case_cat_inner img {
        width: 80%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }

    .swiper {
        /*スライダーの幅と高さを調整*/
        width: 100%;
        height: 100vw;
        overflow: visible;
    }

    .swiper-slide {
        /*スライド要素の幅と高さを調整*/
        width: 100%;
        height: 100%;
    }

    .swiper-button-prev:after,
    .swiper-button-next:after {
        content: "";
        /*contentを空にする*/
    }

    .swiper-button-prev,
    .swiper-button-next {
        width: 80px;
        height: 80px;
    }

    .swiper-button-prev::after {
        background-image: url('../images/swiper_btn_01.png');
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        display: block;
        width: 50px;
        height: 50px;
        margin: auto;
        padding-left: 40px;
    }

    .swiper-button-next::after {
        background-image: url('../images/swiper_btn_02.png');
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        display: block;
        width: 50px;
        height: 50px;
        margin: auto;
        padding-right: 40px;
    }


    .blu_div2 {
        background-color: #0a3a7e;
        color: #ffffff;
        height: 20vw;
        display: grid;
        place-items: center;
        position: relative;
    }

    .blu_div2::after {
        z-index: 5;
        content: "";
        position: absolute;
        right: 0;
        bottom: -39px;
        left: 0;
        width: 0px;
        height: 0px;
        margin: auto;
        border-style: solid;
        border-color: #0a3a7e transparent transparent transparent;
        border-width: 40px 40px 0 40px;
    }

    .consult_title {
        text-align: center;
        font-size: 3.4vw;
        line-height: 1.8;
        letter-spacing: 0.1em;
        display: flex;
        align-items: center;
        gap: 0 20px;
        margin-left: 10px;
    }

    .consult_title img {
        width: 15%;
    }

    .strength_title {
        text-align: center;
        font-size: 3.4vw;
        line-height: 1.2;
        letter-spacing: 0.1em;
        display: flex;
        align-items: center;
        gap: 0 20px;
    }

    .qa_title {
        text-align: center;
        font-size: 3.4vw;
        line-height: 1.8;
        letter-spacing: 0.1em;
        display: flex;
        align-items: center;
        gap: 0 20px;
    }

    /* consult_cat */
    .consult_cat {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        height: 220vw;
        background-image: url(../images/back_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
    }

    .consult_cat_inner {
        width: 90%;
        margin: auto;
        font-family: 'Noto Sans JP';
        color: #333;
        font-size: 3.6vw;
        text-align: center;
    }

    .step_area {
        width: 100%;
        display: block;
        justify-content: space-between;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }

    .step_box {
        position: relative;
    }

    .step {
        width: 50%;
        padding-bottom: 30px;
    }

    .step_box p {
        width: 100%;
        position: absolute;
        top: 29%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        line-height: 1.6;
    }

    .arrow_x1 {
        position: absolute;
        top: 88%;
        left: 45%;
        z-index: 5;
    }

    .arrow_x2 {
        position: absolute;
        top: 88%;
        left: 45%;
        z-index: 5;
    }

    /* tel_free_cat */

    .tel_free_cat {
        width: 100%;
        background-color: #fefada;
    }

    .tel_free_cat_inner {
        width: 100%;
        margin: auto;
        height: 45vw;
        position: relative;
    }

    .tel_free {
        width: 95%;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        margin-left: 0;
    }

    .tel_num {
        position: absolute;
        top: 73%;
        left: 28%;
    }

    .tel_num img {
        width: 80%;
    }

    /* trouble_cat */
    .trouble_cat {
        background-color: #444444;
        padding: 30px 0;
    }

    .trouble_cat_inner {
        width: 50%;
        margin: auto;
    }

    .trouble_area {
        display: block;
        padding: 30px 0 0;
    }

    .trouble_box {
        position: relative;
        padding-bottom: 20px;
    }

    .trouble_box img {
        width: 100%;
    }

    .trouble_title {
        width: 90%;
    }

    .trouble_title1 {
        position: absolute;
        top: 40%;
        left: 12%;
        text-align: center;
        color: #fffb74;
        font-size: 3.6vw;
        font-weight: bold;
        line-height: 1.6;
    }

    .trouble_title2 {
        position: absolute;
        top: 37%;
        left: 9%;
        text-align: center;
        color: #fffb74;
        font-size: 3.5vw;
        font-weight: bold;
        line-height: 1.6;
    }

    .trouble_title3 {
        position: absolute;
        top: 37%;
        left: 9%;
        text-align: center;
        color: #fffb74;
        font-size: 3.6vw;
        font-weight: bold;
        line-height: 1.6;
    }

    .trouble_text {
        position: absolute;
        top: 46%;
        left: 2%;
        text-align: left;
        color: #fff;
        font-size: 2.4vw;
        line-height: 1.8;
        padding: 0 20px;
    }

    .trouble_text1 {
        position: absolute;
        top: 49%;
        left: 2%;
        text-align: left;
        color: #fff;
        font-size: 2.4vw;
        line-height: 1.8;
        padding: 0 20px;
    }

    .trouble_under {
        width: 100%;
        margin: -1px auto 0;
    }

    .trouble_result_back {
        background-color: #eef7f9;
    }

    /* result_cat */
    .result_cat {
        background-color: #eef7f9;
        padding: 50px 0 70px;
    }

    .result_cat_inner {
        width: 90%;
        margin: auto;
    }

    .result_title {
        width: 100%;
    }

    .result_table {
        padding-top: 40px;
        overflow-x: scroll;
    }

    .js-table-scroll-hint .scroll-hint-icon {
        left: calc(50% - 100px);
        width: 200px;
    }

    /* proposal_cat */
    .proposal_cat {
        background-color: #ffffff;
        padding: 50px 0;
    }

    .proposal_cat_inner {
        width: 90%;
        margin: auto;
    }

    .proposal_cat_inner img {
        width: 100%;
    }

    .proposal_text {
        text-align: center;
        padding: 30px 0 0;
        color: #333333;
        font-size: 3.6vw;
        line-height: 1.6;
    }

    .proposal_text_top span {
        color: #0a3a7e;
        font-weight: bold;
    }

    .proposal_text_under {
        padding-top: 30px;
    }

    .proposal_text_under span {
        color: #b81c24;
        font-weight: bold;
        font-size: 1.6em;
    }

    /* strength_cat */
    .strength_cat {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        background-image: url(../images/back_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
    }

    .strength_cat_inner {
        width: 94%;
        margin: auto;
        font-family: 'Noto Sans JP';
        color: #333;
        font-size: 3.6vw;
        text-align: center;
        padding-top: 80px;
    }

    .strength_cat_inner img {
        width: 100%;
    }

    .strength_box_01 {
        position: relative;
    }

    .s_box_01_text {
        position: absolute;
        top: 42%;
        left: 58%;
        color: #fff;
        text-align: center;
        line-height: 2;
        font-size: 3.4vw;
    }

    .strength_box_02 {
        position: relative;
    }

    .s_box_02_text {
        position: absolute;
        top: 30%;
        left: 8%;
        color: #fff;
        text-align: center;
        line-height: 2;
        font-size: 3.4vw;
    }

    /* strength_cat1 */
    .strength_cat1 {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        background-image: url(../images/back_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
    }

    .strength_cat1_inner {
        width: 94%;
        margin: auto;
        font-family: 'Noto Sans JP';
        color: #333;
        font-size: 3.6vw;
        text-align: center;
        padding: 0 0 80px;
    }

    .strength_cat1_inner img {
        width: 100%;
    }

    .strength_box_03 {
        position: relative;
    }

    .s_box_03_text {
        position: absolute;
        top: 45%;
        left: 52%;
        color: #fff;
        text-align: center;
        line-height: 1.8;
        font-size: 3.3vw;
    }

    .strength_box_04 {
        position: relative;
    }

    .s_box_04_text {
        position: absolute;
        top: 25%;
        left: 8%;
        color: #fff;
        text-align: center;
        line-height: 1.8;
        font-size: 3.4vw;
    }

    /* qa_cat */

    .qa_cat {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        background-image: url(../images/back_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
    }

    .qa_cat_inner {
        width: 94%;
        margin: auto;
        padding: 40px 0 100px;
        color: #333333;
    }

    .qa_area {
        padding: 0;
        font-family: 'Noto Sans JP';
    }

    /* 必須 */
    .accordion-content {
        display: none;
    }

    .accordion-header {
        background-color: #FFF;
        padding: 2vw 3vw;
        margin: 30px 0 0;
        transition: background .3s ease;
        cursor: pointer;
        position: relative;
    }

    .accordion-header::before,
    .accordion-header::after {
        position: absolute;
        content: '';
        top: 1px;
        right: 20px;
        bottom: 0;
        width: 22px;
        height: 4px;
        margin: auto;
        background: #0a3a7e;
    }

    .accordion-header::after {
        transform: rotate(-90deg);
        transition: transform 0.3s;
    }

    .accordion-header.active::after {
        transform: rotate(0deg);
    }

    .accordion-header p {
        position: absolute;
        top: 28%;
        left: 8%;
        margin-left: -5vw;
        font-size: 20px;
        background-color: #0a3a7e;
        color: #ffffff;
        border-radius: 50%;
        width: 33px;
        height: 33px;
        text-align: center;
        line-height: 29px;
        display: inline-block;
    }

    .accordion-content {
        background-color: #eef7f9;
        padding: 6vw 3vw 6vw 11vw;
        position: relative;
        border-radius: 0 0 10px 10px;
        margin-top: -10px;
    }

    .accordion-header span {
        padding-left: 50px;
        position: relative;
        color: #0a3a7e;
        font-weight: bold;
        font-size: 2.7vw;
    }

    .accordion-content p {
        position: absolute;
        top: 21%;
        left: 5.5%;
        margin-left: -2vw;
        font-size: 20px;
        background-color: #fe5e04;
        color: #ffffff;
        border-radius: 50%;
        width: 33px;
        height: 33px;
        text-align: center;
        line-height: 29px;
        display: inline-block;
    }

    .accordion-content span {
        position: relative;
        color: #333333;
        font-size: 2.2vw;
    }

    .accordion-header {
        background-color: #ffffff;
        border-radius: 10px;
        z-index: 10;
    }

    /* message_cat */
    .message_cat {
        background-color: #fefada;
    }

    .message_cat_inner {
        width: 94%;
        margin: auto;
        padding: 30px 0;
    }

    .message_cat_inner img {
        width: 100%;
    }

    .message_area {
        position: relative;
        color: #333333;
        font-size: 2.5vw;
        line-height: 1.6;
    }

    .message_cat_text {
        text-align: center;
        position: absolute;
        top: 50%;
        left: 30%;
    }

    .message_cat_text1 {
        text-align: center;
        position: absolute;
        top: 86%;
        left: 23%;
    }

    .message_form_back {
        background-image: url(../images/form_back_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: top;
    }

    .message_under {
        width: 100%;
    }

    /* form_cat */
    .form_cat {
        background-image: url(../images/form_back_pc.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        margin-top: -3vw;
        padding: 0 0 100px;
        color: #333333;
    }

    .form_cat1 {
        padding: 0 0 50px 0;
    }

    .form_cat1 img {
        width: 100%;
    }

    .form_cat1_title h2 {
        font-size: 3.6vw;
    }

    .form_cat1_title h3 {
        font-size: 1.6vw;
    }

    .form_cat_inner {
        position: relative;
        font-family: 'Noto Sans JP';
        width: 94%;
        margin: auto;
        text-align: center;
    }

    .form_tel {
        padding: 80px 0 50px;
        position: relative;
    }

    .form_tel img {
        width: 100%;
    }

    .form_tel h4 {
        position: absolute;
        top: 11%;
        left: 4%;
        color: #fffb74;
        font-size: 4vw;
    }

    .form_tel p {
        position: absolute;
        top: 29%;
        left: 18%;
        color: #fff;
        font-size: 2.8vw;
        line-height: 1.4;
    }

    .tel_num_wh {
        position: absolute;
        top: 70%;
        left: 26%;
        width: 50%;
    }

    .tel_num_wh img {
        width: 100%;
    }

    .contact-form {
        max-width: 100%;
        margin: 0 auto;
        padding: 3vw;
        background: #ffffff;
        border-radius: 20px;
    }

    .form_title {
        text-align: center;
        font-size: 3.6vw;
        color: #333333;
        text-underline-offset: 15px;
        text-decoration-line: underline;
        text-decoration-thickness: 2px;
        padding-bottom: 5vw;
    }

    .form-row {
        display: flex;
        align-items: center;
        margin-bottom: 15px;
    }

    .form-row-bottom {
        display: flex;
        align-items: flex-start;
        margin-bottom: 15px;
    }

    .form-row label {
        flex-basis: 20%;
        min-width: 110px;
        margin-right: 8px;
        text-align: left;
        font-size: 1em;
        font-weight: bold;
    }

    .form-row-bottom label {
        flex-basis: 20%;
        min-width: 110px;
        margin-right: 8px;
        text-align: left;
        font-size: 1em;
        font-weight: bold;
    }

    .form-row input {
        flex-basis: 85%;
        padding: 6px;
        border: 1px solid #e0e4e7;
        background-color: #f1f5f7;
        font-size: 1em;
        border-radius: unset;
    }

    .form-row-bottom textarea {
        flex-basis: 85%;
        padding: 6px;
        border: 1px solid #e0e4e7;
        background-color: #f1f5f7;
        font-size: 1em;
        border-radius: unset;
        height: 160px;
        resize: vertical;
    }

    .form_required {
        background-color: #fffb74;
        font-size: 0.7em;
        padding: 0 5px 1px;
        margin-left: 5px;
    }

    .message {
        align-items: flex-start;
    }

    .form_btn {
        width: 60%;
        margin: auto;
        padding: 20px 0;
        transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .form_btn img {
        width: 100%;
    }

    .form_btn:hover {
        transform: scale(1.05);
    }

    .qr_area {
        color: #fff;
        display: flex;
        justify-content: space-between;
    }

    .line_text {
        padding-top: 1.5vw;
    }

    .qr {
        padding-top: 1.5vw;
    }

    .fix_btn {
        width: 100%;
        background-color: #eef7f9;
        z-index: 10;
        position: fixed;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        padding: 20px 0;
    }

    .form_btn2 {
        width: 90%;
        margin: auto;
        display: flex;
        justify-content: center;
        padding-left: 15px;
    }

    .form_btn2 img {
        width: 100%;
    }

    /* company_cat */

    .company_title {
        width: 100%;
    }

    .company_title img {
        width: 100%;
    }

    .title_name {
        line-height: 1;
    }

    .line_ye {
        height: 1px;
        background-color: #fffb74;
        border: none;
    }

    .company_title h2 {
        font-size: 3.6vw;
    }

    .company_title h3 {
        font-size: 1.6vw;
    }

    .company_inner {
        width: 90%;
        padding: 60px 0;
        margin: 0 auto;
    }

    .company-info {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .company-info th,
    .company-info td {
        border: 1px solid #ccc;
        padding: 10px;
    }

    .company-info th {
        color: #ffffff;
        font-weight: bold;
        width: 30%;
        text-align: center;
    }

    /* thanks_cat */

    .thanks_inner {
        width: 80%;
        padding: 30px 0;
        margin: 0 auto;
        text-align: center;
    }

    .thanks_box {
        background-color: rgb(243, 244, 239, 0.9);
        padding: 30px;
    }

    .thanks_title h2 {
        font-size: 3.4vw;
        letter-spacing: 0.01em;
        color: #0a3a7e;
    }

    .thanks_text p {
        color: #333333;
        text-align: left;
    }

    .thanks_text span {
        line-height: 1.2;
    }

    .thanks_text p {
        line-height: 1.8;
        padding-top: 30px;
    }

    .thanks_text span {
        font-weight: bold;
    }

    .thanks_bt {
        padding-top: 30px;
    }

    .thanks_bt a {
        padding: 10px 60px 12px;
        background-color: #182649;
        display: inline-block;
        border-radius: 20px;
        color: #fff;
        font-size: 3vw;
    }

    .thanks_bt a:hover {
        opacity: 0.7;
    }

    /* privacy_cat */

    .privacy_inner {
        width: 94%;
        padding: 60px 0;
        margin: 0 auto;
        text-align: left;
    }

    .privacy_title {
        width: 100%;
        margin: auto;
    }

    .privacy_title img {
        width: 100%;
    }

    .title_name {
        line-height: 1;
    }

    .line_ye {
        height: 1px;
        background-color: #fffb74;
        border: none;
    }

    .privacy_title h2 {
        font-size: 3.6vw;
    }

    .privacy_title h3 {
        font-size: 1.6vw;
    }

    .privacy_text {
        font-size: 0.9em;
    }

    .p_l {
        font-size: 1.3em;
        font-weight: bold;
    }

    /* footer */
    footer {
        padding: 30px 0;
        text-align: left;
        width: 100%;
        line-height: 1.3;
    }

    .footer_inner {
        width: 94%;
        margin: 0 auto;
    }

    .f_navi {
        margin: 0px 0;
        font-size: 1.4rem;
        padding-bottom: 5vw;
    }

    .copy {
        text-align: center;
        font-size: 1.2rem;
        margin: 30px 0 0;
    }

    footer a,
    footer a:link,
    footer a:visited {
        text-decoration: none;
    }

    footer a:hover,
    footer a:active {
        color: #333;
        text-decoration: none;
    }

}

/*ここからスマートフォン用（599px以下）環境の設定
---------------------------------------------------------------------------*/
@media only screen and (max-width:599px) {
    body {
        font-size: 1.4rem;
        background-image: none;
        line-height: 1.7;
        margin: 0 auto 0;
    }

    /* 共通 */
    #wrapper {
        width: 100%;
        margin: 0 auto;
    }

    .contents {
        width: 96%;
        margin: 0 auto;
        padding: 120px 0 20px;
        background-color: #f5f5f5;
    }

    .contents_cat {
        width: 96%;
        margin: 0 auto;
        padding: 0 0 40px;
        background-color: #f5f5f5;
    }

    .contents_in {
        width: 96%;
        margin: 0 auto;
        padding: 30px 10px;
        background-color: #ffffff;
    }

    .contents_in2 {
        width: 92%;
        margin: 0 auto;
        padding: 30px 10px;
        background-color: #ffffff;
    }

    .contents_in_pc {
        width: 96%;
        margin: 0 auto;
        padding: 30px 10px;
        background-color: #ffffff;
    }

    .inner {
        width: 92%;
        margin: 0 auto;
    }

    .inner2 {
        width: 100%;
        margin: 0 auto;
    }

    .banner_pc {
        display: none;
    }

    .banner_sp {
        display: block;
    }

    .banner_sp1 {
        display: block;
    }

    .pcbr {
        display: none;
    }

    .spbr {
        display: inline;
    }

    .header_text {
        width: 65%;
        padding-left: 6vw;
    }

    .header2 {
        background-color: #ffffff;
        display: flex;
        justify-content: space-between;
        padding: 10px 0 50px;
        box-sizing: border-box;
        align-items: flex-end;
        width: 90%;
        margin: auto;
    }

    .header2_logo {
        width: 45%;
    }

    .header2_num img {
        width: 100%;
    }

    .header2_num {
        width: 57%;
        padding-left: 8vw;
    }

    .header2_num img {
        width: 100%;
    }


    /* MAIN */
    .contents_main {
        background-image: url(../images/lp_main_sp.jpg);
        background-repeat: no-repeat;
        background-position: bottom;
        background-size: cover;
        height: calc(1420 / 800 * 100vw);
        position: relative;
    }

    .main_text_under {
        width: 100%;
    }

    .main_text_under_note {
        color: #333333;
        font-size: 1.8vw;
        position: absolute;
        top: 0;
        right: 35%;
    }

    .main_sp {
        position: relative;
    }

    .contents_main img {
        width: 100%;
    }

    /* merit_cat */
    .merit_cat_inner {
        width: 94%;
        margin: auto;
        padding: 30px 0;
    }

    .merit_cat_inner img {
        width: 100%;
    }

    .blu_div {
        background-color: #0a3a7e;
        color: #ffffff;
        height: 30vw;
        display: grid;
        place-items: center;
        position: relative;
    }

    .blu_div::after {
        z-index: 5;
        content: "";
        position: absolute;
        right: 0;
        bottom: -29px;
        left: 0;
        width: 0px;
        height: 0px;
        margin: auto;
        border-style: solid;
        border-color: #0a3a7e transparent transparent transparent;
        border-width: 30px 30px 0 30px;
    }

    .five_merit_title {
        text-align: center;
        margin: auto;
        font-size: 3.6vw;
    }

    .title_1 {
        line-height: 1.8;
    }

    .five_merit_title h4 {
        letter-spacing: 0.1em;
    }

    .co_ye {
        color: #fffb74;
    }

    .f_1 {
        font-size: 1.2em;
    }

    .f_2 {
        font-size: 1.3em;
    }

    .f_large {
        font-size: 2em;
    }

    /* point5_cat */
    .point5_cat {
        background-color: #fefada;
        position: relative;
    }

    .point5_cat_inner {
        width: 100%;
        margin: auto;
    }

    .point_01-03 {
        display: block;
        padding: 40px 0 0;
        width: 70%;
        margin: auto;
    }

    .point_01-03 img {
        width: 100%;
        padding: 10px 0;
    }

    .point_04-05 {
        display: block;
        width: 70%;
        margin: auto;
        padding-bottom: 30px;
    }

    .point_04-05 img {
        width: 100%;
        padding: 10px 0;
    }

    /* case_cat */
    .case_cat {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        background-image: url(../images/back_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
        padding: 30px 0;
    }

    .case_cat_inner {
        width: 100%;
        margin: auto;
    }

    .case_cat_inner img {
        width: 92%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }

    .swiper {
        /*スライダーの幅と高さを調整*/
        width: 100%;
        height: 128vw;
        overflow: visible;
    }

    .swiper-slide {
        /*スライド要素の幅と高さを調整*/
        width: 100%;
        height: 100%;
    }

    .swiper-button-prev:after,
    .swiper-button-next:after {
        content: "";
        /*contentを空にする*/
    }

    .swiper-button-prev,
    .swiper-button-next {
        width: 60px;
        height: 60px;
    }

    .swiper-button-prev::after {
        background-image: url('../images/swiper_btn_01.png');
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        display: block;
        width: 40px;
        height: 40px;
        margin: auto;
        padding-left: 30px;
    }

    .swiper-button-next::after {
        background-image: url('../images/swiper_btn_02.png');
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        display: block;
        width: 40px;
        height: 40px;
        margin: auto;
        padding-right: 30px;
    }


    .blu_div2 {
        background-color: #0a3a7e;
        color: #ffffff;
        height: 20vw;
        display: grid;
        place-items: center;
        position: relative;
    }

    .blu_div2::after {
        z-index: 5;
        content: "";
        position: absolute;
        right: 0;
        bottom: -29px;
        left: 0;
        width: 0px;
        height: 0px;
        margin: auto;
        border-style: solid;
        border-color: #0a3a7e transparent transparent transparent;
        border-width: 30px 30px 0 30px;
    }

    .consult_title {
        text-align: center;
        font-size: 3.8vw;
        line-height: 1.8;
        letter-spacing: 0.1em;
        display: flex;
        align-items: center;
        gap: 0 5px;
        margin-left: 10px;
    }

    .consult_title img {
        width: 19%;
    }

    .strength_title {
        text-align: center;
        font-size: 3.8vw;
        line-height: 1.2;
        letter-spacing: 0.1em;
        display: flex;
        align-items: center;
        gap: 0 20px;
    }

    .qa_title {
        text-align: center;
        font-size: 3.8vw;
        line-height: 1.8;
        letter-spacing: 0.1em;
        display: flex;
        align-items: center;
        gap: 0 20px;
    }

    /* consult_cat */
    .consult_cat {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        height: 270vw;
        background-image: url(../images/back_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
    }

    .consult_cat_inner {
        width: 90%;
        margin: auto;
        font-family: 'Noto Sans JP';
        color: #333;
        font-size: 4.4vw;
        text-align: center;
    }

    .step_area {
        width: 100%;
        display: block;
        justify-content: space-between;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        padding-top: 40px;
    }

    .step_box {
        position: relative;
    }

    .step {
        width: 60%;
        padding-bottom: 30px;
    }

    .step_box p {
        width: 100%;
        position: absolute;
        top: 29%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        line-height: 1.6;
    }

    .arrow_x1 {
        position: absolute;
        top: 88%;
        left: 45%;
        z-index: 5;
        width: 13%;
    }

    .arrow_x1 img {
        width: 100%;
    }

    .arrow_x2 {
        position: absolute;
        top: 88%;
        left: 45%;
        z-index: 5;
        width: 13%;
    }

    .arrow_x2 img {
        width: 100%;
    }

    /* tel_free_cat */

    .tel_free_cat {
        width: 100%;
        background-color: #fefada;
    }

    .tel_free_cat_inner {
        width: 100%;
        margin: auto;
        height: 45vw;
        position: relative;
    }

    .tel_free {
        width: 95%;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        margin-left: 0;
    }

    .tel_num {
        position: absolute;
        top: 73%;
        left: 28%;
    }

    .tel_num img {
        width: 80%;
    }

    /* trouble_cat */
    .trouble_cat {
        background-color: #444444;
        padding: 30px 0;
    }

    .trouble_cat_inner {
        width: 70%;
        margin: auto;
    }

    .trouble_area {
        display: block;
        padding: 30px 0 0;
    }

    .trouble_box {
        position: relative;
        padding-bottom: 20px;
    }

    .trouble_box img {
        width: 100%;
    }

    .trouble_title {
        width: 90%;
    }

    .trouble_title1 {
        position: absolute;
        top: 40%;
        left: 14%;
        text-align: center;
        color: #fffb74;
        font-size: 5vw;
        font-weight: bold;
        line-height: 1.6;
    }

    .trouble_title2 {
        position: absolute;
        top: 37%;
        left: 9%;
        text-align: center;
        color: #fffb74;
        font-size: 4.8vw;
        font-weight: bold;
        line-height: 1.5;
    }

    .trouble_title3 {
        position: absolute;
        top: 37%;
        left: 11%;
        text-align: center;
        color: #fffb74;
        font-size: 5vw;
        font-weight: bold;
        line-height: 1.6;
    }

    .trouble_text {
        position: absolute;
        top: 46%;
        left: 2%;
        text-align: left;
        color: #fff;
        font-size: 3.6vw;
        line-height: 1.5;
        padding: 0 20px;
    }

    .trouble_text1 {
        position: absolute;
        top: 49%;
        left: 2%;
        text-align: left;
        color: #fff;
        font-size: 3.6vw;
        line-height: 1.5;
        padding: 0 20px;
    }

    .trouble_under {
        width: 100%;
        margin: -1px auto 0;
    }

    .trouble_result_back {
        background-color: #eef7f9;
    }

    /* result_cat */
    .result_cat {
        background-color: #eef7f9;
        padding: 50px 0 70px;
    }

    .result_cat_inner {
        width: 90%;
        margin: auto;
    }

    .result_title {
        width: 100%;
    }

    .result_table {
        padding-top: 40px;
        overflow-x: scroll;
    }

    .result_table img {
        width: 850px;
    }

    .js-table-scroll-hint .scroll-hint-icon {
        left: calc(50% - 100px);
        width: 200px;
    }

	.scroll-hint-text {
	  font-size: 16px !important;

	}
    /* proposal_cat */
    .proposal_cat {
        background-color: #ffffff;
        padding: 30px 0;
    }

    .proposal_cat_inner {
        width: 96%;
        margin: auto;
    }

    .proposal_cat_inner img {
        width: 100%;
    }

    .proposal_text {
        text-align: center;
        padding: 20px 0 0;
        color: #333333;
        font-size: 3.6vw;
        line-height: 1.6;
    }

    .proposal_text_top span {
        color: #0a3a7e;
        font-weight: bold;
    }

    .proposal_text_under {
        padding-top: 30px;
    }

    .proposal_text_under span {
        color: #b81c24;
        font-weight: bold;
        font-size: 1.6em;
    }

    /* strength_cat */
    .strength_cat {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        background-image: url(../images/back_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
    }

    .strength_cat_inner {
        width: 94%;
        margin: auto;
        font-family: 'Noto Sans JP';
        color: #333;
        font-size: 3.6vw;
        text-align: center;
        padding-top: 50px;
    }

    .strength_cat_inner img {
        width: 100%;
    }

    .strength_box_01 {
        position: relative;
    }

    .s_box_01_text {
        position: absolute;
        top: 42%;
        left: 58%;
        color: #fff;
        text-align: center;
        line-height: 2;
        font-size: 3.4vw;
    }

    .strength_box_02 {
        position: relative;
    }

    .s_box_02_text {
        position: absolute;
        top: 30%;
        left: 8%;
        color: #fff;
        text-align: center;
        line-height: 2;
        font-size: 3.4vw;
    }

    /* strength_cat1 */
    .strength_cat1 {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        background-image: url(../images/back_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
    }

    .strength_cat1_inner {
        width: 94%;
        margin: auto;
        font-family: 'Noto Sans JP';
        color: #333;
        font-size: 3.6vw;
        text-align: center;
        padding: 0 0 30px;
    }

    .strength_cat1_inner img {
        width: 100%;
    }

    .strength_box_03 {
        position: relative;
    }

    .s_box_03_text {
        position: absolute;
        top: 45%;
        left: 52%;
        color: #fff;
        text-align: center;
        line-height: 1.8;
        font-size: 3.3vw;
    }

    .strength_box_04 {
        position: relative;
    }

    .s_box_04_text {
        position: absolute;
        top: 25%;
        left: 8%;
        color: #fff;
        text-align: center;
        line-height: 1.8;
        font-size: 3.4vw;
    }

    /* qa_cat */

    .qa_cat {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        background-image: url(../images/back_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
    }

    .qa_cat_inner {
        width: 94%;
        margin: auto;
        padding: 30px 0;
        color: #333333;
    }

    .qa_area {
        padding: 0;
        font-family: 'Noto Sans JP';
    }

    /* 必須 */
    .accordion-content {
        display: none;
    }

    .accordion-header {
        background-color: #FFF;
        padding: 3vw 11vw 3vw 13vw;
        margin: 30px 0 0;
        transition: background .3s ease;
        cursor: pointer;
        position: relative;
    }

    .accordion-header::before,
    .accordion-header::after {
        position: absolute;
        content: '';
        top: 1px;
        right: 20px;
        bottom: 0;
        width: 22px;
        height: 4px;
        margin: auto;
        background: #0a3a7e;
    }

    .accordion-header::after {
        transform: rotate(-90deg);
        transition: transform 0.3s;
    }

    .accordion-header.active::after {
        transform: rotate(0deg);
    }

    .accordion-header p {
        position: absolute;
        top: 21%;
        left: 5.5%;
        margin-left: -2vw;
        font-size: 4vw;
        background-color: #0a3a7e;
        color: #ffffff;
        border-radius: 50%;
        width: 30px;
        height: 30px;
        text-align: center;
        line-height: 26px;
    }

    .accordion-content {
        background-color: #eef7f9;
        padding: 6vw 5vw 6vw 13vw;
        position: relative;
        border-radius: 0 0 10px 10px;
        margin-top: -10px;
    }

    .accordion-header span {
        padding-left: 0;
        position: relative;
        color: #0a3a7e;
        font-weight: bold;
        font-size: 3.6vw;
    }

    .accordion-content p {
        position: absolute;
        top: 16%;
        left: 5.5%;
        margin-left: -2vw;
        font-size: 4vw;
        background-color: #fe5e04;
        color: #ffffff;
        border-radius: 50%;
        width: 30px;
        height: 30px;
        text-align: center;
        line-height: 26px;
    }

    .accordion-content span {
        position: relative;
        color: #333333;
        font-size: 3.3vw;
    }

    .accordion-header {
        background-color: #ffffff;
        border-radius: 10px;
        z-index: 10;
    }

    /* message_cat */
    .message_cat {
        background-color: #fefada;
    }

    .message_cat_inner {
        width: 94%;
        margin: auto;
        padding: 20px 0 40px;
    }

    .message_cat_inner img {
        width: 100%;
    }

    .message_area {
        position: relative;
        color: #333333;
        font-size: 3vw;
        line-height: 1.6;
    }

    .message_cat_text {
        text-align: center;
        position: absolute;
        top: 50%;
        left: 30%;
    }

    .message_cat_text1 {
        text-align: center;
        position: absolute;
        top: 86%;
        left: 23%;
    }

    .message_form_back {
        background-image: url(../images/form_back_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: top;
    }

    .message_under {
        width: 100%;
    }

    /* form_cat */
    .form_cat {
        background-image: url(../images/form_back_pc.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        margin-top: -3vw;
        padding: 0 0 50px;
        color: #333333;
    }

    .form_cat1 {
        padding: 0 0 30px 0;
    }

    .form_cat1_title h2 {
        font-size: 3.4vw;
    }

    .form_cat1_title h3 {
        font-size: 1.5vw;
    }

    .form_cat_inner {
        position: relative;
        font-family: 'Noto Sans JP';
        width: 94%;
        margin: auto;
        text-align: center;
        padding-top: 30px;
    }

    .form_tel {
        padding: 20vw 0 6vw;
        position: relative;
    }

    .form_tel img {
        width: 100%;
    }

    .form_tel h4 {
        position: absolute;
        top: 11%;
        left: 1%;
        color: #fffb74;
        font-size: 4.5vw;
    }

    .form_tel p {
        position: absolute;
        top: 33%;
        left: 12%;
        color: #fff;
        font-size: 3.4vw;
        line-height: 1.6;
    }

    .tel_num_wh {
        position: absolute;
        top: 75%;
        left: 26%;
        width: 52%;
    }

    .tel_num_wh img {
        width: 100%;
    }

    .contact-form {
        max-width: 100%;
        margin: 0 auto;
        padding: 3vw;
        background: #ffffff;
        border-radius: 20px;
    }

    .form_title {
        text-align: center;
        font-size: 3.6vw;
        color: #333333;
        text-underline-offset: 15px;
        text-decoration-line: underline;
        text-decoration-thickness: 2px;
        padding-bottom: 5vw;
    }

    .form-row {
        display: block;
        align-items: center;
        margin-bottom: 15px;
    }

    .form-row-bottom {
        display: block;
        align-items: flex-start;
        margin-bottom: 0;
    }

    .form-row label {
        flex-basis: 15%;
        min-width: 110px;
        margin-right: 8px;
        text-align: left;
        font-size: 3.4vw;
        font-weight: bold;
    }

    .form-row-bottom label {
        flex-basis: 15%;
        min-width: 110px;
        margin-right: 8px;
        text-align: left;
        font-size: 3.4vw;
        font-weight: bold;
    }

    .form-row input {
        flex-basis: 85%;
        padding: 6px;
        border: 1px solid #e0e4e7;
        background-color: #f1f5f7;
        font-size: 1em;
        border-radius: unset;
    }

    .form-row-bottom textarea {
        width: 100%;
        padding: 6px;
        border: 1px solid #e0e4e7;
        background-color: #f1f5f7;
        font-size: 1em;
        border-radius: unset;
        height: 100px;
        resize: vertical;
    }

    .form_required {
        background-color: #fffb74;
        font-size: 0.7em;
        padding: 0 5px 1px;
        margin-left: 5px;
    }

    .message {
        align-items: flex-start;
    }

    .form_btn {
        width: 80%;
        margin: auto;
        padding: 20px 0;
        transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .form_btn img {
        width: 100%;
    }

    .form_btn:hover {
        transform: scale(1.05);
    }

    .qr_area {
        color: #fff;
        display: flex;
        justify-content: space-between;
    }

    .line_text {
        padding-top: 1.5vw;
    }

    .qr {
        padding-top: 1.5vw;
    }

    .fix_btn {
        width: 100%;
        background-color: #eef7f9;
        z-index: 10;
        position: fixed;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        padding: 20px 0;
    }

    .form_btn2 {
        width: 94%;
        margin: auto;
        display: flex;
        justify-content: center;
        padding-left: 0;
    }

    .form_btn2 img {
        width: 100%;
    }

    /* company_cat */

    .company_title {
        width: 100%;
    }

    .company_title img {
        width: 100%;
    }

    .title_name {
        line-height: 0.8;
    }

    .line_ye {
        height: 1px;
        background-color: #fffb74;
        border: none;
    }

    .company_title h2 {
        font-size: 3.4vw;
    }

    .company_title h3 {
        font-size: 1.5vw;
    }

    .company_inner {
        width: 90%;
        padding: 30px 0;
        margin: 0 auto;
    }

    .company-info {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .company-info th,
    .company-info td {
        border: 1px solid #ccc;
        padding: 10px;
    }

    .company-info th {
        background-color: #565656;
        color: #ffffff;
        font-weight: bold;
        width: 30%;
        text-align: center;
    }

    /* thanks_cat */
    .thanks_inner {
        width: 90%;
        padding: 30px 0;
        margin: 0 auto;
        text-align: center;
    }

    .thanks_box {
        background-color: rgb(243, 244, 239, 0.9);
        padding: 30px;
    }

    .thanks_title h2 {
        font-size: 4.2vw;
        letter-spacing: 0.01em;
    }

    .thanks_text p {
        color: #333333;
        text-align: left;
    }

    .thanks_text span {
        line-height: 1.2;
    }

    .thanks_text p {
        line-height: 1.8;
        padding-top: 30px;
    }

    .thanks_text span {
        font-weight: bold;
    }

    .thanks_bt {
        padding-top: 30px;
    }

    .thanks_bt a {
        padding: 10px 60px 12px;
        background-color: #182649;
        display: inline-block;
        border-radius: 20px;
        color: #fff;
        font-size: 3vw;
    }

    .thanks_bt a:hover {
        opacity: 0.7;
    }


    /* privacy_cat */

    .privacy_inner {
        width: 94%;
        padding: 30px 0;
        margin: 0 auto;
        text-align: left;
    }

    .privacy_title {
        width: 100%;
        margin: auto;
    }

    .privacy_title img {
        width: 100%;
    }

    .title_name {
        line-height: 0.8;
    }

    .line_ye {
        height: 1px;
        background-color: #fffb74;
        border: none;
    }

    .privacy_title h2 {
        font-size: 3.4vw;
    }

    .privacy_title h3 {
        font-size: 1.5vw;
    }

    .privacy_text {
        font-size: 0.9em;
    }

    .p_l {
        font-size: 1.3em;
        font-weight: bold;
    }

    .form_text {
        padding: 0;
        line-height: 1.6;
    }

    .form_text h3 {
        text-align: center;
        font-weight: normal;
        font-size: 1.8em;
        padding: 30px 0 20px;
        color: #333;
    }

    .form_text p {
        text-align: center;
        font-weight: normal;
        color: #333;
        font-size: 3vw;
        padding-top: 30px;
    }

    .form-group {
        margin-bottom: 1rem;
    }

    .email {
        display: flex;
    }

    label {
        display: block;
        margin: 12px;
    }

    input {
        width: 100%;
        padding: 0.8em 1em;
        border: 1px solid #ddd;
        border-radius: 4px;
        font-size: 1em;
        box-sizing: border-box;
    }

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

    .submit-btn {
        display: inline-block;
        background-color: #182649;
        color: white;
        padding: 12px 20px;
        border: none;
        border-radius: 4px;
        cursor: pointer;
        font-size: 16px;
        margin-top: 50px;
        width: 50%;
    }

    .submit-btn:hover {
        background-color: #3d5184;
    }

    /* footer */
    footer {
        padding: 30px 0;
        text-align: left;
        width: 100%;
        line-height: 1.3;
    }

    .footer_inner {
        width: 94%;
        margin: 0 auto;
    }

    .f_navi {
        margin: 0px 0;
        font-size: 3.2vw;
        padding-bottom: 5vw;
    }

    .copy {
        text-align: center;
        font-size: 1.2rem;
        margin: 30px 0 0;
    }

    footer a,
    footer a:link,
    footer a:visited {
        text-decoration: none;
    }

    footer a:hover,
    footer a:active {
        color: #333;
        text-decoration: none;
    }

}


/*************************************************************
【marginの設定】
*************************************************************/
.m0 {
    margin: 0 !important
}

.mt0 {
    margin-top: 0 !important
}

.mr0 {
    margin-right: 0 !important
}

.mb0 {
    margin-bottom: 0 !important
}

.ml0 {
    margin-left: 0 !important
}

.m5 {
    margin: 5px !important
}

.mt5 {
    margin-top: 5px !important
}

.mr5 {
    margin-right: 5px !important
}

.mb5 {
    margin-bottom: 5px !important
}

.ml5 {
    margin-left: 5px !important
}

.m10 {
    margin: 10px !important
}

.mt10 {
    margin-top: 10px !important
}

.mr10 {
    margin-right: 10px !important
}

.mb10 {
    margin-bottom: 10px !important
}

.ml10 {
    margin-left: 10px !important
}

.m15 {
    margin: 15px !important
}

.mt15 {
    margin-top: 15px !important
}

.mr15 {
    margin-right: 15px !important
}

.mb15 {
    margin-bottom: 15px !important
}

.ml15 {
    margin-left: 15px !important
}

.m20 {
    margin: 20px !important
}

.mt20 {
    margin-top: 20px !important
}

.mr20 {
    margin-right: 20px !important
}

.mb20 {
    margin-bottom: 20px !important
}

.ml20 {
    margin-left: 20px !important
}

.m25 {
    margin: 25px !important
}

.mt25 {
    margin-top: 25px !important
}

.mr25 {
    margin-right: 25px !important
}

.mb25 {
    margin-bottom: 25px !important
}

.ml25 {
    margin-left: 25px !important
}

.m30 {
    margin: 30px !important
}

.mt30 {
    margin-top: 30px !important
}

.mr30 {
    margin-right: 30px !important
}

.mb30 {
    margin-bottom: 30px !important
}

.ml30 {
    margin-left: 30px !important
}

.m35 {
    margin: 35px !important
}

.mt35 {
    margin-top: 35px !important
}

.mr35 {
    margin-right: 35px !important
}

.mb35 {
    margin-bottom: 35px !important
}

.ml35 {
    margin-left: 35px !important
}

.m40 {
    margin: 40px !important
}

.mt40 {
    margin-top: 40px !important
}

.mr40 {
    margin-right: 40px !important
}

.mb40 {
    margin-bottom: 40px !important
}

.ml40 {
    margin-left: 40px !important
}

.m45 {
    margin: 45px !important
}

.mt45 {
    margin-top: 45px !important
}

.mr45 {
    margin-right: 45px !important
}

.mb45 {
    margin-bottom: 45px !important
}

.ml45 {
    margin-left: 45px !important
}

.m50 {
    margin: 50px !important
}

.mt50 {
    margin-top: 50px !important
}

.mr50 {
    margin-right: 50px !important
}

.mb50 {
    margin-bottom: 50px !important
}

.ml50 {
    margin-left: 50px !important
}

.m55 {
    margin: 55px !important
}

.mt55 {
    margin-top: 55px !important
}

.mr55 {
    margin-right: 55px !important
}

.mb55 {
    margin-bottom: 55px !important
}

.ml55 {
    margin-left: 55px !important
}

.m60 {
    margin: 60px !important
}

.mt60 {
    margin-top: 60px !important
}

.mr60 {
    margin-right: 60px !important
}

.mb60 {
    margin-bottom: 60px !important
}

.ml60 {
    margin-left: 60px !important
}

.m65 {
    margin: 65px !important
}

.mt65 {
    margin-top: 65px !important
}

.mr65 {
    margin-right: 65px !important
}

.mb65 {
    margin-bottom: 65px !important
}

.ml65 {
    margin-left: 65px !important
}

.m70 {
    margin: 70px !important
}

.mr70 {
    margin-right: 70px !important
}

.mb70 {
    margin-bottom: 70px !important
}

.ml70 {
    margin-left: 70px !important
}

.m75 {
    margin: 75px !important
}

.mt75 {
    margin-top: 75px !important
}

.mr75 {
    margin-right: 75px !important
}

.mb75 {
    margin-bottom: 75px !important
}

.ml75 {
    margin-left: 75px !important
}

.m80 {
    margin: 80px !important
}

.mt80 {
    margin-top: 80px !important
}

.mr80 {
    margin-right: 80px !important
}

.mb80 {
    margin-bottom: 80px !important
}

.ml80 {
    margin-left: 80px !important
}


.mlrb30 {
    margin: 10px 30px 30px !important
}

.ml90 {
    margin-left: 90px !important
}

/**************************************************************
【paddingの設定】
**************************************************************/
.p0 {
    padding: 0 !important
}

.pt0 {
    padding-top: 0 !important
}

.pr0 {
    padding-right: 0 !important
}

.pb0 {
    padding-bottom: 0 !important
}

.pl0 {
    padding-left: 0 !important
}

.p5 {
    padding: 5px !important
}

.pt5 {
    padding-top: 5px !important
}

.pr5 {
    padding-right: 5px !important
}

.pb5 {
    padding-bottom: 5px !important
}

.pl5 {
    padding-left: 5px !important
}

.p10 {
    padding: 10px !important
}

.pt10 {
    padding-top: 10px !important
}

.pr10 {
    padding-right: 10px !important
}

.pb10 {
    padding-bottom: 10px !important
}

.pl10 {
    padding-left: 10px !important
}

.p20 {
    padding: 20px !important
}

.pt20 {
    padding-top: 20px !important
}

.pr20 {
    padding-right: 20px !important
}

.pb20 {
    padding-bottom: 20px !important
}

.pl20 {
    padding-left: 20px !important
}

.p30 {
    padding: 30px !important
}

.p4050 {
    padding: 40px 50px !important
}

.pb30 {
    padding-bottom: 30px !important
}

.pb40 {
    padding-bottom: 40px !important
}

.pb50 {
    padding-bottom: 50px !important
}

.pb80 {
    padding-bottom: 80px !important
}

/**************************************************************
【widthの設定】
**************************************************************/
.w50 {
    width: 50px;
}

.w100 {
    width: 100px;
}

.w130 {
    width: 130px;
}

.w180 {
    width: 180px;
}

.w200 {
    width: 200px;
}

.w220 {
    width: 220px;
}

.w250 {
    width: 250px;
}

.w350 {
    width: 350px;
}

.w400 {
    width: 400px;
}

.w450 {
    width: 450px;
}

.w500 {
    width: 500px;
}

.w600 {
    width: 600px;
}

.w700 {
    width: 700px;
}

.w710 {
    width: 710px;
}

.w876 {
    width: 876px;
}

/**************************************************************
【heightの設定】
**************************************************************/
.h10 {
    height: 10px;
}

.h30 {
    height: 30px;
}

.h100 {
    height: 100px;
}

.h200 {
    height: 200px;
}


/**************************************************************
【配置設定】
**************************************************************/
.center {
    text-align: center;
}

.left {
    text-align: left;
}

.right {
    text-align: right;
}

.f_left {
    float: left;
}

.f_right {
    float: right;
}

/**************************************************************
【文字装飾】
**************************************************************/
.red1 {
    color: #FF0000;
}

/*明るい赤 */
.red2 {
    color: #c62726;
}

/*暗い赤 */
.red1_b {
    color: #F00;
    font-weight: bold;
}

/*太字・明るい赤 */
.red2_b {
    color: #d13938;
    font-weight: bold;
}

/*太字・暗い赤 */
.whe {
    color: #00F;
}

/*青 */
.bl {
    color: #254BDD;
}

/*青 */
.or {
    color: #FF9739;
}

/*オレンジ */
.blk {
    color: #000;
}

/*黒 */
.gr {
    color: #999;
}

/*グレー */
.grn {
    color: #50A810;
}

/*みどり */
.pk {
    color: #FE48DA;
}

/*ピンク */
.gld {
    color: #d5b876;
}

/*ゴールド */
.pp {
    color: #8A37BC;
}

/*むらさき */
.underline {
    text-decoration: underline;
}

/*アンダーライン */
strong {
    font-weight: bold;
}

/*太字 */
.bg_y {
    background-color: #F6BD15;
    padding: 0px 5px 0px;
}

.bg_k {
    background-color: #F8FF12;
    padding: 0px 5px 0px;
}


.font0_5 {
    font-size: 0.5em;
}

.font0_6 {
    font-size: 0.6em;
}

.font0_7 {
    font-size: 0.7em;
}

.font0_8 {
    font-size: 0.8em;
}

.font0_9 {
    font-size: 0.9em;
}

.font1 {
    font-size: 1em;
}

.font1_1 {
    font-size: 1.1em;
}

.font1_2 {
    font-size: 1.2em;
}

.font1_3 {
    font-size: 1.3em;
}

.font1_4 {
    font-size: 1.4em;
}

.font1_5 {
    font-size: 1.5em;
}

.font1_6 {
    font-size: 1.6em;
}

.font1_7 {
    font-size: 1.7em;
}

.font1_8 {
    font-size: 1.8em;
}

.font1_9 {
    font-size: 1.9em;
}

.font2 {
    font-size: 2em;
}

.lh160 {
    line-height: 160%;
}

.font_M {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.font_ss {
    font-size: 0.8em;
    line-height: 160%;
}