﻿@charset "utf-8";

@import url(./base.css);
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');
@import url('https://fonts.googleapis.com/css?family=Roboto');

/*================== Global Setting ==================*/
body {
    color: #3b3b3b;
}

a {
    color: #3b3b3b;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

a:hover,
a img:hover {
    filter: alpha(opacity=70);
    opacity: 0.7;
    text-decoration: none;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
}

.bg_red {
    background: rgba(193, 39, 45, 1);
}

.bg_blue {
    background: rgba(0, 102, 204, 1);
}

.bg_green {
    background: rgba(0, 160, 140, 1);
}

.bg_orange {
    background: rgba(255, 154, 0, 1);
}

.bg_white {
    background: rgba(255, 255, 255, .9);
}

.text01 {
    font-size: 36px;
    font-weight: bold;
    text-align: center;
}

.text01 span {
    font-size: 48px;
}

.text02 {
    font-size: 30px;
    font-weight: bold;
    text-align: center;
}

.text02 span {
    font-size: 40px;
}

.pc {
    display: block;
}

.sp {
    display: none;
}


/*================== Base Layout ==================*/
.wrapper {
    width: 100%;
    margin: 0 auto;
    position: relative;
}

#content {
    width: 100%;
    margin: 0 auto 5em auto;
}

section {
    font-size: 1em;
    margin: 0 auto 3em auto;
    clear: both;
}

.inner {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}

/*  画面サイズが961px-1280px以上  */
/*================== header ==================*/
.header {
    margin-bottom: 0.5em;
    overflow: auto;
    background: rgba(255, 255, 255, .5);
    position: fixed;
    justify-content: space-between;
    transition: .5s;
    width: 100%;
    z-index: 9999;
}

.header {
    margin-top: -10px;
}

.header.is-animation {
    margin-top: -20px;
    background: rgba(255, 255, 255, 1);
    border-bottom: solid 1px #ccc;
}

header .bg_blue {
    height: 10px;
}

.header h1 {
    float: left;
    padding: 10px 0;
}

.header h1 small {
    display: block;
    font-size: 12px;
    margin-bottom: 0.5em;
}

.header h1 img {
    float: left;
}

.header ul {
    float: right;
    text-align: right;
    padding: 25px 0;
    width: 55%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.header ul li {
    display: inline-block;
    line-height: 1.2;
    margin-left: 0.5em;
    width: 48.5%;
}

.header li:first-child {
    margin-left: 0;
}

.header ul li img {
    width: 100%;
}

.tel_box .tel:before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 40px;
    background: url(../images/icon_tel.png) no-repeat;
    background-size: contain;
    vertical-align: sub;
}


.tel_box .tel {
    font-size: 38px;
}

header ul li span {
    font-size: 12px;
    text-align: left;
    padding-left: 4.3em;
    display: block;
    line-height: 1;
}

.main_visual {
    width: 100%;
    max-width: 1280px;
    margin: 0.5em auto 1em auto;
    padding-top: 108px;
    position: relative;
}

.main_visual .date {
    position: absolute;
    bottom: 6%;
    left: 40.4%;
    font-weight: bold;
    font-size: 14.5px;
    text-shadow: 2px 2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, -2px -2px 0 #fff;
}

.main_visual .min {
    font-size: 12px;
    text-align: right;
}

.main_visual img {
    width: 100%;
    /* border: solid 1px #eee; */
}

/* cv_area */
.cv_area {
    display: flex;
    justify-content: center;
    gap: 0 40px;
}


a.btn {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #212529;
    border-radius: 0.5rem;
}

.btn-wrap {
    margin: 30px 0;
}

a.btn-c {
    font-size: 2rem;
    position: relative;
    padding: 2rem 2rem 1rem 2.2rem;
    color: #fff;
    background: #32b16c;
    -webkit-box-shadow: 0 5px 0 #2c9d60;
    box-shadow: 0 5px 0 #2c9d60;
}

a.btn-c.tel {
    background: #dd262d;
    -webkit-box-shadow: 0 5px 0 #b52a30;
    box-shadow: 0 5px 0 #b52a30;
}

a.btn-c .fas {
    padding-right: 0.5rem;
}

a.btn-c.tel span {
    color: #dd262d;
    border: 2px solid #dd262d;
}

a.btn-c span {
    font-size: 1rem;
    letter-spacing: .1em;
    position: absolute;
    top: -10px;
    left: calc(50% - 154px);
    display: block;
    width: 300px;
    padding: 0.3rem 0.2rem;
    color: #32b16c;
    border: 2px solid #32b16c;
    border-radius: 0.5rem;
    background: #fff;
    -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
}

a.btn-c:hover {
    -webkit-transform: translate(0, 3px);
    transform: translate(0, 3px);

    color: #fff;
    background: #30a967;
    -webkit-box-shadow: 0 2px 0 #2c9d60;
    box-shadow: 0 2px 0 #2c9d60;
}

a.btn-c.tel:hover {
    background: #ca2329;
    -webkit-box-shadow: 0 2px 0 #ca2329;
    box-shadow: 0 2px 0 #b52a30;
}

a.btn-c:hover:before {
    left: 2rem;
}



section h2 {
    background: rgba(0, 102, 204, 1);
    color: #fff;
    font-size: 36px;
    text-align: center;
    padding: 0.5em 1em;
    /*margin-bottom: 1.5em;*/
}

section h2 span {
    color: rgba(254, 243, 128, 1);
    font-size: 48px;
}

.trouble {
    z-index: 100;
}

.trouble>div {}

.trouble .parent {
    position: relative;
    height: 30em;
    background: rgba(204, 255, 255, .2);
    padding: 2.5em 2em 0 2em;
}

.trouble .parent img {
    position: absolute;
    bottom: 0;
    left: 2em;
}

.trouble .parent>div {
    float: right;
    width: 70%;
    margin-top: 3em;
    background: #fff;
}

.trouble .child {
    position: relative;
    height: 30em;
    background: rgba(255, 204, 206, .2);
    padding: 2.5em 2em 0 2em;
}

.trouble .child img {
    float: right;
    position: absolute;
    bottom: 0;
    right: 2em;
}

.trouble .child>div {
    float: left;
    width: 70%;
    margin-top: 3em;
    background: #fff;
}

.trouble>div h3 {
    color: #fff;
    font-size: 36px;
    text-align: center;
    border-radius: 5px;
    margin-bottom: 0.5em;
}

.trouble>div h3 span {
    font-size: 48px;
}

.trouble>div ul {
    padding: 0 1em 1em 1em;
}

.trouble>div li:before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 40px;
    background: url(../images/icon_checkmark01.png) no-repeat;
    background-size: contain;
    vertical-align: sub;
    padding-right: 10px;
}

.trouble>div li {
    font-size: 23px;
    line-height: 2.3;
}

.trouble>div li span {
    color: rgba(193, 39, 45, 1)
}

.arrow01 {
    background: url(../images/arrow_big.png) no-repeat top center;
    text-indent: -9999px;
    height: 4em;
    background-size: contain;
    margin-bottom: 2em;
}

.box01 {
    max-width: 1100px;
    position: relative;
    color: #fff;
    font-weight: bold;
    margin: 0 auto 0.5em auto;
    border-radius: 5px;
    padding: 1em;
    display: flex;
    justify-content: center;
    align-items: center;
}

.box01 .box_inner {
    /*padding-left: 20%;*/
    display: flex;
    justify-content: center;
    align-items: center;
}

.box01 p {
    line-height: 1.2;
}

.balloon01 {
    /*position: absolute;
    top: 9%;
    left: 8%;*/
    background: url(../images/balloon01.png) no-repeat center;
    background-size: contain;
    height: 145px;
    width: 145px;
    z-index: 100;
    font-size: 24px;
    text-align: center;
    /*padding-top: 30px;*/
    line-height: 1.2;
    transform: rotate(-20deg);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 0.25em;
}

.txt01 {
    font-size: 72px;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 0.5em auto;
}

.txt01 span {
    font-size: 50px;
}

.box06 {
    width: 60%;
    color: #fff;
    font-weight: bold;
    margin: 0 auto 0.5em auto;
    line-height: 1.2;
    padding: 0.25em;
    border-radius: 68px;
}

.to_form {
    line-height: 1.3;
    width: 65%;
    margin: 0 auto 1.5em auto;
}

.to_form>span {
    font-size: 48px;
    font-weight: bold;
}

.to_form .attention {
    margin-bottom: 0.5em;
    /* margin-top: 0.5em; */
    line-height: 0.5;
}

.to_form .attention span {
    font-size: 13px;
    text-align: right;
}

