@charset "utf-8";

body {
    background-color: var(--unnamed-color-fffffa);
    font-family: var(--unnamed-font-family-dnp-shueigokinstd);
}

header {
    background-color: var(--unnamed-color-fffffa);
}

header .container.flex_box {
    align-items: center;
    justify-content: space-around;
    position: relative;
    min-height: 93px;
}

h1 {
    min-height: 153px;
    height: 153px;
    width: 50vw;
    background-color: #48631D;
    position: absolute;
    right: calc(50% + 426px);
    top: 0;
    border-radius: 0 0 10px 0;
    z-index: 1000;
}

h1 img {
    margin: 0 0 0 auto;
    display: block;
    padding: 16.5px 12px;
}

nav {
    width: 530px;
    margin-left: calc(50% - 265px);
}

nav ul {
    display: flex;
    justify-content: space-between;
}

nav a {
    color: var(--nav_c);
    padding: 37px 0;
}

.mainvisial .mainvisial-bc {
    width: 100%;
    height: 694px;
    object-fit: cover;
}

.abs {
    height: -webkit-fill-available;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.mainvisial {
    position: relative;
}

.rele {
    position: relative;
    width: 100%;
    height: 694px;
}

.mainvisial .chatch {
    position: absolute;
    left: 7.6%;
    top: 18.5%;
    width: 25.3%;
}

.isshin-fl {
    position: absolute;
    right: 0;
    bottom: -3px;
}

#section1 .area_01 {
    margin: 0 0 0 calc(50% - 50vw);
    padding-right: 42px;
    width: 50vw;
    /*flex-basis: 50%;*/
}

#section1,
#section2,
#section3,
#section4 {
    margin-top: 130px;
}

#section1 .area_01 img {
    width: 100%;
    height: auto;
}

#section1 .area_02 {
    flex-basis: 50%;
    margin-left: 0;
    margin-right: auto;
    margin-bottom: 2em;
    padding: 0 90px 0 42px;
}

#section1 .container.row_1.flex_box {
    align-items: center;
    justify-content: space-between;
}

#section2 h2+.textfont,
#section3 h2+.textfont,
#section5 h2+.textfont,
#section6 h2+.textfont {
    margin: 30px 0 55px;
}

#section2 .flex_box {
    justify-content: space-between;
    align-items: flex-start;
}

#section2 .flex_box img {
    margin-bottom: 60px;
}

#section2 .flex_box img:nth-last-of-type(-n+2) {
    margin-bottom: 0;
}

.box_style_01 {
    background-color: var(--sub_bc);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 40px;
}

.box_style_01 h3 {
    background: var(--main_c);
    padding: 5px;
    text-align: center;
}

.box_style_01inner {
    padding: 20px 105px;
}

.box_style_01inner.flex_box {
    justify-content: space-around;
}

.box_style_01 dt,
.box_style_01 dd {
    display: inline-block;
}

.box_style_01 dt {
    width: 5em;
}

#section3 .row_3>.flex_box {
    justify-content: space-between;
}

#section3 .row_3>.flex_box .box_style_01 {
    flex-basis: 48%;
}

.list_style_01 {
    list-style-image: url(../image/acce_02.svg);
    padding-left: 0.5em;
    margin-left: 1em;
}

#section4 {
    background-image: url(../image/backimage_01.png);
    background-position: 50% 0;
    background-size: cover;
    padding: 110px 0 128px;
}

.bc_white {
    background-color: var(--main_bc);
    border-radius: 10px;
    margin-top: 30px;
    padding: 20px 112px 85px;
}

#section4 table {
    width: 100%;
}

#section4 tr {
    /* display: block; */
    /* padding: 30px 0; */
}

.under_line_01 {
    border-bottom: 1px solid var(--main_c);
}

#section4 th,
#section4 td {
    padding: 30px 0;
}

#section4 th {
    /* display: inline-block; */
    width: 20%;
    color: var(--sub_c);
    font-weight: bold;
}

#section4 td {
    display: inline-block;
    /* width: 79%; */
    margin: 0 0 0 auto;
}

#section5 {
    background-color: var(--sub_bc);
    padding: 115px 0 130px;
}

#section5 .flex_box {
    justify-content: space-between;
}

#section5 .content_01 {
    margin-bottom: 85px;
}

#section5 .content_01 .left {
    flex-basis: 43%;
}

#section5 .content_01 .right {
    flex-basis: 51%;
}

#section5 .content_01 .box_style {
    padding: 10px 1em;
    width: 100%;
}

#section5 .content_01 .box_style ul li {
    width: fit-content;
    margin-right: 3em;
    float: left;
}

.clear {
    clear: both;
}

#section5 .balloon-img {
    flex-basis: 25%;
}

#section6 {
    padding: 130px 0;
}

#section6 .contacttell,
#section6 .contact {
    text-align: center;
}

#section6 .contacttell {
    margin-bottom: 60px;
}

#section6 p img {
    vertical-align: baseline;
    padding: 0.1em 0.4em;
}

form {
    width: 100%;
}

label {
    padding-left: 3em;
}

.required::before,
.norequired::before {
    position: absolute;
    left: 0;
    top: 15px;
    content: "";
    height: 1em;
    width: 1em;
    background-size: cover;
    background-repeat: no-repeat;
}

.required::before {
    background-image: url(../image/acce_02.svg);
}

.form_field {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 1em 0;
}

.form_field:last-of-type {
    align-items: flex-start;
}

.form_field input,
.form_field textarea,
form#mail_form input[name="company"],
form#mail_form input[name="name"],
form#mail_form input[name="name_1"],
form#mail_form input[name="name_2"],
form#mail_form input[name="read_1"],
form#mail_form input[name="read_2"],
form#mail_form input[name="postal"],
form#mail_form input[name="phone"],
form#mail_form input[name="schedule"],
form#mail_form input[name="mail_address"],
form#mail_form input[name="mail_address_confirm"],
form#mail_form textarea {
    background-color: var(--sub_bc);
    flex-basis: 70%;
    text-align: left;
    padding: 0 0.5em;
    min-height: 45px;
}

.form_field textarea {
    min-height: 125px;
}

label {
    padding-left: 3em;
    position: relative;
}

.form_field:last-of-type label {
    padding-top: 12px;
}

.btn_style_01 {
    background-color: var(--sub_c);
    border-radius: 10px;
    color: var(--main_bc);
    height: 67px;
    width: 268px;
    margin-top: 1em;
}

footer {
    background-color: var(--sub_c);
    color: var(--sub_bc);
    padding: 64px 0 20px;
}

.footer_content {
    justify-content: space-between;
    align-items: center;
}

h3.companyname {
    font-size: var(--unnamed-font-size-25);
    line-height: 1.75;
    letter-spacing: var(--unnamed-character-spacing-0-38);
}

.footertext {
    font-size: var(--unnamed-font-size-15);
    letter-spacing: 0.25px;
}

h3.telfax {
    font-size: var(--unnamed-font-size-15);
    letter-spacing: 0.25px;
}

.telnum {
    font-size: var(--unnamed-font-size-25);
    letter-spacing: var(--unnamed-character-spacing-0-38);
    margin: 0.25em 0;
}

.box_footer:last-of-type {
    padding-bottom: 20px;
}

small {
    display: block;
    margin: 30px auto 0;
    text-align: center;
    font-size: var(--unnamed-font-size-15);
    width: 100%;
    letter-spacing: var(--unnamed-character-spacing-0-38);
}

.obon.container {
    text-align: center;
    margin-bottom: 3em;
}

.obon.container img {
    width: 60%;
}

#section4 iframe {
    width: 600px;
    height: 237px;
}