.to_form_btn {
    position: relative;
    filter: drop-shadow(0px 2px 5px #e0e0e0);
}

.to_form_btn img {
    margin-left: 1em;
}

/*ぽよぽよする画像*/
.poyopoyo {
    animation: poyopoyo 2s ease-out infinite;
    opacity: 1;
}

@keyframes poyopoyo {

    0%,
    40%,
    60%,
    80% {
        transform: scale(1.0);
    }

    50%,
    70% {
        transform: scale(0.95);
    }
}




/* .to_form_btn .rect {
    position: absolute;
    top: 67px;
    left: -50px;
    z-index: 0;
} */

.solution {
    margin: 0 auto 0.5em auto;
}

.solution>div {
    padding: 1em;
}

.solution ul {
    max-width: 1100px;
    margin: 0 auto 1em auto;
}

.solution li {
    position: relative;
    display: inline-block;
    width: 22.9%;
    margin: 0.5em;
}

.solution li img {
    width: 100%;
}

.solution li span {
    position: absolute;
    bottom: 0;
    display: block;
    font-size: 20px;
    font-weight: bold;
    /* text-shadow: #fff 1px 1px 0; */
    width: 100%;
    background: rgba(255, 255, 255, .7);
    padding: 1px 10% 1px 10%;
}

.solution p {
    text-align: center;
    font-size: 36px;
    font-weight: bold;
}

.solution p span {
    font-size: 48px;
}

.solution .dot {
    -webkit-text-emphasis: filled circle rgba(193, 39, 45, 1);
    text-emphasis: filled circle rgba(193, 39, 45, 1);
    font-weight: bold;
}

.solution p:last-child {
    font-size: 28px;
}

.experience {}

.experience h3 {
    font-size: 36px;
    text-align: center;
    margin-bottom: 0.5em;
}

.experience h3 span {
    font-size: 48px;
    color: #fff;
    padding: 5px;
}

.box02 {}

.box03 {}

.experience {
    margin: 0 auto 3em auto;
    text-align: center;
}

.experience ul {
    margin: 0 auto 1em auto;
    display: inline-block;
    text-align: center;
    justify-content: center;
    align-items: center;
}

.experience li:before {
    content: '';
    display: inline-block;
    width: 30px;
    height: 33px;
    background: url(../images/icon_checkmark02.png) no-repeat;
    background-size: contain;
    vertical-align: sub;
    padding-right: 10px;
}

.experience li {
    font-size: 26px;
    line-height: 1.7;
    text-align: left;
}

.experience li span {
    font-weight: bold;
    color: #ff9a00;
}

.relief {
    margin-bottom: 2em;
}

.box07 {
    position: relative;
    color: #fff;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 0.5em auto;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.balloon02 {
    background: url(../images/balloon01.png) no-repeat center;
    background-size: contain;
    width: 130px;
    height: 130px;
    z-index: 100;
    font-size: 18px;
    text-align: center;
    line-height: 1.2;
    transform: rotate(-20deg);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 1em;
}

.relief .inner {
    margin-top: -28%;
    width: 95%;
    padding: 0;
}

.relief .inner_lower {
    margin-top: -16em;
}

.relief .bg_img01 {
    background: url(../images/sub_img01.jpg) no-repeat top center;
    background-size: contain;
    margin-top: -20px;
    height: 0;
    padding-top: 38.57142857142857%;
    z-index: -1;
    max-width: 1100px;
}

.relief_point {
    overflow: auto;
    position: relative;
    height: 62vh;
    margin: 0 auto;
    text-align: center;
}

.relief_point02 {
    height: 57vh;
}

.relief .medal {
    text-align: center;
    margin-bottom: 2em;
    transition: all .5s ease;
}

/*.relief .medal:hover {
    box-shadow: 0 20px 5px -10px rgba(#000, 0.4);
    transform: translateY(10px);
}*/

.relief .medal img {
    width: 70%;
}

.relief ul {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}

/*20230907追加*/
.relief .inner,
.relief .inner_lower {
    position: relative;
}

.relief .inner .date {
    position: absolute;
    bottom: 53.5%;
    right: 20.2%;
    font-weight: bold;
    font-size: 19px;
    color: #343434;
    text-shadow: 2px 2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, -2px -2px 0 #fff;
}

.relief .inner_lower .date_lower {
    position: absolute;
    bottom: 53.5%;
    right: 20.2%;
    font-weight: bold;
    font-size: 19px;
    color: #343434;
    text-shadow: 2px 2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, -2px -2px 0 #fff;
}

/*20230907追加ここまで*/

/* IEハック */
@media all and (-ms-high-contrast: none) {
    .contents4 .inner {
        overflow: hidden;
    }

    .contents4 .inner .scroll {}

    .contents4 .inner .scroll img {
        width: 100%;
    }
}

.relief li:before {
    content: '';
    display: inline-block;
    width: 30px;
    height: 30px;
    background: url(../images/icon_checkmark03.png) no-repeat center;
    background-size: contain;
    vertical-align: sub;
    margin-right: 5px;
    margin-top: 3px;
}

.relief li {
    display: inline-block;
    width: 48%;
    background: #ff9a00;
    color: #fff;
    font-size: 21px;
    font-weight: bold;
    margin: 0 0.3em 0.5em 0;
    padding: 0.1em 0.2em;
    text-align: left;
}

.relief li:nth:child(2n) {
    margin-right: 0;
}

/* .relief li:last-child {
    width: 97.7%;
} */

.bg_img02 {
    background: url(../images/sub_img02.png) no-repeat top center;
    background-size: contain;
    margin-bottom: 2em;
}

.bg_img02 .inner {
    max-width: 1100px;
    position: relative;
    height: 75vh;
    width: 80%;
    padding: 0;
}

/*.bg_img02 .inner > div {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}*/

.bg_img02 dl {
    width: 46%;
    font-weight: bold;
}

.bg_img02 dt {
    float: left;
    width: 25%;
    border-radius: 5px 0 0 5px / 5px 0 0 5px;
    background: rgba(255, 154, 0, .9);
    padding: 0.5em;
    color: #fff;
    font-size: 22px;
    text-align: center;
}

.bg_img02 dd {
    float: left;
    width: 62%;
    border-radius: 0 5px 5px 0 / 0 5px 5px 0;
    background: rgba(255, 255, 255, .9);
    padding: 0.5em;
    color: rgba(193, 39, 45, 1);
    font-size: 22px;
    text-align: center;
    margin-left: 0;
    display: table-cell;
}

.bg_img02 dd span {
    font-size: 20px;
}

.bg_img02 dl.left {
    position: absolute;
    bottom: 2em;
    left: 0;
}

.bg_img02 dl.right {
    position: absolute;
    bottom: 2em;
    right: 0;
}

.bg_img02 dl.left dt {}

.bg_img02 dl.left dt {}

.bg_img02 dl.right dt {
    margin-top: 0.5em;
}

.bg_img02 dl.right dd {
    margin-top: 0.5em;
}

.bg_img02 p {
    position: absolute;
    bottom: 0em;
    left: 0em;
    right: 0;
    padding: 0.5em;
    text-align: center;
    margin: 0 auto;
    border-radius: 5px;
    /*width: 98%;*/
}

.box04 {
    position: relative;
    color: #fff;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    margin: 0 auto;
    padding: 0.5em;
    display: flex;
    justify-content: center;
    align-items: center;
}

.box04 p {
    font-size: 36px;
}

.box04 p span {
    font-size: 48px;
}

.box04 .balloon02 {
    background: url(../images/balloon01.png) no-repeat center;
    background-size: contain;
    width: 120px;
    height: 120px;
    z-index: 100;
    font-size: 22px;
    text-align: center;
    line-height: 1.2;
    transform: rotate(-20deg);
}

.course {}

.course>div {
    width: 31%;
    display: inline-block;
    vertical-align: top;
    margin: 0.7em;
}

.course>div h3 {
    color: #fff;
    text-align: center;
    padding: 0.5em 0;
}

.course>div>p {
    margin-bottom: 1em;
}

.course>div>div {
    padding: 1em;
}

.course>div>div>p {
    margin-bottom: 1em;
}

.course>div>div>div {
    background: #fff;
    padding: 1em;
}

.course>div h4 {
    text-align: center;
    padding: 0.5em 0;
    font-size: 1.2em;
}

.course .course01 {}

.course .course02 {}

.course .course03 {
    margin-right: 0;
}

.course .course01 h3 {
    background: #0066cc;
}

.course .course02 h3 {
    background: #49aaaa;
}

.course .course03 h3 {
    background: #c1272d;
}

.course>div img {
    width: 100%;
}

.course .course01>div {
    background: #e5f0ff;
}

.course .course02>div {
    background: #e5ffff;
}

.course .course03>div {
    background: #ffe5e6;
}

.course .course01 h4 {
    color: #0066cc
}

.course .course02 h4 {
    color: #49aaaa;
}

.course .course03 h4 {
    color: #c1272d;
}

.course ul {}

.course li {
    /*list-style: inside;*/
}

.course li:before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url(../images/icon_checkmark02.png) no-repeat;
    background-size: contain;
    vertical-align: sub;
    padding-right: 5px;
    margin-top: 10px;
}

.arrow02 {
    background: url(../images/arrow_big.png) no-repeat top center;
    text-indent: -9999px;
    height: 2em;
    background-size: contain;
    margin-bottom: 2em;
}

.box05 {
    text-align: center;
    margin: 0 auto;
    padding: 1em;
    display: flex;
    justify-content: center;
    align-items: center;
    border: solid 5px #ff9a00;
    width: 89% !important;
    display: block !important;
}

.box05 p {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 0 !important;
}

.box05 p span {
    font-size: 38px;
    font-weight: bold;
}

.contents3 {}

.contents3 h2,
.contents4 h2,
.contents5 h2,
.contents6 h2,
.contents7 h2,
.contents8 h2,
.contents9 h2,
.contents10 h2,
.contents11 h2,
.contents12 h2 {
    margin-bottom: 1em;
}

.contents3 .inner {}

.contents3 .inner h3 {
    margin-bottom: 1em;
}

p.attention {
    text-align: right;
    margin-bottom: 1em;
}

.contents3>.inner ul {
    margin-bottom: 3em;
}

.contents3 .inner>ul>li {
    width: 31.3%;
    display: inline-block;
    vertical-align: top;
    margin: 0.5em;
}

.contents3 .inner>ul>li:nht-child(3n) {
    margin-right: 0;
}

.contents3 .inner>ul>li img {
    width: 100%;
}

.blue {
    color: #0066cc;
}

.contents3 .item .test .small {
    font-size: 42px;
}

.contents3 .item .test .big {
    font-size: 110px;
}

.contents3 .item .test span.arrow-right {
    margin-left: 0.25em;
}

.contents3 .item .test .arrow-right:after {
    content: "";
    display: inline-block;
    background: url(../images/arrow_right.png) no-repeat center;
    background-size: 100%;
    width: 16px;
    height: 30px;
    color: #ccc;
}

.contents3 .item .test p:first-child {
    font-size: 1em;
}

.contents3 .item .test p:last-child {
    font-size: 1em;
}

.contents3 .item .test p:last-child span {
    font-size: 34px;
}

.contents3 .item .test table {
    display: flex;
    justify-content: center;
    align-items: center;
}

.contents3 .item .test table tr:first-child {}

.contents3 .item .test table td {
    padding: 0.25em 0.5em;
    text-align: center;
    font-size: 1.25em;
}

.contents3 .item .test table .border {
    border-top: solid 1px #3870cf;
    border-bottom: solid 1px #3870cf;
}

/*.contents3 .item .test .arrow-right {
    background: url(../images/arrow_right.png) no-repeat center center;
    background-size: 100%;
    text-indent: -9999px;
}*/

.contents3 .item .test .balloon03 {
    color: #fef380;
    width: 70px;
    height: 70px;
    text-align: center;
    padding-left: 15px;
    background: url(../images/balloon02.png) no-repeat center right;
    background-size: initial;
    font-size: 1.2em;
    font-weight: bold;
    line-height: 1.2;
}

.contents3 .item .test .balloon03 span {
    padding-left: 10px;
}

.contents3 .item .score {
    color: #3870cf;
    margin-bottom: 0.5em;
}

.contents3 .item .score {
    background: #fef380;
    display: flex;
    justify-content: center;
    align-items: center;
    border: solid 1px #ff9a01;
    line-height: 1.8em;
}

.contents3 .item .score tr {}

.contents3 .item .score td {
    padding: 0 0.5em;
    font-weight: bold;
}

.contents3 .item .score .arrow-right {
    background: url(../images/arrow_right.png) no-repeat center center;
    background-size: 100%;
    text-indent: -9999px;
}

.contents3 .item .score td:first-child {
    font-size: 30px;
}

.contents3 .item .score td:first-child span {
    font-size: 18px;
}

.contents3 .item .score td:last-child {
    font-size: 38px;
}

.contents3 .item .score td:last-child span {
    font-size: 20px;
}

.contents3 .item tr:last-child {
    font-size: 0.8em;
}

.contents4 {}

.contents4 .inner p {
    margin-bottom: 1em;
    line-height: 1.2;
}

.contents4 .inner h3 {
    width: 92%;
    border-radius: 50px;
    margin: 0 auto 1em auto;
    padding: 0.2em;
    color: #fff;
}

.contents4 .reason {
    margin-bottom: 3em;
}

.contents4 .reason h4 {
    font-size: 30px;
    text-align: center;
    margin-bottom: 0.5em;
}

.contents4 .reason p {
    font-size: 1.2em;
    text-align: left;
    line-height: 1.5;
}

.contents4 .reason>img {
    width: 100%;
}

.contents4 .reason div p {}

.contents4 .reason div img {
    margin-left: 1.5em;
    margin-top: -30px;
    margin-bottom: 5em;
}

.contents5 {}

.contents5 p {
    text-align: center;
    margin-bottom: 1em;
    line-height: 1.2;
}

.contents5 .info {
    margin-bottom: 2em;
}

.contents5 .info div {
    border-radius: 5px;
    vertical-align: top;
}

.contents5 .info div h3 {
    color: #fff;
    padding: 0;
    border-radius: 5px 5px 0 0;
    margin-bottom: 0.5em;
    width: 100%;
}

.contents5 .info .info01 {
    border: solid 1px #ff9a00;
    margin: 0 auto 1em auto;
    text-align: center;
    width: 90%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: left;
    -ms-flex-align: left;
    -webkit-align-items: left;
    align-items: left;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

.contents5 .info .info01>div {
    padding: 1em;
    text-align: center;
    width: 80%;
    margin: 0 auto;
}

.contents5 .info .info01 p {
    font-size: 16px;
    margin-bottom: 0.5em;
    text-align: right;
}

.contents5 .info .info01 dl {
    display: inline-block;
    width: 48%;
    margin: 0 auto;
}

.contents5 .info .info01 dt {
    display: inline-block;
    background: #0066cc;
    border-radius: 5px;
    font-size: 30px;
    color: #fff;
    padding: 0.5em;
    width: 30%;
    text-align: center;
    margin-bottom: 0.5em;
}

.contents5 .info .info01 dd {
    display: inline-block;
    margin-left: 0;
    color: #c1272d;
    font-size: 36px;
    padding: 0.5em;
    margin-bottom: 0.5em;
    font-weight: bold;
}

.contents5 .info .info01 dd span {
    font-size: 28px;
}

.contents5 .info .info02 {
    margin-bottom: 3em;
    text-align: center;
}

.contents5 .info .info02 img {
    width: 90%;
}

.contents6 .backup {
    margin-bottom: 2em;
}

.contents6 .backup>p,
.contents6 .backup>div {
    display: inline-block;
    width: 46%;
    padding: 0.5em;
    vertical-align: top;
}

.contents6 .backup>div h3 {
    font-size: 1.5em;
    margin-bottom: 1em;
}

.contents6 .backup>div>p {
    margin-bottom: 0.5em;
}

.contents6 .backup p img {
    width: 100%;
}

.contents7 {}

.contents7 .point {
    border: solid 10px #ffebcc;
    padding: 1em;
    margin-bottom: 2em;
    display: block;
}

.contents7 .point>span {
    width: 70px;
    height: 50px;
    color: #fff;
    background: rgba(255, 154, 0, 1);
    border-radius: 60px;
    font-size: 24px;
    display: block;
    float: left;
    padding: 25px 15px;
    line-height: 1.1;
    text-align: center;
    margin-right: 0.5em;
}

.contents7 .point h3 {
    font-size: 30px;
    margin: 1.25em 0;
    line-height: 1.2;
}

.contents7 .point .point_inner>div,
.contents7 .point .point_inner>p {
    display: inline-block;
    width: 48%;
    margin: 0.5em;
    vertical-align: top;
}

.contents7 .point .point_inner div h4 {
    font-size: 1.175em;
    margin-bottom: 1em;
    clear: both;
}

.contents7 .point .point_inner p img {
    width: 100%;
}

.contents8 {}

.contents8 .faq {
    padding: 1em;
    background: #e0e9f7;
    margin-bottom: 2em;
}

.contents8 .faq .inner {
    position: relative;
    bottom: 0;
    width: 100%;
    /* padding: 100px 0 10px; */
    text-align: center;
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 54%, rgba(255, 255, 255, 1) 100%);
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 54%, rgba(255, 255, 255, 1) 100%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 54%, rgba(255, 255, 255, 1) 100%);
    E10+,
    FF16+,
    Chrome26+,
    Opera12+,
    Safari7+*/: ;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff', endColorstr='#ffffff', GradientType=0);
    font-weight: bold;
    cursor: pointer;
    z-index: 999;
}

.contents8 .faq dl {}

.contents8 .faq dt {
    padding: 1em 1em 0.5em 1em;
    margin-bottom: 0;
    background: #fff;
    color: #ff9a00;
    font-size: 1.25em;
    font-weight: bold;
}

.contents8 .faq dt:before {
    content: 'Q.';
    display: inline-block;
    font-size: 1.5em;
    font-weight: bold;
    color: #ff9a00;
    margin-right: 0.5em;
}

.contents8 .faq dd {
    padding: 0.5em 1em 1em 1em;
    margin-left: 0;
    margin-bottom: 1em;
    background: #fff;
    font-size: 1.175em;
}

.contents8 .faq dd:before {
    content: 'A.';
    display: inline-block;
    font-size: 1.5em;
    font-weight: bold;
    color: #c1272d;
    margin-right: 0.5em;
}

.readmore-box {
    position: relative;
    z-index: 0;
    margin-bottom: 3em;
}

.readmore-box.onhidden {
    height: 200px;
    overflow-y: hidden;
}

.readmore-button-box {
    text-align: center;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.5), white);
    font-size: 15px;
    padding-bottom: 2.5em;
    padding-top: 7.5em;
    margin-top: -5.5em;
    position: relative;
}

.readmore a {
    display: block;
    width: 200px;
    background: linear-gradient(to bottom, #fff 0%, #cccccc 100%);
    -moz-box-shadow: 0px 1px 3px rgba(000, 000, 000, 0.5), inset 0px 0px 1px rgba(255, 255, 255, 0.7);
    -webkit-box-shadow: 0px 1px 3px rgba(000, 000, 000, 0.5), inset 0px 0px 1px rgba(255, 255, 255, 0.7);
    box-shadow: 0px 1px 3px rgba(000, 000, 000, 0.5), inset 0px 0px 1px rgba(255, 255, 255, 0.7);
    padding: 5px 20px;
    margin: 0 auto;
}

.readmore a:hover {
    cursor: pointer;
}

.readmore-box .readmore p i,
.readmore-box .close-wrapp p i {
    position: relative;
    top: -2px;
    padding-left: 0.5em;
}

.fa-caret-down:before {
    content: "\f0d7";
}

.contents9 .tel_box {
    width: 40%;
    margin: 3em auto;
    border: solid 10px #ff9a00;
    padding: 1.5em;
    text-align: center;
}

.contents9 .inner_head {
    background: #fcf3cc;
    padding: 1em;
}

.contents9 .inner_head h3 {
    background: #ffb00d;
    color: #fff;
    padding: 0.25em;
    margin-bottom: 0.5em;
    text-align: center;
    font-size: 2.25em;
}

.contents9 .inner_head .box {
    background: #fff;
    padding: 1em;
}

.contents9 .inner_head .box h4 {
    background: #9abf60;
    color: #fff;
    padding: 0.5em;
    text-align: center;
    font-size: 1.25em;
    border-radius: 25px;
    margin-bottom: 0.75em;
}

.contents9 .inner_head .box02 {
    display: inline-block;
    width: 49.6%;
    color: #333;
    vertical-align: bottom;
}

.contents9 .inner_head .box02 p {
    font-size: 1.175em;
    margin-bottom: 1em;
}

.contents9 .inner_head .box02 ul {
    background: #fcf2cb;
    padding: 1em;
}

.contents9 .inner_head .box02 li {
    font-size: 1.25em;
    font-weight: bold;
    margin-bottom: 0.25em;
}

.contents9 .inner_head .box02 li:before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url(../images/icon_checkmark02.png) no-repeat;
    background-size: contain;
    vertical-align: sub;
    padding-right: 5px;
    margin-top: 10px;
}

.contents9 .inner_head .box02 img {
    width: 100%;
}

form {
    width: 90%;
    margin: 0 auto;
}

form dl {
    margin-bottom: 10px;
}

form dl::after {
    content: '';
    display: table;
    clear: both;
    height: 0;
}

form dt {
    float: left;
    width: 30%;
    padding-top: 0.3em;
    text-align: right;
    padding: 0.5em;
    background: rgba(255, 154, 0, .15);
    margin-right: 1em;
}

form dt small {
    font-size: 0.7em;
}

form dt .must {
    display: block;
    position: relative;
    top: 0.2em;
    float: right;
    margin: 0 1.0em 0 1.0em;
    padding: 0.25em;
    border-radius: 2px;
    color: #fff;
    line-height: 1.0;
    font-size: 0.8em;
    background: #ff2f2f;
}

form dt .nini {
    display: block;
    position: relative;
    top: 0.2em;
    float: right;
    margin: 0 1.0em 0 1.0em;
    padding: 0.25em;
    border-radius: 2px;
    color: #fff;
    line-height: 1.0;
    font-size: 0.8em;
    background: #2965ca;
}

form dt.big01 {
    height: 10em;
}

form dt.big02 {
    height: 9em;
}

form dd {
    float: left;
    width: 62%;
    margin-left: 0;
}

form dd input[type='text'],
form dd input[type='email'],
form dd input[type='number'],
form dd textarea {
    display: block;
    width: 100%;
    padding: 0.4em 1.0em;
    border: #dadada 1px solid;
    border-radius: 3px;
    line-height: 1.4em;
    font-size: 16px;
    background: #f8f8f8;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

form dd textarea {
    min-height: 10em;
}

form dd select {
    display: inline-block;
    min-width: 32%;
    padding: 0.4em 1.0em;
    border: #dadada 1px solid;
    border-radius: 3px;
    line-height: 1.4em;
    font-size: 16px;
    background: #f8f8f8;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

form dd .select {
    display: inline-block;
    position: relative;
}

form dd .select::before {
    content: '▼';
    position: absolute;
    top: 50%;
    right: 1.5em;
    margin-top: -0.5em;
    font-size: 0.5em;
}

form dd label {
    display: inline-block;
    clear: both;
    margin-top: 0.25em;
    margin-right: 0.6em;
    margin-bottom: 0.5em;
}

form dd label input[type='radio'] {
    position: relative;
    top: 0.4em;
    float: ;
    width: 1.4em;
    height: 1.4em;
    margin-right: 0.25em;
    border: #dadada 1px solid;
    border-radius: 1.4em;
    background: #fff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

form dd label input[type='radio']:checked {
    border: #666 6px solid;
}

form p {
    margin: 2em 0;
    text-align: center;
}

form p input[type='submit'],
form p input[type='button'] {
    display: inline-block;
    min-width: 338px;
    width: 35%;
    margin: 0;
    padding: 0;
    border-radius: 5px;
    border: 0;
    color: #fff;
    line-height: 60px;
    font-size: 24px;
    font-weight: 600;
    text-align: center;
    outline: 0;
    transition: 0.4s;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

form p input[type='submit'] {
    background: url(../images/btn_submit.png) no-repeat center;
    background-size: contain;
    text-indent: -9999px;
    height: 60px;
    vertical-align: top;
}

form p input[type='button'] {
    background: url(../images/btn_return.png) no-repeat center;
    background-size: contain;
    text-indent: -9999px;
    border: none;
    height: 60px;
    vertical-align: top;
    padding: 0 7em;
}

form p input[type='submit']:hover,
form p input[type='button']:hover {
    transition: 0.4s;
    cursor: pointer;
}

/*form input[type='button'] {
    display: inline-block;
    min-width: 50%;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 30px;
    color: #fff;
    line-height: 60px;
    font-size: 24px;
    font-weight: 24px;
    text-align: center;
    outline: 0;
    transition: 0.4s;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #666;
    margin-right: 0.5em;
}

form input[type='button']:hover {
    background: #999;
}*/

form .notice {
    width: 1080px;
    margin: 0 auto 2em;
    padding: 20px;
    border: #ddd 1px solid;
    font-size: 1.4em;
    text-align: center;
    background: #f9f9f9;
}

form .notice b {
    font-size: 1.2em;
    font-weight: 600;
}

form .privacy-policy dd {
    background: #fff;
    border: solid 1px #e1e1e1;
    padding: 1em;
    max-height: 8em;
    overflow: scroll;
}

.contact_check .attention {
    color: #c1272d;
    text-align: center;
    margin-bottom: 1em;
    font-size: 1.2em;
}

.contact_check .confirmBody {}

.contact_check .error_messe {}

.contact_check th {
    background: rgba(255, 154, 0, .15);
}

.contact_send .inner h3 {
    text-align: center;
    margin-bottom: 1em;
    font-size: 1.5em;
}

.contact_send .inner p {
    text-align: center;
    margin-bottom: 1em;
    font-size: 1.2em;
}

.contact_send .inner p a {
    color: #0066cc;
}

.contact_send .inner p a:hover {
    text-decoration: underline;
}

.formTable {
    width: 100%;
}

.formTable th {
    width: 30%;
}

.formTable th,
.formTable td {
    padding: 1.0em;
    border-bottom: 1px solid #dedede;
    text-align: left;
}

form .Privacy {
    width: 960px;
    margin: 0 auto 2em;
    padding: 20px;
    border: #ddd 1px solid;
    border-radius: 4px;
    font-size: 0.85em;
    text-align: left;
    background: #fcfcfc;
}

form .Privacy h4 {
    margin-bottom: 10px;
    font-size: 1.2em;
    font-weight: 600;
    text-align: center;
}

form .Privacy p {
    margin-bottom: 10px;
}

form .Privacy .note {
    font-size: 0.9em;
    text-align: right;
}

form .Privacy>ol {
    padding-left: 3.0em;
    list-style: decimal;
}

form .Privacy>ol li {
    margin-bottom: 10px;
}

form .PrivacyNote {
    margin: 1.0em 0 0 !important;
    padding-top: 1.0em;
    border-top: #ddd 1px solid;
}

.zip1 {
    display: inline !important;
    width: 5.0em !important;
}

.zip2 {
    display: inline !important;
    width: 7.0em !important;
}

.contents10 {}

.contents10 .voice {}

.contents10 .voice ul {}

.contents10 .voice li {
    width: 31%;
    display: inline-block;
    margin: 0.5em;
    border: solid 1px #ff9a00;
    position: relative;
}

.contents10 .voice li img {
    width: 100%;
}

.contents10 .voice h3 {
    color: #fff;
    margin-bottom: 0.5em;
    padding: 0.5em 3.5em 0.5em 0.5em;
}

.contents10 .voice h3:after {
    content: '';
    display: inline-block;
    width: 50px;
    height: 50px;
    background: url(../images/icon_pencil.png) no-repeat center right;
    background-size: contain;
    position: absolute;
    right: 10px;
    top: 10px;
}

.contents10 .voice p {
    margin-bottom: 0.5em;
    text-align: center
}

.contents10 .voice p:last-child {
    margin-right: 10px;
}

.contents11 {}

.contents11 .message {}

.contents11 .message ul {}

.contents11 .message li {
    width: 28%;
    display: inline-block;
    margin: 0.5em;
    border: solid 1px #cccccc;
    padding: 1em;
    vertical-align: top;
}

.contents11 .message p {
    margin-bottom: 0.5em;
}

.contents11 .message p:first-child {
    text-align: center;
    font-weight: bold;
}

.contents11 .message li img {
    width: 100%;
}

.contents11 .message h3 {
    color: #c1272d;
    margin-bottom: 0.5em;
}

.contents11 .message img {}

.contents11 .relief ul {
    padding-top: 0;
}

.contents11 .relief>p {
    margin: 2em auto;
    text-align: center;
}

footer {
    padding: 20px 0 0;
    color: #404040;
    line-height: 1.4;
    font-size: 0.75em;
    text-align: center;
    background: #eeeeee;
}

footer .inner {
    max-width: 1280px;
}

.pageTop {
    display: block;
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 201;
    width: 50px;
    height: 50px;
    background: rgba(110, 110, 110, 0.75);
    cursor: pointer;
    position: fixed;
    bottom: 10%;
    right: 3%;
    z-index: 99999;
    color: #fff;
    border-radius: 50%;
}

.pageTop::before {
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 7px;
    height: 7px;
    margin: -3px 0 0 -5px;
    border: transparent 2px solid;
    border-top: #fff 2px solid;
    border-right: #fff 2px solid;
    transform: rotate(-45deg);
}

footer dl {
    margin-bottom: 20px;
}

footer dl dt {
    position: relative;
    margin-bottom: 30px;
    font-size: 1.1em;
    font-weight: 600;
}

footer dl dd {
    margin-left: 0;
}

footer .copyright {
    display: block;
    color: rgba(255, 255, 255, 0.6);
    line-height: 50px;
    font-size: 0.9em;
    font-style: italic;
    text-align: center;
    background: #0066cc;
}

.contact_check {
    padding-top: 108px;
}

@media screen and (min-width:2000px) {
    .bg_img02 .inner {
        max-width: 1100px;
        height: 55vh;
    }
}

/*@media screen and (orientation: landscape) {
    .bg_img02 .inner {
        height: 145vh;
    }
}*/

@media screen and (max-width:960px) {
    /* 画面サイズが601pxから960pxまではここを読み込む */

    .header {
        position: inherit;
    }

    section {
        margin: 0 auto 3em auto;
        padding-top: 0;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
        height: auto;
    }

    .inner {
        width: auto;
        padding: 0 0.5em;
    }

    header.sp h1 {
        float: none;
        text-align: center;
        font-size: 12px;
        display: block;
        width: 100%;
    }

    /*    header.sp {
         margin-top: 0;
    }

    header.sp h1 {
        float: none;
        text-align: center;
        font-size: 11px;
    }
*/

    header.sp .inner {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    header.sp .inner p {
        width: 45%;
    }

    header.sp .inner p img {
        width: 100%;
    }

    header.sp .inner ul {
        float: right;
        width: 35%;
        text-align: right;
    }

    header.sp .inner ul li {
        width: 32%;
        display: inline-block;
        vertical-align: top;
        margin-left: 5px;
        font-size: 0;
    }

    header.sp .inner ul li img {
        width: 100%;
    }

    header.sp .inner ul .tel:before {
        display: none;
    }

    .main_visual {
        padding-top: 0;
    }

    .main_visual .min {
        padding-right: 0.5rem;
    }

    /* cv_area */
    a.btn {
        font-size: 1.7rem;
        line-height: 1;
        padding: 1rem 4rem;
        vertical-align: middle;
    }

    .btn-wrap {
        margin: 30px 0;
    }

    a.btn-c {
        font-size: 1.7rem;
        position: relative;
        padding: 2rem 1.8rem 1rem 1.8rem;
        color: #fff;
        background: #32b16c;
        -webkit-box-shadow: 0 5px 0 #2c9d60;
        box-shadow: 0 5px 0 #2c9d60;
    }

    a.btn-c.tel {
        padding: 2rem 2rem 1rem 2rem;
    }

    a.btn-c span {
        font-size: 0.8rem;
        left: calc(50% - 121px);
        width: 230px;
        padding: 0.3rem 0.2rem;
    }

    a.btn-c:hover {
        -webkit-transform: translate(0, 3px);
        transform: translate(0, 3px);

        color: #fff;
        background: #30a967;
        -webkit-box-shadow: 0 2px 0 #2c9d60;
        box-shadow: 0 2px 0 #2c9d60;
    }

    a.btn-c.tel:hover {
        background: #ca2329;
        -webkit-box-shadow: 0 2px 0 #ca2329;
        box-shadow: 0 2px 0 #b52a30;
    }

    a.btn-c:hover:before {
        left: 2rem;
    }

    section h2 {
        font-size: 1.2em;
    }

    section h2 span {
        font-size: 1.5em;
    }

    .trouble .parent {
        height: 16em;
        padding: 1em 1em 0 1em;
    }

    .trouble .parent img {
        position: absolute;
        bottom: 0;
        right: 2em;
        width: 15%;
        left: auto;
        display: block;
        z-index: 999;
    }

    .trouble .parent>div {
        float: none;
        width: 100%;
        margin-top: 0em;
    }

    .trouble>div h3 {
        font-size: 1.2em;
    }

    .trouble>div h3 span {
        font-size: 1.5em;
    }

    .trouble>div li {
        font-size: 1em;
    }

    .trouble>div li:before {
        width: 25px;
        height: 25px;
    }

    .trouble .child {
        height: 16em;
        padding: 1em 1em 0 1em;
    }

    .trouble .child>div {
        float: none;
        width: 100%;
        margin-top: 0;
    }

    .trouble .child img {
        float: none;
        bottom: 0;
        right: 2em;
        width: 15%;
        display: block;
        z-index: 999;
    }

    .relief .inner,
    .relief .inner_lower {
        margin-top: -9em;
    }

    .arrow01 {
        height: 2em;
    }

    .box01 {
        width: 95%;
        padding: 0.5em;
    }

    .box01 .box_inner {
        /*padding-left: 16%;*/
    }

    .text01 {
        font-size: 1.2em;
        /*padding: 0 0.5em;*/
    }

    .text01 span {
        font-size: 1.5em;
    }

    .text02 {
        font-size: 1em;
        padding: 0 0.5em;
    }

    .text02 span {
        font-size: 1.2em;
    }

    .balloon01 {
        /*top: 15%;
        left: 4%;
        padding: 3% 0;*/
        height: 90px;
        width: 90px;
        font-size: 0.9em;
    }

    .txt01 {
        font-size: 30px;
    }

    .txt01 span {
        font-size: 25px;
    }

    .box06 {
        width: 80%;
        padding: 0.5em;
    }

    .to_form {
        width: 90%;
    }

    .to_form .attention {
        font-size: 0.8em;
        margin-bottom: 0;
        /* margin-top: 0.5em; */
        text-align: right;
        line-height: 1;
    }

    .to_form img {
        width: 90%;
        margin-left: 2em;
        max-width: 634px;
    }

    .to_form_btn .rect {
        top: 54px;
        left: -80px;
    }

    .to_form_btn .rect img {
        width: 75%;
    }

    .solution ul {
        width: 95%;
    }

    .solution li {
        width: 24.3%;
        margin: 0em;
    }

    .solution li span {
        font-size: 0.8em;
        width: 100%;
        padding: 3px 0 0 0;
        text-align: center;
    }

    .solution p {
        font-size: 1.2em;
    }

    .solution p span {
        font-size: 1.5em;
    }

    .solution p:last-child {
        font-size: 1em;
    }

    .experience h3 {
        font-size: 1.2em;
    }

    .experience h3 span {
        font-size: 1.5em;
    }

    .experience ul {
        margin: 0 auto;
        padding: 1em;
    }

    .experience li {
        font-size: 1em;
    }

    .experience li:before {
        width: 1.5em;
        height: 1.5em;
    }

    .experience p {
        padding: 0 1em;
    }

    .box07 {
        font-size: 1.2em;
    }

    .balloon02 {
        width: 100px;
        height: 100px;
        font-size: 14px;
    }

    .relief .bg_img01 {
        background-size: contain;
        margin-top: -10px;
        height: 0;
        padding-top: 38.57142857142857%;
    }

    .relief ul {
        max-width: 1100px;
        margin: 0em auto;
        width: 95%;
    }

    .relief li {
        width: 47.5%;
        font-size: 0.8em;
    }

    .relief li:before {
        width: 25px;
        height: 25px;
    }

    .relief li:last-child {
        width: 97.5%;
    }

    .bg_img02 {
        background: url(../images/sub_img02.png) no-repeat top center;
        background-size: contain;
    }

    .bg_img02 .inner {
        width: 70%;
        height: 73vh;
        /*height: auto;*/
    }

    .bg_img02 .inner>div {
        width: 60%;
        margin: 0 auto;
    }

    .bg_img02 dl {
        float: none;
        margin: 0 auto;
        width: 100%;
    }

    .bg_img02 dl.left {
        position: absolute;
        bottom: 160px;
    }

    .bg_img02 dt {
        font-size: 1.2em;
    }

    .bg_img02 dd {
        width: 65%;
        font-size: 1.2em;
    }

    .bg_img02 dd span {
        font-size: 1em;
    }

    .bg_img02 dl.right {
        position: absolute;
        left: 0;
        bottom: 77px;
    }

    .bg_img02 p {
        position: absolute;
        padding: 0.5em;
        text-align: center;
        margin: 0.5em auto;
        border-radius: 5px;
    }

    @media all and (-ms-high-contrast: none) {
        .bg_img02 dl.left {
            bottom: 51%;
        }
    }

    .box04 {
        font-size: 1em;
        clear: both;
    }

    .box04 p {
        font-size: 1.2em;
    }

    .box04 p span {
        font-size: 1.5em;
    }

    .box04 .balloon02 {
        width: 80px;
        height: 80px;
        font-size: 16px;
    }

    .course>div {
        width: 90%;
        display: block;
        vertical-align: top;
        margin: 0 auto 1em auto;
    }

    .course01 .arrow02,
    .course02 .arrow02 {
        display: none;
    }

    .course .course03 {
        margin-right: auto;
    }

    .box05 p {
        font-size: 1.2em;
    }

    .box05 p span {
        font-size: 1.5em;
    }

    .contents3 .inner>ul>li {
        width: 30%;
    }

    .contents4 .inner h3 {
        width: 90%;
        padding: 0.7em;
        font-size: 1em;
    }

    .contents4 .reason h4 {
        font-size: 1.2em;
        padding: 0 1em;
    }

    .contents4 .reason p {
        font-size: 1em;
        padding: 1em;
    }

    .contents4 .reason img {
        width: 100%;
    }

    .contents4 .reason div img {
        margin-left: 1em;
        margin-top: 0;
        margin-bottom: 0.5em;
        width: 45%;
    }

    .contents5 .info div {}

    .contents5 .info .info01 p {
        font-size: 1em;
    }

    .contents5 .info .info01 dl {}

    .contents5 .info .info01 dt {
        font-size: 1.2em;
    }

    .contents5 .info .info01 dd {
        font-size: 1.5em;
        padding: 0.25em;
    }

    .contents5 .info .info01 dd span {
        font-size: 0.7em;
    }

    .contents5 .info .info02 li {
        font-size: 1em;
    }

    .contents6 .backup p {}

    .contents7 .point {
        border: solid 10px #ffebcc;
        padding: 0.5em;
    }

    .contents7 .point span {}

    .contents7 .point h3 {}

    .contents7 .point .point_inner {}

    .contents7 .point .point_inner>div,
    .contents7 .point .point_inner>p {
        display: inline-block;
        width: 46%;
        margin: 0.5em;
        vertical-align: top;
    }

    .contents7 .point .point_inner div p {}

    .contents8 .faq dt {
        font-size: 1em;
    }

    .contents8 .faq dd {
        font-size: 1em;
    }

    .contents9 {
        padding-top: 0;
    }

    .contents9 .tel_box {
        width: 86%;
    }

    form dt {
        float: none;
        width: 97%;
        text-align: left;
        padding: 0.5em;
        margin-bottom: 0.5em;
        background: rgba(255, 154, 0, .15);
    }

    form dt .must,
    form dt .nini {
        display: inline;
        position: initial;
        top: 0;
        float: none;
    }

    form dt.big01,
    form dt.big02 {
        height: auto;
    }

    form dd {
        float: none;
        width: 95%;
        margin-bottom: 1em;
    }

    .contents10 .voice ul {
        width: 95%;
        margin: 0 auto;
    }

    .contents10 .voice li {
        width: 46%;
    }

    .contents10 .voice li img {
        width: 100%;
    }

    .contents10 .voice h3:after {
        width: 40px;
        height: 40px;
        right: 10px;
        top: 2px;
    }

    .contents11 .message li {
        width: 41%;
        display: inline-block;
        margin: 0.5em;
    }

    .contents11 .message li img {
        width: 100%;
    }

    .contents11 .message p:nth-child(2) {
        text-align: center;
    }

    .contents11 .relief img {
        width: 100%;
        max-width: 769px;
    }

    .footer_nav {
        height: auto;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        background: #fff;
        z-index: 9999;
    }

    .footer_nav ul {
        border: solid 1px #ccc;
        text-align: center;
    }

    .footer_nav ul li {
        width: 49.4%;
        display: inline-block;
        vertical-align: top;
        font-size: 0;
    }

    .footer_nav ul li img {
        width: 100%;
    }

    .footer_nav ul li.tel:before {
        content: '';
        display: none;
    }

    .footer_nav ul li a {}

    footer {
        padding-bottom: 38px;
    }

    .contact_check {
        padding-top: 0;
    }
}

@media screen and (max-width:600px) {

    /* 画面サイズが481pxからはここを読み込む */
    section {
        margin: 0 auto 3em auto;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .inner {
        width: auto;
        padding: 0 0.5em;
    }

    header.sp h1 {
        float: none;
        text-align: center;
        font-size: 12px;
    }

    header.sp {
        margin-top: 0;
    }

    header.sp h1 {
        float: none;
        text-align: center;
        font-size: 11px;
    }

    header.sp .inner {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    header.sp .inner p {
        width: 60%;
    }

    header.sp .inner p img {
        width: 100%;
    }

    .main_visual {
        padding-top: 0;
    }

    .cv_area {
        display: block;
        text-align: center;
    }

    section h2 {
        font-size: 1.2em;
    }

    section h2 span {
        font-size: 1.5em;
    }

    .trouble .parent {
        height: 14em;
        padding: 1em 1em 0 1em;
    }

    .trouble .parent img {
        position: absolute;
        bottom: 0;
        right: 2em;
        width: 30%;
        left: unset;
        display: none;
    }

    .trouble .parent>div {
        float: none;
        width: 100%;
        margin-top: 0em;
    }

    .trouble>div h3 {
        font-size: 1.2em;
    }

    .trouble>div h3 span {
        font-size: 1.5em;
    }

    .trouble>div li {
        font-size: 1em;
    }

    .trouble>div li:before {
        width: 25px;
        height: 25px;
    }

    .trouble .child {
        height: 14em;
        padding: 1em 1em 0 1em;
    }

    .trouble .child>div {
        float: none;
        width: 100%;
        margin-top: 0;
    }

    .trouble .child img {
        float: none;
        bottom: 0;
        right: 2em;
        width: 30%;
        display: none;
    }

    .relief .inner,
    .relief .inner_lower {
        margin-top: -5em;
    }

    .arrow01 {
        height: 2em;
    }

    .box01 {
        width: 95%;
        padding: 0.5em;
    }

    .box01 .box_inner {
        /*padding-left: 20%;*/
    }

    .text01 {
        font-size: 1.2em;
        /*padding: 0 0.5em;*/
    }

    .text01 span {
        font-size: 1.5em;
    }

    .text02 {
        font-size: 1em;
        padding: 0 0.5em;
    }

    .text02 span {
        font-size: 1.2em;
    }

    .balloon01 {
        /*top: 8px;
        left: 4%;
        padding-top: 17px;*/
        height: 90px;
        width: 90px;
        font-size: 15px;
    }

    .txt01 {
        font-size: 30px;
    }

    .txt01 span {
        font-size: 25px;
    }

    .box06 {
        width: 80%;
        padding: 0.5em;
    }

    .to_form {
        width: 90%;
    }

    .to_form .attention {
        font-size: 0.8em;
        margin-bottom: 0;
        /* margin-top: 0.5em; */
        text-align: right;
        line-height: 1;
    }

    .to_form img {
        width: 100%;
        max-width: 634px;
    }

    .to_form_btn .rect {
        top: 52px;
        left: -40px;
    }

    .solution li {
        width: 47%;
        margin: 0.3em;
    }

    .solution li span {
        font-size: 1em;
        width: 100%;
        padding: 3px 0 0 0;
        text-align: center;
    }

    .solution p {
        font-size: 1.2em;
    }

    .solution p span {
        font-size: 1.5em;
    }

    .solution p:last-child {
        font-size: 1em;
    }

    .experience h3 {
        font-size: 1.2em;
    }

    .experience h3 span {
        font-size: 1.5em;
    }

    .experience ul {}

    .experience li {
        font-size: 1em;
    }

    .experience li:before {
        width: 1.5em;
        height: 1.5em;
    }

    .experience p {
        padding: 0 1em;
    }

    .box07 {
        font-size: 1.2em;
    }

    .balloon02 {
        width: 80px;
        height: 80px;
        font-size: 12px;
    }

    .relief .bg_img01 {
        background-size: contain;
        margin-top: -10px;
        height: 0;
        padding-top: 38.57142857142857%;
    }

    .relief ul {
        max-width: 1100px;
        margin: 0em auto;
    }

    .relief li {
        width: 100%;
        font-size: 1em;
    }

    .relief li:before {
        width: 25px;
        height: 25px;
    }

    .relief li:last-child {
        width: 100%;
    }

    .bg_img02 {
        background: url(../images/sub_img02.png) no-repeat top center;
        background-size: contain;
        height: 34em;
    }

    .bg_img02 .inner {
        height: 76vh;
    }

    .bg_img02 dl {
        float: none;
        width: 90%;
        margin: 0 auto;
    }

    .bg_img02 dl.left {
        position: absolute;
        bottom: 229px;
    }

    .bg_img02 dt {
        font-size: 17px;
    }

    .bg_img02 dd {
        width: 60%;
        font-size: 17px;
    }

    .bg_img02 dd span {
        font-size: 1em;
    }

    .bg_img02 dl.right {
        position: absolute;
        left: 0;
        right: auto;
        bottom: 77px;
    }

    .bg_img02 p {
        position: absolute;
        padding: 0.5em;
        text-align: center;
        margin: 0.5em auto;
        border-radius: 5px;
        font-size: 14px;
    }

    .box04 {
        font-size: 1em;
    }

    .box04 p {
        font-size: 1.2em;
    }

    .box04 p span {
        font-size: 1.5em;
    }

    .box04 .balloon02 {
        width: 80px;
        height: 80px;
        font-size: 16px;
    }

    .course>div {
        width: 90%;
        display: block;
        vertical-align: top;
        margin: 0 auto 1em auto;
    }

    .course01 .arrow02,
    .course02 .arrow02 {
        display: none;
    }

    .course .course03 {
        margin-right: auto;
    }

    .box05 p {
        font-size: 1.2em;
    }

    .box05 p span {
        font-size: 1.5em;
    }

    .contents3 .inner>ul>li {
        width: 97%;
    }

    .contents4 .inner h3 {
        width: 90%;
        padding: 0.7em;
        font-size: 1em;
    }

    .contents4 .reason h4 {
        font-size: 1.2em;
        padding: 0 1em;
    }

    .contents4 .reason p {
        font-size: 1em;
        padding: 1em;
    }

    .contents4 .reason img {
        width: 100%;
    }

    .contents4 .reason div img {
        margin-left: 0;
        margin-top: 0;
        margin-bottom: 0.5em;
        width: 45%;
    }

    .contents5 .info div {}

    .contents5 .info .info01>div {
        padding: 1em 0;
    }

    .contents5 .info .info01 p {
        font-size: 1em;
        text-align: center;
    }

    .contents5 .info .info01 dl {
        width: 60%;
        text-align: left;
    }

    .contents5 .info .info01 dt {
        font-size: 1.2em;
    }

    .contents5 .info .info01 dd {
        font-size: 1.5em;
        padding: 0.25em;
    }

    .contents5 .info .info01 dd span {
        font-size: 0.7em;
    }

    .contents5 .info .info02 li {
        font-size: 1em;
    }

    .contents6 .backup {
        margin-bottom: 2em;
        width: auto;
        padding: 0.5em 1em;
    }

    .contents6 .backup>p,
    .contents6 .backup>div {
        display: block;
        width: 97%;
    }

    .contents6 .backup p {
        margin: 0 auto 1em auto;
    }

    .contents7 .point {
        border: solid 10px #ffebcc;
        padding: 0.5em;
    }

    .contents7 .point span {}

    .contents7 .point h3 {}

    .contents7 .point .point_inner {
        width: 100%;
    }

    .contents7 .point .point_inner>div,
    .contents7 .point .point_inner>p {
        display: block;
        width: 100%;
    }

    .contents7 .point .point_inner div p {}

    .contents9 .inner_head .box02 {
        display: block;
        width: 100%;
    }

    .contents9 .tel_box {
        width: 80%;
    }

    form dt {
        float: none;
        width: 100%;
        text-align: left;
    }

    form dt .must {
        display: inline;
        position: initial;
        top: 0;
        float: none;
    }

    form dd {
        float: none;
        width: 95%;
    }

    .contents10 .voice ul {
        width: 95%;
        margin: 0 auto;
    }

    .contents10 .voice li {
        width: 95%;
    }

    .contents10 .voice h3:after {
        width: 40px;
        height: 40px;
        right: 10px;
        top: 2px;
    }

    .contents11 .message li {
        width: 85%;
        display: block;
        margin: 0 auto;
    }

    .contents11 .message p:nth-child(2) {
        text-align: center;
    }

    .contents11 .relief img {
        width: 100%;
    }

    .contact_check {
        padding-top: 0;
    }
}

@media screen and (max-width:480px) {

    /* 画面サイズが480pxまではここを読み込む */
    section {
        margin: 0 auto 3em auto;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .new_line {
        display: block;
    }

    .inner {
        width: auto;
        padding: 0 0.5em;
    }

    header.sp {
        margin-top: 0;
    }

    header.sp h1 {
        float: none;
        text-align: center;
        font-size: 11px;
    }

    header.sp .inner {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    header.sp .inner p {
        width: 80%;
    }

    header.sp .inner p img {
        width: 100%;
    }

    .main_visual {
        padding-top: 0;
    }

    section h2 {
        font-size: 1.2em;
    }

    section h2 span {
        font-size: 1.5em;
    }

    .trouble .parent {
        height: auto;
        padding: 1em;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-align: left;
        -ms-flex-align: left;
        -webkit-align-items: left;
        align-items: left;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .trouble .parent img {
        position: absolute;
        bottom: 0;
        right: 2em;
        width: 30%;
        left: unset;
        display: none;
    }

    .trouble .parent>div {
        float: none;
        width: 100%;
        margin-top: 0em;
    }

    .trouble>div h3 {
        font-size: 1.2em;
    }

    .trouble>div h3 span {
        font-size: 1.5em;
    }

    .trouble>div li {
        font-size: 1em;
    }

    .trouble>div li:before {
        width: 20px;
        height: 20px;
    }

    .trouble .child {
        height: auto;
        padding: 1em;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-align: left;
        -ms-flex-align: left;
        -webkit-align-items: left;
        align-items: left;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .trouble .child>div {
        float: none;
        width: 100%;
        margin-top: 0;
    }

    .trouble .child img {
        float: none;
        bottom: 0;
        right: 2em;
        width: 30%;
        display: none;
    }

    .arrow01 {
        height: 2em;
    }

    .box01 {
        width: 95%;
        padding: 0.5em;
    }

    .box01 .box_inner {
        /*padding-left: 20%;*/
    }

    .text01 {
        font-size: 1.2em;
        /*padding: 0 0.5em;*/
    }

    .text01 span {
        font-size: 1.45em;
    }

    .text02 {
        font-size: 1em;
        padding: 0 0.5em;
    }

    .text02 span {
        font-size: 1.2em;
    }

    .balloon01 {
        /*top: 20%;
        left: 1%;
        padding-top: 17px;*/
        height: 150px;
        width: 150px;
        font-size: 14px;
    }

    .txt01 {
        font-size: 30px;
    }

    .txt01 span {
        font-size: 25px;
    }

    .box06 {
        width: 80%;
        padding: 0.5em;
    }

    .to_form {
        width: 90%;
    }

    .to_form_btn img {
        position: relative;
        width: 90%;
        margin-left: 1em;
    }

    .to_form_btn.poyopoyo img {
        margin-left: 0;
    }

    .to_form .attention {
        font-size: 0.8em;
        margin-bottom: 0;
        /* margin-top: 0.5em; */
        text-align: right;
        line-height: 1;
    }

    .to_form img {
        width: 100%;
        max-width: 634px;
    }

    .to_form_btn .rect {
        top: 32px;
        left: -35px;
    }

    .solution li {
        width: 46%;
        margin: 0.3em;
    }

    .solution li span {
        font-size: 1em;
        width: 100%;
        padding: 3px 0 0 0;
        text-align: center;
    }

    .solution p {
        font-size: 1.2em;
    }

    .solution p span {
        font-size: 1.5em;
    }

    .solution p:last-child {
        font-size: 1em;
    }

    .experience h3 {
        font-size: 1.2em;
    }

    .experience h3 span {
        font-size: 1.5em;
    }

    .experience ul {}

    .experience li {
        font-size: 1em;
    }

    .experience li:before {
        width: 1.5em;
        height: 1.5em;
    }

    .experience p {
        padding: 0 1em;
    }

    .box07 {
        font-size: 1.2em;
    }

    .balloon02 {
        width: 80px;
        height: 80px;
        font-size: 12px;
    }

    .relief .bg_img01 {
        background-size: contain;
        margin-top: -10px;
        height: 0;
        padding-top: 38.57142857142857%;
    }

    .relief ul {
        max-width: 1100px;
        margin: 0em auto;
        width: 95%;
    }

    .relief li {
        width: 100%;
        font-size: 1em;
    }

    .relief li:before {
        width: 25px;
        height: 25px;
    }

    .relief li:last-child {
        width: 100%;
    }

    .bg_img02 {
        background: url(../images/sub_img02.png) no-repeat top center;
        background-size: contain;
        margin-bottom: 2em;
        height: auto;
        padding: 1em;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-align: left;
        -ms-flex-align: left;
        -webkit-align-items: left;
        align-items: left;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .bg_img02 .inner {
        height: 44vh;
        width: 100%;
        padding: 0;
    }

    .bg_img02 dl {
        float: none;
        width: 90%;
        margin: 0 auto;
    }

    .bg_img02 dl.left {
        position: absolute;
        right: 0;
        bottom: 160px;
    }

    .bg_img02 dt {
        font-size: 17px;
    }

    .bg_img02 dd {
        width: 63%;
        font-size: 17px;
    }

    .bg_img02 dd span {
        font-size: 14px;
    }

    .bg_img02 dl.right {
        position: absolute;
        right: 0;
        bottom: 77px;
    }

    .bg_img02 p {
        position: absolute;
        padding: 0.5em;
        text-align: center;
        margin: 0.5em auto;
        border-radius: 5px;
    }

    .box04 {
        font-size: 1em;
    }

    .box04 p {
        font-size: 1.2em;
    }

    .box04 p span {
        font-size: 1.45em;
    }

    .box04 .balloon02 {
        width: 100px;
        height: 100px;
        font-size: 14px;
    }

    .course>div {
        width: 90%;
        display: block;
        vertical-align: top;
        margin: 0 auto 1em auto;
    }

    .course01 .arrow02,
    .course02 .arrow02 {
        display: none;
    }

    .course .course03 {
        margin-right: auto;
    }

    .box05 p {
        font-size: 1.2em;
    }

    .box05 p span {
        font-size: 1.5em;
    }

    .contents3 .inner>ul>li {
        width: 95%;
    }

    .contents4 .inner h3 {
        width: 90%;
        padding: 0.7em;
        font-size: 1em;
    }

    .contents4 .reason h4 {
        font-size: 1.2em;
        padding: 0 1em;
    }

    .contents4 .reason .scroll {
        overflow: auto;
        white-space: nowrap;
    }

    .contents4 .reason p {
        font-size: 1em;
        padding: 1em;
    }

    .contents4 .reason .scroll img {
        width: 650px;
    }

    .contents4 .reason div img {
        margin-left: 0;
        margin-top: 0;
        margin-bottom: 0.5em;
        width: 45%;
    }

    .contents5 .info div {}

    .contents5 .info .info01>div {
        width: 100%;
    }

    .contents5 .info .info01 p {
        font-size: 1em;
    }

    .contents5 .info .info01 dl {
        width: 60%;
    }

    .contents5 .info .info01 dt {
        font-size: 1.2em;
    }

    .contents5 .info .info01 dd {
        font-size: 1.5em;
        padding: 0.25em;
    }

    .contents5 .info .info01 dd span {
        font-size: 0.7em;
    }

    .contents5 .info .info02 li {
        font-size: 1em;
    }

    .contents6 .backup {
        margin-bottom: 2em;
        width: auto;
        padding: 0.5em 1em;
    }

    .contents6 .backup>p,
    .contents6 .backup>div {
        display: block;
        width: 95%;
    }

    .contents6 .backup p {
        margin: 0 auto 1em auto;
    }

    .contents7 .point {
        border: solid 10px #ffebcc;
        padding: 0.5em;
    }

    .contents7 .point span {
        margin-bottom: 0.5em;
    }

    .contents7 .point h3 {
        font-size: 22px;
        margin: 1em 0;
        line-height: 1.2;
    }

    .contents7 .point .point_inner {
        width: 100%;
    }

    .contents7 .point .point_inner div p {
        display: inline-block;
        width: 96%;
    }

    .contents9 .tel_box {
        width: 80%;
    }

    form dt {
        float: none;
        width: 100%;
        text-align: left;
    }

    form dt .must {
        display: inline;
        position: initial;
        top: 0;
        float: none;
    }

    form dt .nini {
        display: inline;
        position: initial;
        top: 0;
        float: none;
    }

    form dd {
        float: none;
        width: 95%;
    }

    .contents10 .voice ul {
        width: 95%;
        margin: 0 auto;
    }

    .contents10 .voice li {
        width: 95%;
    }

    .contents10 .voice h3:after {
        width: 40px;
        height: 40px;
        right: 10px;
        top: 2px;
    }

    .contents11 .message li {
        width: 85%;
        display: block;
        margin: 0 auto;
    }

    .contents11 .message p:nth-child(2) {
        text-align: center;
    }

    .contents11 .relief img {
        width: 100%;
    }

    .contact_check {
        padding-top: 0;
    }
}

@media screen and (max-width:374px) {

    /* 画面サイズが320pxまではここを読み込む */
    section {
        margin: 0 auto 3em auto;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .inner {
        width: auto;
        padding: 0 0.5em;
    }

    header.sp h1 {
        float: none;
        text-align: left;
        font-size: 11px;
    }

    header.sp .inner {}

    header.sp .inner p {
        float: left;
        width: 60%;
    }

    header.sp .inner p img {
        width: 100%;
    }

    header.sp .inner aside {
        float: right;
        width: 35%;
        text-align: right;
    }

    header.sp .inner aside p {
        width: 32%;
        display: inline-block;
        vertical-align: top;
        margin-left: 5px;
        font-size: 0;
    }

    header.sp .inner aside p img {
        width: 100%;
    }

    header.sp .inner aside .tel:before {
        display: none;
    }

    .main_visual {
        padding-top: 0;
    }

    section h2 {
        font-size: 1.2em;
    }

    section h2 span {
        font-size: 1.5em;
    }

    .trouble .parent {
        height: 30em;
        padding: 1em 1em 0 1em;
    }

    .trouble .parent img {
        position: absolute;
        bottom: 0;
        right: 2em;
        width: 30%;
        left: unset;
        display: none;
    }

    .trouble .parent>div {
        float: none;
        width: 100%;
        margin-top: 0em;
    }

    .trouble>div h3 {
        font-size: 1.2em;
    }

    .trouble>div h3 span {
        font-size: 1.5em;
    }

    .trouble>div li {
        font-size: 1em;
    }

    .trouble>div li:before {
        width: 25px;
        height: 25px;
    }

    .trouble .child {
        height: 30em;
        padding: 1em 1em 0 1em;
    }

    .trouble .child>div {
        float: none;
        width: 100%;
        margin-top: 0;
    }

    .trouble .child img {
        float: none;
        bottom: 0;
        right: 2em;
        width: 30%;
        display: none;
    }

    .arrow01 {
        height: 2em;
    }

    .box01 {
        width: 95%;
        padding: 0.5em;
    }

    .box01 .box_inner {
        /*padding-left: 22%;*/
    }

    .text01 {
        font-size: 1.2em;
        padding: 0 0.5em;
    }

    .text01 span {
        font-size: 1.3em;
    }

    .text02 {
        font-size: 1em;
        padding: 0 0.5em;
    }

    .text02 span {
        font-size: 1.2em;
    }

    .balloon01 {
        height: 150px;
        width: 150px;
        font-size: 14px;
    }

    .txt01 {
        font-size: 30px;
    }

    .txt01 span {
        font-size: 25px;
    }

    .box06 {
        width: 80%;
        padding: 0.5em;
    }

    .to_form {
        width: 90%;
    }

    .to_form .attention {
        font-size: 0.8em;
        margin-bottom: 0;
        /* margin-top: 0.5em; */
        text-align: right;
        line-height: 1;
    }

    .to_form img {
        width: 100%;
        max-width: 634px;
    }

    .to_form_btn .rect {
        top: 25px;
        left: -30px;
    }

    .solution li {
        width: 46%;
        margin: 0.3em;
    }

    .solution li span {
        font-size: 0.8em;
        width: 100%;
        padding: 3px 0 0 0;
        text-align: center;
    }

    .solution p {
        font-size: 1.2em;
    }

    .solution p span {
        font-size: 1.5em;
    }

    .solution p:last-child {
        font-size: 1em;
    }

    .experience h3 {
        font-size: 1.2em;
    }

    .experience h3 span {
        font-size: 1.5em;
    }

    .experience ul {}

    .experience li {
        font-size: 1em;
    }

    .experience li:before {
        width: 1.5em;
        height: 1.5em;
    }

    .experience p {
        padding: 0 1em;
    }

    .box07 {
        font-size: 1.1em;
    }

    .balloon02 {
        width: 100px;
        height: 100px;
        font-size: 14px;
    }

    .relief .bg_img01 {
        background-size: contain;
        margin-top: -10px;
        height: 0;
        padding-top: 38.57142857142857%;
    }

    .relief ul {
        max-width: 1100px;
        margin: 0em auto;
    }

    .relief li {
        width: 100%;
        font-size: 1em;
    }

    .relief li:before {
        width: 25px;
        height: 25px;
    }

    .relief li:last-child {
        width: 100%;
    }

    .bg_img02 {
        background: url(../images/sub_img02.png) no-repeat;
        background-size: contain;
        height: 25em;
    }

    .bg_img02 dl {
        float: none;
        width: 90%;
        margin: 0 auto;
    }

    .bg_img02 dl.left {
        position: absolute;
        bottom: 223px;
    }

    .bg_img02 dt {
        width: 24%;
        font-size: 1em;
    }

    .bg_img02 dd {
        width: 60%;
        font-size: 1em;
    }

    .bg_img02 dd span {
        font-size: 1em;
    }

    .bg_img02 dl.right {
        position: absolute;
    }

    .bg_img02 p {
        position: absolute;
        padding: 0.5em;
        text-align: center;
        margin: 0.5em auto;
        border-radius: 5px;
    }

    .box04 {
        font-size: 1em;
    }

    .box04 p {
        font-size: 1.2em;
    }

    .box04 p span {
        font-size: 1.3em;
    }

    .box04 .balloon02 {
        width: 100px;
        height: 100px;
        font-size: 18px;
    }

    .course>div {
        width: 90%;
        display: block;
        vertical-align: top;
        margin: 0 auto 1em auto;
    }

    .course01 .arrow02,
    .course02 .arrow02 {
        display: none;
    }

    .course .course03 {
        margin-right: auto;
    }

    .box05 p {
        font-size: 1.2em;
    }

    .box05 p span {
        font-size: 1.5em;
    }

    .contents3 .inner>ul>li {
        width: 95%;
    }

    .bg_img02 .inner {
        height: 56vh;
    }

    .contents4 .inner h3 {
        width: 90%;
        padding: 0.7em;
        font-size: 1em;
    }

    .contents4 .reason h4 {
        font-size: 1.2em;
        padding: 0 1em;
    }

    .contents4 .reason p {
        font-size: 1em;
        padding: 1em;
    }

    .contents4 .reason img {
        width: 100%;
    }

    .contents4 .reason div img {
        margin-left: 0;
        margin-top: 0;
        margin-bottom: 0.5em;
        width: 45%;
    }

    .contents5 .info div {}

    .contents5 .info .info01 p {
        font-size: 1em;
    }

    .contents5 .info .info01 dl {
        width: 70%;
    }

    .contents5 .info .info01 dt {
        font-size: 1em;
    }

    .contents5 .info .info01 dd {
        font-size: 1.5em;
        padding: 0.25em;
    }

    .contents5 .info .info01 dd span {
        font-size: 0.7em;
    }

    .contents5 .info .info02 li {
        font-size: 1em;
    }

    .contents6 .backup p {
        display: block;
        width: 90%;
        margin: 0 auto;
    }

    .contents7 .point {
        border: solid 10px #ffebcc;
        padding: 0.5em;
    }

    .contents7 .point>span {
        width: 45px;
        height: 45px;
        font-size: 1em;
        padding: 10px;
    }

    .contents7 .point h3 {
        font-size: 1.375em;
        margin: 0.5em 0;
        line-height: 0.75em;
    }

    .contents7 .point .point_inner {
        width: 100%;
    }

    .contents7 .point .point_inner div p {
        display: inline-block;
        width: 95%;
    }

    .contents9 .tel_box {
        width: 80%;
    }

    .contents9 .inner_head h3 {
        font-size: 1.75em;
    }

    form dt {
        float: none;
        width: 100%;
        text-align: left;
    }

    form dt .must {
        display: inline;
        position: initial;
        top: 0;
        float: none;
    }

    form dd {
        float: none;
        width: 95%;
    }

    form p input[type='submit'] {
        background-size: 82%;
    }

    .contents10 .voice ul {
        width: 95%;
        margin: 0 auto;
    }

    .contents10 .voice li {
        width: 95%;
    }

    .contents10 .voice h3:after {
        width: 40px;
        height: 40px;
        right: 10px;
        top: 2px;
    }

    .contents11 .message li {
        width: 85%;
        display: block;
        margin: 0 auto;
    }

    .contents11 .message p:nth-child(2) {
        text-align: center;
    }

    .contents11 .relief img {
        width: 100%;
    }

    .contact_check {
        padding-top: 0;
    }
}

@media screen and (min-width:910px) and (max-width:1010px) {
    .to_form_btn .rect {
        top: 82px;
        left: -20px;
    }
}

@media screen and (min-width:751px) and (max-width:850px) {
    .to_form_btn .rect {
        top: 80px;
        left: -90px;
    }
}

@media screen and (min-width:700px) and (max-width:750px) {
    .to_form_btn .rect {
        top: 68px;
        left: -90px;
    }
}

@media screen and (min-width:540px) and (max-width:660px) {
    .to_form_btn .rect {
        top: 80px;
        left: -90px;
    }
}

@media screen and (min-width:428px) and (max-width:540px) {
    .to_form_btn .rect {
        top: 50px;
        left: -90px;
    }
}

@media screen and (min-width:350px) and (max-width:425px) {
    .to_form_btn .rect {
        top: 40px;
        left: -60px;
    }
}

@media screen and (min-width:320px) and (max-width:350px) {
    .to_form_btn .rect {
        top: 32px;
        left: -50px;
    }
}

@media screen and (max-width:750px) {

    .main_visual .date {
        bottom: 12.1%;
        left: 44.5%;
        font-weight: normal;
        font-size: 7px;
        text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff;
    }

    .relief .inner .date {
        top: 12%;
        bottom: auto;
        right: 18.5%;
        font-weight: normal;
        font-size: 8px;
        text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff;
    }

    .relief .inner_lower .date_lower {
        top: 17%;
        bottom: auto;
        right: 7.5%;
        font-weight: normal;
        font-size: 9px;
        text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff;
    }
}