@charset "UTF-8";
@import "base.css";
@import "fonts.css";
/*==========================================================================*/

/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd {
    font-size: 150%;
    -webkit-text-size-adjust: none;
}

img {
    vertical-align: bottom;
    max-width: 100%;
}

* {
    outline: none;
}

h1 {}

/* Header内で設定 */
h2 {}

h3 {}

h4 {}

a {
    color:#880404;
}

a:hover,
a:active {
    color: #880404;
}

a:visited {}

ul {}

li {}

dl {}

dt {}

dd {}

table {
    width: 100%
}

th,
td {}

th {}

td {}

p {
    margin: 0 0 1.5em;
}

p,
dd,
td,
th,
li {
    line-height: 1.6em;
}

p:last-child {
    margin-bottom: 0;
}

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

.section .section {
    padding: 0 0 20px;
}

.image_l {
    float: left;
    margin: 0 16px 8px 0;
}

.image_r {
    float: right;
    margin: 0 0 8px 16px;
}

#toTop {
    border: none;
    bottom: 50px;
    cursor: pointer;
    display: none;
    overflow: hidden;
    position: fixed;
    right: 50px;
    text-decoration: none;
    margin: 0;
}

/* add
------------------------------------------------------------------------*/

/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/

html {
    background: none;
}

body {
    font-weight: normal;
    color: #000;
    font-family: "游明朝", Yu Mincho, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
}

#wrapper {
    overflow: hidden;
}

.inner {
    width: 1050px;
    margin: 0 auto;
}

.under #content {
    text-align: left;
}

.br_sp {
    display: none;
}

/*==========================================================================*/
/*                               Header                                     */
/*==========================================================================*/
#header {


    position: relative;
}

#header_slide {
    position: relative;
    background: url("../images/bg_header_pc.jpg") top center no-repeat;

    background-size: cover;
    height: 655px;
}

.header_slide_inner {
    background: rgba(0, 0, 0, 0.59);
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    color: #fff;
}

.logo_slide {
    margin-bottom: 12px;
}

.logo_slide img {
    width: 76px;
}

#header_slide .hmain {
    font-size: 19px;
    margin-bottom: 25px;
}

#header_slide .hmain span {
    font-size: 16px;
}

.txt_cath {
    font-size: 17px;
    font-weight: normal;

}

#header_info {
    background: #000000;
    padding: 12px 0;

}

#header_info.fixed {
    position: fixed;
    width: 100%;
    z-index: 200;
    background: #000000;
    top: 0;
    left: 0;

}

.header_top_left {
    display: flex;
    justify-content: flex-start;
    align-items: center;

    float: left;


}

#btn_menu {
    display: none;
}

#logo {
    width: 55px;
    margin-bottom: 0;

}

.btn_close {
    display: none;
}

#header_link {
    -webkit-overflow-scrolling: touch;
}

.header_link {
    margin-left: 60px;

}

.header_link ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.header_link ul li {
    margin: 0 9px;
}

.header_link ul li a {
    font-size: 15px;
    color: #fff;
    text-decoration: none;
    position: relative;

}

.header_link ul li a:after {
    position: absolute;
    content: "/";
    right: -13px;
    top: -2px;
    font-size: 15px;
    color: #fff;
}

.header_link ul li:last-child a:after {
    display: none;
}

.header_link ul li a:before {
    position: absolute;
    content: "";
    height: 1px;
    background: #fff;
    width: 0;
    transition: all 0.2s;
    bottom: -3px;
    left: 50%;
    transform: translateX(-50%);

}

.header_link ul li a:hover:before {
    width: calc(100% + 10px);
}

.header_top_right {
    float: right;
    display: flex;
    justify-content: flex-start;
    align-items: center;


}

.main_cal {
    padding-left: 5px;
    box-sizing: border-box;
    font-size: 15px;
    background: url(../images/icon_tel02.png) 0 center no-repeat;
    background-size: 35px auto;
    float: right;
    text-align: center;
    line-height: 1.2em;
    margin-bottom: 0;
    letter-spacing: 0.08em;
    padding: 5px 0 5px 50px;
}

.main_cal a {
    color: #fff;
    text-decoration: none;
}


.main_cal span {
    display: block;
    padding-top: 2px;
}


.header_contact ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;

}

.header_contact ul li {
    padding-top: 8px;
}

.head_ct a {
    background: #880404;
    color: #fff;
    display: inline-block;
    font-size: 15px;
    line-height: 36px;
    text-decoration: none;
    margin: 0 auto;
    min-width: 180px;
    box-sizing: border-box;
    transition: all 0.3s;
    cursor: default;
    text-align: center;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    font-weight: normal;
}




.head_ct a:hover {
    opacity: 0.8;
    cursor: pointer;
}


.txt_cpr {
    padding-top: 45px;
}

.txt_cpr h2 {
    font-size: 50px;
    color: #fff;
    line-height: 1.38em;
    margin-bottom: 15px;
    letter-spacing: 0.06em;
}

.txt_cpr h2 span {
    font-size: 30px;
    display: block;
}

.hmain {
    font-size: 21px;
    color: #fff;
    line-height: 1.01em;
    letter-spacing: 0.06em;
    text-align: center;
    width: 140px;
    font-weight: normal;
    margin-bottom: 0;

}

.hmain span {
    font-size: 15px;
    display: block;

}

.main_price {
    position: absolute;
    top: 350px;
    width: 100%;
    left: 10px;
}

.list_main_price {

    position: relative;
    display: flex;

}

.list_main_price_ct {
    float: left;
    width: 168px;
    height: 168px;
    color: #111111;
    position: absolute;
    text-align: center;
    transform: rotate(-45deg);
    background: #fff;
    overflow: hidden;
    cursor: pointer;


}

.list_main_price_ct:hover:before {
    background: #880404;
}

.list_main_price_ct:before {
    position: absolute;
    background: #333333;
    color: #fff;
    font-size: 12px;
    bottom: -65px;
    left: -70px;
    content: "詳細";
    width: 120px;
    height: 103px;
    padding-top: 8px;
    border: none;
    transform: rotate(45deg);
}

.list_main_price_ct_in {
    transform: rotate(45deg);

    width: calc(100% + 40px);
}

.list_main_price_ct:nth-child(1) {
    top: 127px;
    left: 0;
}

.list_main_price_ct:nth-child(2) {
    top: 0;
    left: 127px;
}

.list_main_price_ct:nth-child(3) {
    top: 127px;
    left: 253px;
}

.list_main_price_ct p {
    z-index: 2;
    position: relative;
}

.btn_dt {
    position: absolute;
    background: #000;
    color: #fff;
    font-size: 15px;
    bottom: 0;
    left: 50%;
}

.main_price_info {
    line-height: 1.1em;
    font-size: 38px;
    font-weight: normal;
    margin-bottom: 0;
    padding-top: 40px;
    padding-left: 6px;
    letter-spacing: 0.05em;
}

.main_price_info span {
    font-size: 19px;
    display: block;
    letter-spacing: 0;
}

.main_price_info em {
    font-size: 20px;
    font-style: normal;
}

.main_btn {
    text-align: center;
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 0;
    width: 100%;
    transition: bottom 0.3s;
    max-width: 600px;
}

.main_btn:hover {
    bottom: -35px;

}

.main_btn a {

    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    color: #fff;
    background: url(../images/btn_arrow02.png) center bottom 3px no-repeat #333333;
    background-size: 14px;
    display: inline-block;
    font-size: 25px;
    text-decoration: none;
    line-height: 2em;
    padding: 5px 5px 9px;
    max-width: 600px;
    width: 100%;
    transition: background-color 0.3s;


}

.main_btn a:hover {
    background-color: #880404;
}

#header_menu {
    z-index: 100;
    position: absolute;
    right: -260px;
    top: 80px;
    width: 260px;
    transition: all 0.3s;
    background: rgba(255, 255, 255, 0.97);
    height: calc(100vh - 80px);




}

#header_menu.fixed {
    position: fixed;

    overflow: auto;
}

#header_menu.active {
    right: 0;
}

.header_menu_ttl {
    text-align: center;
}

.header_menu_ttl img {
    width: 70px;
}

#header_menu ul {
    padding-top: 20px;
}

#header_menu ul li {}

#header_menu ul li:last-child {
    border-bottom: none;
}

#header_menu ul li a {
    text-align: center;
    font-size: 13px;
    color: #707070;
    text-decoration: none;
    line-height: 49px;
    display: block;

}

#header_menu ul li a:hover {
    color: #880303;
    background: #fff;
}

/*==========================================================================*/
/*                              Footer                                      */
/*==========================================================================*/

#footer {
    clear: both;
    background: #000;
    color: #fff;
    font-weight: normal;
}

#footer a {
    color: #fff;
}

.footer_info {
    padding: 30px 0 5px;
}



.footer_info_ad {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
}

.footer_logo {
    text-align: center;
    font-size: 13px;
    margin-bottom: 0;
    width: 145px;
    flex-shrink: 0;
}

.footer_logo img {
    width: 76px;
    display: block;
    margin: 0 auto;
    margin-bottom: 12px;
}

.footer_logo a {
    text-decoration: none;
}

.footer_logo span {
    display: block;
    font-size: 10px;
    line-height: 1.2em;
}

.footer_cal {
    padding-left: 5px;
    box-sizing: border-box;
    font-size: 19px;
    background: url(../images/icon_tel01.png) 0 center no-repeat;
    background-size: 55px auto;
    float: right;
    padding-left: 65px;
    text-align: center;
    line-height: 1.2em;
    margin-bottom: 0;
    letter-spacing: 0.08em;
}

.footer_cal a {
    color: #880303;
    text-decoration: none;
}


.footer_cal span {
    display: block;
    padding-top: 2px;
}

address {
    text-align: center;
    font-size: 10px;
    line-height: 35px;
    position: relative;

}


.flink ul {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 37px;
}

.flink ul li {
    margin: 0 19px;
}

.flink ul li a {
    font-size: 15px;
    color: #fff;
    text-decoration: none;
    position: relative;

}



.flink ul li:last-child a:after {
    display: none;
}

.flink ul li a:before {
    position: absolute;
    content: "";
    height: 1px;
    background: #fff;
    width: 0;
    transition: all 0.2s;
    bottom: -3px;
    left: 50%;
    transform: translateX(-50%);

}

.flink ul li a:hover:before {
    width: calc(100% + 10px);
}


.faddress {
    font-size: 11px;
    margin-bottom: 5px;
    text-align: center;
}

.fcontact {
    text-align: center;
    font-size: 11px;
    margin-bottom: 5px;
}


.footer_social {
    width: 145px;
    flex-shrink: 0;
}

.footer_social ul {
    display: flex;
    justify-content: center;
}

.footer_social ul li {
    margin-right: 23px;
}

.footer_social ul li:hover {
    opacity: 0.8;
}

.footer_social ul li:last-child {
    margin-right: 0px;
}

.footer_social img {
    width: 33px;
}


/*==========================================================================*/
/*                             Contents                                     */
/*==========================================================================*/

/* index
------------------------------------------------------------------------*/
ul.list01 li {
    margin: 0 0 7px 0;
    position: relative;
    padding-left: 15px;
}

ul.list01 li:last-child {
    margin-bottom: 0;
}

ul.list01 li:before {
    content: "";
    background: #589CD1;
    width: 7px;
    height: 7px;
    position: absolute;
    left: 0;
    top: 8px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

/* common */


* {
    box-sizing: border-box;
}

.bds01 {
    border: 1px dashed #19AF72;
    background: #fff;

}

.bds01:before {
    position: absolute;
    border: 1px solid #19AF72;
    width: calc(100% + 10px);
    height: calc(100% - 10px);
    top: 4px;
    left: -6px;
    content: "";
}


.btn01 {
    text-align: center;
    margin-bottom: 0;
}


.btn01 a {
    background: #880404;
    color: #fff;
    display: inline-block;
    font-size: 15px;
    line-height: 36px;
    text-decoration: none;
    margin: 0 auto;
    min-width: 180px;
    box-sizing: border-box;
    transition: all 0.3s;
    cursor: default;
    text-align: center;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    font-weight: normal;
}




.btn01 a:hover {
    opacity: 0.8;
    cursor: pointer;

}



/* contact
------------------------------------------------------------------------*/

#box_contact {
    padding-top: 0;
    max-width: 790px;
    margin: 0 auto;
}

.contact_wrap {
    max-width: 610px;
    margin: 0 auto;
}

.ttl_top {
    background: #F4810E;
    height: 60px;
    line-height: 60px;
    font-size: 19px;
    color: #fff;
    text-align: center;
    position: relative;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    margin-bottom: 50px;

}

.ttl_top span {
    display: inline-block;
    padding-left: 55px;
    position: relative;
    z-index: 2;
}

.ttl_top_mail span {
    background: url(../images/icon_tel02.png) 0 center no-repeat;
    background-size: 33px auto;
}

.ttl_top_form span {
    background: url(../images/icon_mail01.png) 0 center no-repeat;
    background-size: 28px auto;
    padding-left: 45px;
}

.ttl_top:before {
    content: "";
    position: absolute;
    width: 50px;
    height: 50px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    bottom: -30px;
    left: 50%;
    background: #F4810E;
    transform: rotate(45deg) translateX(-50%);
    z-index: 1;



}

.ttl_ct {
    text-align: center;
    margin-bottom: 43px;
}

.ttl_ct p {
    display: flex;
    justify-content: center;
    align-items: center;
}

.ttl_ct a {
    font-size: 24px;
    font-family: 'Mplus1p-Black';
    color: #362719;
    text-decoration: none;
}

.ttl_ct span {
    display: inline-block;
    padding-left: 30px;
    font-size: 15px;
}



.tb_contact01 {
    margin-bottom: 68px;
}

.col_time01 {
    width: 32%;
    float: left;
    margin: 0 2% 0 0;
    position: relative;
}

.col_time01:last-child {
    margin-right: 0;
}

/* table */
.line_ct {
    border-bottom: 1px solid #DAAFAF;


}

.line_ct:nth-child(1) {
    border-top: 1px solid #DAAFAF;
}

.tb_contact01 dl {
    width: 100%;
    padding: 2px 0;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-start;
    padding: 25px 0;
}

/* 
.tb_contact01 dt,
.tb_contact01 dd {
vertical-align: top;
box-sizing: border-box;
float: left;
width: 100%;
} */



.tb_contact01 dt {
    width: 240px;
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 10px;
    display: flex;
    justify-content: flex-end;
    align-items: center;


}

.tb_contact01 dd {
    width: calc(100% - 240px);
    font-size: 15px;
    position: relative;
    padding-left: 33px;
    padding-right: 5px;
}

.tb_contact01 dd,
.tb_contact01 dt {}

.tb_contact01 dl {}

.tb_contact01 input[type="text"],
.tb_contact01 input[type="number"] {
    background: #fff;
    border: none;
    padding-left: 10px;
    line-height: 45px;
    width: 100%;
    box-sizing: border-box;
    display: inline-block;
    height: 45px;
    border: 1px solid #C8C8C8;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    max-width: 410px;

}
.tb_contact01 textarea{
   max-width: 410px;
}

.tb_contact01 input[type="number"] {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
}

.tb_contact01 input[type="number"]:hover,
.tb_contact01 input[type="number"]:focus {
    -webkit-appearance: none;
    -moz-appearance: textfield;
    appearance: none;
}

.tb_contact01 input[type="number"]::-webkit-inner-spin-button,
.tb_contact01 input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
    margin: 0;
}

.wshort {}

.tb_contact01 ::placeholder {
    color: #B8B8B8;
    font-family: 'Mplus1p-Regular';
}

.txt_a {
    position: absolute;
    left: -8%;
    top: 0;
    margin: 0;
    line-height: 45px;
}

.list_tel li {
    float: left;
}

.tb_contact01 li.list_tel02 input,
.tb_contact01 li.list_tel03 input {
    float: left;
    width: calc(100% - 28px);
}

.list_tel li.list_tel01 {
    width: 98px;
}

.list_tel li.list_tel02,
.list_tel li.list_tel03 {
    width: 167px;
}

.line_tel01 {
    float: left;
    width: 28px;
    line-height: 45px;
    display: block;
    text-align: center;
    color: #C9C9C9;

}

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

.line_add dl:first-child {
    width: 205px;

}

.line_add dl:last-child {
    width: 395px;
}

.tb_contact01 textarea {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    background: #fff;
    border: 1px solid #C8C8C8;
    padding: 14px;
    width: 100% !important;
    box-sizing: border-box;
    min-height: 140px;
}


#box_confirm_area textarea {
    min-height: 50px;
   padding: 0 15px;
   overflow: hidden;
   resize: none;

}

.box_input_fcal input {
    font-size: 14px;
}

.title_timecol {
    font-size: 14px;
}

.tb_contact01 dl.error_show {
    background: #F7EBEB;
    margin-top: 30px;
}

.tb_contact01 dl.error_show .error_txt {
    display: block;
}

.error_txt {
    position: absolute;
    color: #fff;
    background: #880303;
    line-height: 1.3em;
    font-size: 13px;
    padding: 6px 10px;
    top: -39px;
    right: 12px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    display: none;

}

.error_txt:before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    left: 50%;
    margin-left: -10px;
    bottom: -12px;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 15px solid #880303;
}

.tb_contact01 .error_show input[type="text"],
.tb_contact01 .error_show .select_other_mail,
.tb_contact01 .error_show textarea,
.tb_contact01 .error_show input[type="number"] {
    background: #fff;
}

.txt_rq {
    margin-top: 3px;
    width: auto;
    box-sizing: border-box;
    text-align: center;
    line-height: 14px;
    padding-top: 1px;
    margin-left: 10px;
    display: inline-block;
    color: #fff;
    font-size: 10px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    background: #FC0505;
    padding: 0 5px;
    display: inline-block;
}

.txt_rq.not_rq {
    visibility: hidden;
    opacity: 0;
}

/* -------------privacy policy---------------------- */

.box_pr_ct {
    height: 300px;
    overflow: auto;
    padding: 20px;
    box-sizing: border-box;
    border: 1px solid #E9E9E9;
    font-size: 14px;
    margin-bottom: 8px;
    background: #F2F2F2;

}

.tb_contact01 .box_pr_ct dt {
    line-height: 1.6em;

}

.tb_contact01 .box_pr_ct dt,
.tb_contact01 .box_pr_ct dd {
    width: 100%;
    padding: 0;
    font-size: 14px;
}

.tb_contact01 .box_pr_ct dd {
    padding-left: 15px;
    margin-bottom: 10px;
}

.tb_contact01 .box_pr_ct p {
    margin-bottom: 5px;
}

.pr_title01 {
    text-align: right;
}

.pr_title02 {
    text-align: center;
    font-weight: bold;
    font-size: 14px;
}

.pr_title03 {}

.box_pp_info {
    width: 240px;
    float: right;
    box-sizing: border-box;
    padding: 5px;
    border: 1px solid #ccc;
}

.submit.btn02 a {
    background: #880303;
    display: inline-block;
    color: #fff;
    font-size: 16px;
    line-height: 50px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    text-decoration: none;
    margin: 0 auto;
    min-width: 230px;
    box-sizing: border-box;
    transition: all 0.3s;
    cursor: default;
}

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

.submit.btn02 a:hover {
    opacity: 0.8;
    cursor: pointer;
}

/* .ppok.submit.btn02 a {
background: #589CD1;
-webkit-box-shadow: inset 0px -4px 0px 0px #9F0856;
-moz-box-shadow: inset 0px -4px 0px 0px #9F0856;
box-shadow: inset 0px -4px 0px 0px #DDDDDD;
} 
.ppok.submit.btn02 a:hover {
opacity: 0.8;
cursor: pointer;
}*/
/* end under
------------------------------------------------------------------------*/


#popup_tel {
    background: rgba(0, 0, 0, 0.8) none repeat scroll 0 0;
    box-sizing: border-box;
    display: none;
    height: 100%;
    overflow: hidden;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999999;
}

.popup_tel_inner {
    background: #fff;
    box-sizing: border-box;
    height: 86vh;
    left: calc(50% - 480px);
    padding: 30px;
    position: absolute;
    text-align: center;
    top: calc(50% - 43vh);
    width: 100%;
    max-width: 960px;
}

.popup_list_inner {
    height: 100%;
    width: 100%;
    overflow: auto;
}

.popup_tel_inner p {
    margin-bottom: 0;
}

.popup_tel_inner p span {
    font-weight: bold;
}

#btn_close_popup_tel {
    position: absolute;
    right: -45px;
    top: -45px;
}

#btn_close_popup_tel img {
    height: auto;
    width: 32px;
}

#control_modal {
    width: 100%;
    position: absolute;
    top: calc(50% - 30px);
    left: 0;
}

#slider-prev,
#slider-next {
    display: block;
    text-indent: -99999999px;
    position: absolute;
}

#slider-prev a,
#slider-next a {
    display: block;
    width: 60px;
    height: 60px;
}

#slider-prev {
    left: -75px;
}

#slider-next {
    right: -75px;
}

.bx-prev {
    background: url(../images/icon_next01.png) 0 0 no-repeat;
    background-size: 60px auto;
}

.bx-next {
    background: url(../images/icon_prev01.png) 0 0 no-repeat;
    background-size: 60px auto;
}

.list_thumb_offfice {
    border-bottom: 10px solid #D6187F;
    margin-bottom: 15px;
}

.list_thumb_offfice li {
    width: calc(100% / 6);
    float: left;
    text-align: center;
}

.list_thumb_offfice li a {
    color: #272727;
    font-size: 15px;
    text-decoration: none;
    display: block;
    line-height: 44px;
    font-weight: 500;
}

.list_thumb_offfice li a.active {
    background: #D6187F;
    color: #fff;
}

/* table */
#slider_office table,
#slider_office table th,
#slider_office table td {
    border: none;
    text-align: left;
    font-style: italic;
}

#slider_office table td {
    padding: 12px 10px;
}

#slider_office table {
    border-top: 1px solid #DFDFDF;
}

#slider_office table tr {
    border-bottom: 1px solid #DFDFDF;
}

/* box confirm */
h3.h3_sm01 {
    font-size: 19px;
    margin-bottom: 42px;
    text-align: center;
    line-height: 1.4em;
    font-weight: 500;
}
h3.h3_sm01 br{
    display: none;
}

#box_confirm_area {
   display: none;
}

#box_confirm {
    background: rgba(0, 0, 0, 0.85);
    box-sizing: border-box;
    height: 100%;
    left: 0;
    overflow: auto;
    position: fixed;
    top: 0;
    vertical-align: top;
    width: 100%;
    z-index: 9999999;
    display: flex;
    justify-content: center;
    align-items: center;
}

#box_confirm_inner {
    max-height: 90vh;
    overflow: auto;
    margin: 0 auto;
    width: calc(100% - 40px);
    box-sizing: border-box;
    max-width: 840px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    background: #fff;
    padding: 42px;
    border: 1px solid #707070;

}

.box_confirm_list {
    margin: 0 auto;
    padding: 30px 15px;
    border: 1px solid #707070;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
}


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

.box_cf_ad dl:first-child {
    width: 175px;

}

.box_cf_ad dl:last-child {
    width: 395px;
}


.box_confirm_list dl {
    padding: 0;
    padding-bottom: 10px;
}

#btn_close {
    color: #428d58;
    font-size: 50px;
    line-height: 50px;
    position: absolute;
    right: 30px;
    top: 30px;
    text-decoration: none;
    z-index: 10;
}

#box_confirm .section {
    margin-bottom: 0;
}

#box_confirm .text_confirm,
#box_confirm .textarea_confirm {
    background: none;
    color: #000;
    border: none;
}


.text_confirm {
    background: #fcecec;
    box-sizing: border-box;
    font-size: 16px;
    margin: 0;
    padding: 0 15px;
    width: 100%;
}


#box_confirm .textarea_confirm {
    min-height: 100px;
}

#box_confirm .contact_ttl {
    line-height: 77px;
    background-position: 410px center;
}

#box_confirm .contact_ttl::before {
    width: 500px;
    background-position: 0 0;
}

.form_box .error {
    display: none;
    margin-left: 10px;
}

.form_box .error_show {
    color: red;
    margin-left: 10px;
    display: block;
    padding-top: 8px;
}

.form_box input.invalid,
.form_box textarea.invalid {
    border: 2px solid red;
}

.form_box input.valid,
.form_box textarea.valid {
    border: 2px solid green;
}

.form_box {
    margin: 0 auto;
    width: 810px;
}

.form_box dl {
    margin-bottom: 35px;
}

.form_box dt,
.form_box dd {
    float: left;
}

.form_box dt {
    color: #666;
    font-size: 16px;
    padding-top: 10px;
    width: 190px;
}

.form_box dd {
    box-sizing: border-box;
    padding-left: 120px;
    width: 620px;
}

.form_box dt span {
    border-radius: 4px;
    color: #fff;
    display: inline-block;
    font-size: 16px;
    margin: 0 10px 0 0;
    padding: 3px 10px 1px;
}

.form_box dt span.rq {
    background: #fc0d1b none repeat scroll 0 0;
}

.form_box dt span.nrq {
    background: #888888 none repeat scroll 0 0;
}

.title_date_confirm {
    margin-bottom: 5px;
    font-size: 14px;
}

.submit-btn {
    text-align: center;
    margin-top: 30px;
}

#confirm, #back_btn{
    background: #880303;
    display: inline-block;
    color: #fff;
    font-size: 15px;
    line-height: 50px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    text-decoration: none;
    margin: 0 auto;
    min-width: 230px;
    box-sizing: border-box;
    transition: all 0.3s;
    cursor: default;
    text-align: center;
    border: none;
}


#confirm:hover,
#back_btn:hover {
    opacity: 0.8;
    cursor: pointer;

}

/* 
#confirm {
cursor: pointer;
display: inline-block;
background: #4B9CD3;
color: #fff;
font-size: 24px;
font-weight: bold;
padding: 20px 45px 18px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
text-decoration: none;
-webkit-box-shadow: inset 0px -4px 0px 0px #DDDDDD;
-moz-box-shadow: inset 0px -4px 0px 0px #DDDDDD;
box-shadow: inset 0px -4px 0px 0px #DDDDDD;
margin: 0 auto;
min-width: 300px;
box-sizing: border-box;
border: none;
line-height: 1em;
margin: 0 auto;
}

#confirm:hover {
opacity: 0.8;
}
*/
#btn_close {
    max-width: 40px;
}

#btn_close img {
    max-width: 100%;
}

#box_confirm dt,
#box_confirm dd {
    font-size: 16px;
    padding-top: 3px;
    padding-bottom: 3px;
}

#box_confirm dt {
    padding-top: 5px;
    align-items: flex-start;
}

/* Thanks
------------------------------------------------------------------------*/
.box_thank {}

#thanks #header {
    position: relative;
    border-top: 3px solid #589CD2;
    background: none;
}

#thanks #logo {
    /*  position: inherit;
text-align: center;
width:100%;
padding:20px 0;
margin-bottom:0;*/
    width: 100%;
    top: 40px;
    left: 0;
    text-align: center;
    margin: 0;
    margin-bottom: 20px;
}

#thanks #logo img {
    width: 100px;
}

#thanks #main {}

#thanks #wrapper {
    background: url("../images/thanks_bg_pc.png") no-repeat scroll center top;
    background-size: cover;
    position: relative;

}

#thanks .btn02 {
    padding-top: 30px;
}


#wrapper .alecv {
    font-size: 13px;
    color: #362719;
}

/* thanks */
#thanks .hmain {
    color: #444444;
    text-align: center;
    font-size: 27px;
    width: 100%;
    margin-bottom: 65px;
}

#thanks .hmain span {
    font-size: 24px;
}

#thanks #main {
    padding: 50px 0 20px 0;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

#thanks h3.h3_sm01 {
    margin-bottom: 20px;
    font-size: 32px;
}

.ttl_note,
.ttl_sp02 {
    display: none;
}

.txt_des {
    text-align: center;
    line-height: 1.6em;
}
.txt_des .olsp{
    display: none;
}

/* index */
.idx_h3 {}

h3.idx_h3 {
    text-align: center;
    color: #000;
    font-size: 27px;
    margin-bottom: 26px;
    line-height: 1.5em;
    font-weight: normal;
}

h3.h3small {
    font-size: 25px;
}

h3.idx_h3 span {
    padding-top: 3px;
    text-align: center;
    color: #880303;
    font-size: 15px;
    display: block;
    letter-spacing: 0.1em;
    line-height: 1.4em;
}


#idx_news {
    background: url(../images/bg_idex_news.png) left top -55px repeat #fff;
    padding: 40px 0;

}

.idx_box_news_out {
    max-width: 600px;
    margin: 0 auto;
}

.box_news_list dl {
    border-top: 1px solid #707070;
    display: flex;
    justify-content: flex-start;
    padding: 9px 0;
    align-items: center;
}

.box_news_list dl:last-child {
    border-bottom: 1px solid #707070;
}

.box_news_list dt {
    color: #707070;
    font-size: 12px;
    flex-shrink: 0;
    width: 90px;
    text-align: center;
}

.box_news_list dd {
    font-size: 15px;
    color: #000;
    width: calc(100% - 90px);

}

.box_news_list dd a {
    text-decoration: none;
    padding-right: 40px;
    background: url(../images/icon_ar01.png) right 9px center no-repeat;
    background-size: 14px auto;
    display: block;
    color: #000;
}

.box_news_list dd a:hover {
    opacity: 0.8;
}

.idx_more_news {

    text-align: right;
    padding: 6px 0;

}

.idx_more_news a {
    text-decoration: none;
    color: #000;
    background: url(../images/icon_ar01.png) right 15px center no-repeat;
    background-size: 9px auto;
    padding-right: 35px;
    font-size: 11px;
    transition: all 0.1s;
    position: relative;

}

.idx_more_news a:hover {
    opacity: 0.8;
}

/* #idx_concept */

#idx_concept {
    position: relative;
    background: url("../images/bg_idex_concept.jpg") top center no-repeat;
    background-size: cover;


}

#idx_concept .idx_h3 {
    color: #fff;
}

#idx_concept_in {
    background: rgba(0, 0, 0, 0.44);
    width: 100%;
    height: 100%;
    color: #fff;
    padding: 45px 0;
    min-height: 308px;
}

.idx_concept_cath {
    font-size: 20px;
    line-height: 1.8em;
    text-align: center;
    font-weight: normal;
    padding: 20px 0 0 0;
}

/* #idx_service */
#idx_service {
    position: relative;
    background: url("../images/bg_idex_service.png");
    padding: 50px 0;
    overflow: hidden;


}


.list_service {
    max-height: 400px;
    max-width: 905px;
    margin: 0 auto 30px;
}

.list_service_ct {
    margin: 0 7px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 293px;
    background: #fff;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    padding: 10px;
    min-height: 300px;

}

.list_service_img {
    margin-bottom: 13px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
}

.list_service_img img {
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
}

.list_service_info {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;

}



.list_service_ttl {
    font-size: 19px;
    margin-bottom: 5px;
    text-align: center;
}


.list_service_des {
    font-size: 14px;
    margin-bottom: 0;
    line-height: 1.7em;
    padding-bottom: 20px;

}

/* #idx_about */
#idx_about {
    position: relative;
    background: url("../images/bg_idex_about.jpg") top center no-repeat;
    background-size: cover;
}

#idx_about_in {
    background: rgba(0, 0, 0, 0.31);
    width: 100%;
    height: 100%;
    padding: 260px 0 0 0;
    min-height: 308px;
}

.idx_about_ct {
    background: rgba(255, 255, 255, 0.84);
    padding: 35px 0;
}



.bx_ab {
    display: flex;
    font-weight: normal;

}

.bx_ab_l {
    padding-right: 80px;
    border-right: 1px solid #707070;
    text-align: right;
    width: 368px;
}

.idx_ab_ttl {
    font-size: 23px;
    line-height: 1.7em;
}

.idx_ab_subttl {
    font-size: 20px;
    margin-bottom: 0;
}

.bx_ab_r {
    width: calc(100% - 368px);
    padding-left: 80px;
    display: flex;
    justify-content: space-between;

}

.bx_ab_r .btn01 {
    display: flex;
    align-items: center;
}

.bx_ab_r .btn01 a {
    background: #000;
}

.idx_about_cath {
    font-size: 14px;
    margin-bottom: 0;
}

#main.mrtop {
    margin-top: 76px;
}

/* under */
#contact .ttls01{
    margin-bottom: 100px;
}
.ttls01 {
    text-align: center;
    font-size: 33px;
    font-weight: bold;
    margin-bottom: 50px;
}

.under #main {
    background: url(../images/bg_idex_service.png);
    padding: 120px 0 75px;
}

.under #main .inner {
    width: 1200px;
}


.list_ser01 {
    margin-bottom: 145px;
}

.list_ser01_ct {
    display: flex;
    justify-content: flex-start;
    background: #fff;
    margin-bottom: 100px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    float: right;
    max-width: 908px;

}

.list_ser01_ct:nth-child(2n+2) {
    float: left;
}

.list_ser01_ct:last-child {
    margin-bottom: 0;
}

.list_ser01_img {
    margin-bottom: 0;
    width: 50%;
    flex-shrink: 0;
    position: relative
}

.list_ser01_ct:nth-child(2n+2) .list_ser01_img {
    order: 2;
}

.list_ser01_ct:nth-child(2n+2) .list_ser01_info {
    order: 1;
}

.list_ser01_ct:nth-child(2n+2) .list_ser01_img img {
    right: auto;
    left: 20px;
}

.list_ser01_img img {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    max-width: 597px;

}

.list_ser01_img_custom {
    position: relative;
    width: 606px;
    height: 378px;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
}

.list_ser01_img_custom .pos_cus {
    position: absolute;
}

.list_ser01_img_custom .pos_cus01 {
    top: 0;
    right: 0;
    width: 68%;
}

.list_ser01_img_custom .pos_cus02 {
    bottom: 0;
    left: 0;
    width: 51%;
}

.list_ser01_img_custom img {
    position: relative;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    max-width: 100%;
    transform: none;
}


.list_ser01_ct:nth-child(4) .list_ser01_img img {
    right: auto;
    left: -40px;
    max-width: 815px;
}

.list_ser01_info {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 80px 35px;
    min-height: 480px;

}

.list_ser01_cat {
    font-size: 18px;
    margin-bottom: 6px;
    font-weight: normal;
}

.list_ser01_ttl {
    font-size: 35px;
    margin-bottom: 21px;
    font-weight: normal;
}

.list_ser01_des {
    font-size: 19px;
    margin-bottom: 0;
    line-height: 1.8em;
    font-weight: normal;
}

.list_ser01 .btn01 {
    margin-top: 35px;
}




.list_ser02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1044px;
    margin: 0 auto;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    background: #fff;
}

.list_ser02_ct {
    width: 40%;
    margin-right: 7%;
    margin-bottom: 60px;
    margin-top: -70px;

}

.list_ser02_ct:nth-child(2n+2) {
    margin-right: 0;
}

.list_ser02_img {
    text-align: center;
    margin-bottom: 46px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;

}

.list_ser02_img img {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

.list_ser01_cat {
    font-size: 18px;
    margin-bottom: 0;
    font-weight: normal;
}

.list_ser02_ttl {
    font-size: 30px;
    margin-bottom: 22px;
    font-weight: normal;
}

.list_ser02_des {
    font-size: 20px;
    margin-bottom: 0;
    line-height: 1.65em;
    font-weight: normal;
}

/*about */
#about #main {
    padding-bottom: 0;
}

#about_thought {}


.bx_thought {
    max-width: 980px;
    margin: 0 auto;
    background: #fff;
    display: flex;
    margin-bottom: 110px;

}

.bx_thought_img {
    width: 41.3%;
    flex-shrink: 0;
}

.bx_thought_img img {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

.bx_thought_info {
    padding: 50px 42px;
}

.bx_thought_des {
    font-size: 19px;
    font-weight: 500;
    line-height: 1.65em;
    margin: 0;
}


#about_pledges .ttls01 {
    margin-bottom: 40px;
}

.bx_pledges {
    max-width: 945px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;

}

.bx_pledges_img {
    width: 40.6%;
    flex-shrink: 0;
}

.bx_pledges_img img {}

.bx_pledges_info {
    padding: 60px 0 0 0;
}

.bx_pledges_des {
    font-size: 19px;
    font-weight: normal;
    line-height: 1.65em;
    margin: 0;
}

.bx_pledges_list li {
    font-size: 19px;
    font-weight: 500;
    line-height: 1.7em;
    display: flex;
}
.bx_pledges_list li br{
    display: none;
}
.bx_pledges_list li span {
    display: inline-block;
    padding-right: 15px;
    width: 31px;
    flex-shrink: 0;
}





#about_pledges {
    background: #fff;
}

#about_infomation {
    background: url(../images/bg_about03.jpg);
    padding: 70px 0 75px;
}

.bx_infomation_out {
    max-width: 1060px;
    margin: 0 auto;
}

.bx_infomation {
    max-width: 780px;
    float: left;
    background: #fff;
    padding: 50px;
    display: flex;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}


.bx_infomation_ct {
    width: 62.5%;
    margin: 0 45px 0 0;
    flex-shrink: 0;

}

.bx_infomation_ct dl {
    display: flex;
    justify-content: flex-start;
    border-bottom: 1px solid #707070;

    padding: 10px 0;
}

.bx_infomation_ct dl:first-child {
    border-top: 1px solid #707070;
}

.bx_infomation_ct dt,
.bx_infomation_ct dd {
    padding: 0 0;
    line-height: 1.8em;
    font-size: 14px;
}

.bx_infomation_ct dt {
    flex-shrink: 0;
    width: 95px;

}

.bx_infomation_ct dd a {
    color: #000;
    text-decoration: none;
}




.bx_infomation_img {}

.bx_infomation_img img {
    max-width: 540px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}


#about_access {
    padding: 65px 0;
    background: #fff;
}

.bx_access {
    max-width: 1055px;
    margin: 0 auto;
}

.bx_access_map {
    margin-bottom: 25px;
}

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

.bx_access_list dl {
    width: 48%;
    font-weight: 500;
}


.bx_access_list dt,
.bx_access_list dd {}

.bx_access_list dt {
    font-size: 20px;
    margin-bottom: 13px;
    font-weight: bold;
}

.bx_access_list dd {
    font-size: 16px;
}

#news_box01 {
    padding: 60px 75px;
    max-width: 772px;
    margin: 0 auto;
    background: #fff;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

#news_box01 .box_news_list dl {
    padding: 38px 0;
}

#news_box01 .box_news_list dt {
    font-size: 16px;
}

#news_box01 .box_news_list dd {
    font-size: 19px;
    padding-left: 15px;
}


.wp-pagenavi {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 43px;
}

.wp-pagenavi span,
.wp-pagenavi a {
    display: inline-flex;
    min-width: 20px;
    height: 20px;
    justify-content: center;
    align-items: center;
    border-radius: 3em;
    font-size: 14px;
    color: #000;
    line-height: 1em;
    padding: 3px 5px 5px;
    text-decoration: none;
    margin: 5px;
    position: relative;
    z-index: 1;
    overflow: hidden;
    border: none;
}

.wp-pagenavi span.current {
    background: #000;
    color: #fff;
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
    font-size: 26px;
    color: #56493b;
    padding-bottom: 10px;
}

.wp-pagenavi a.nextpostslink {
    padding-right: 4px;
}


#news_box_content {
    padding: 50px 55px;
    max-width: 925px;
    margin: 0 auto;
    background: #fff;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

#news_box_content h1 {
    text-align: center;
    font-size: 34px;
    margin-bottom: 25px; 
font-weight: 500;
}

#news_box_content h2 {
    font-size: 25px;
    margin-bottom: 20px;
    font-weight: 500;

}

#news_box_content h3 {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 20px;

}

#news_box_content .news_date {
    font-size: 23px;
    color: #707070;
    margin-bottom: 55px;
}


#news_box_content p {
    font-size: 18px;
}


.btn_tolist {

    text-align: right;
    padding: 6px 0;

}

.btn_tolist a {
    text-decoration: none;
    color: #000;
    background: url(../images/icon_ar01.png) right 2px center no-repeat;
    background-size: 8px auto;
    padding-right: 22px;
    font-size: 16px;
    transition: all 0.1s;
    position: relative;


}

.btn_tolist a:before {
    position: absolute;
    width: 100%;
    height: 1px;
    background: #000;
    right: 0;
    bottom: -2px;
    content: "";
}

.btn_tolist a:hover {
    opacity: 0.8;
}


.tooltip-title {
    display: flex;
    width: 100%;
    height: 95px;
    background: #F3F3F3;
    border-radius: 6px;
    text-align: center;
    justify-content: center;
    align-items: center;
    font-size: 29px;
    font-weight: 700;
  

    margin-bottom: 2.2em;
}

.tooltip-title:before {
    content: "";
    transform: rotateZ(45deg);
    position: absolute;
    bottom: -10px;
    left: calc(50% - 10px);
    z-index: 2;
}


.tooltip-title .tel {
    padding-left: 80px;
    display: inline-block;
    line-height: 3em;
    background: url('../images/icon_phone01.png') left center / 60px no-repeat;
}

.tooltip-title .mail {
    padding-left: 90px;
    display: inline-block;
    line-height: 2em;
    background: url('../images/icon_mail01.png') left center / 69px no-repeat;
}

.tel-info {
    display: block;
    text-align: center;
}

.tel-info:not(:last-child) {
    margin-bottom: 55px;
}

.tel-info dt {
    display: flex;
    flex-wrap: wrap;
    font-size: 16px;
    font-weight: 700;
    justify-content: center;
    align-items: center;
    margin-bottom: 1em;
}

.tel-info dt .tel-number {
    font-size: 37px;
    line-height: 1em;
    font-weight: 400;
    padding: 0 13px 0 0;
}

.tel-info dd {
    font-size: 16px;
    font-weight: 700;
}

#contact #main {
    background: none;
}

#contact_out {
    max-width: 970px;
    margin: 0 auto;
}
.list_btn01{
    display: flex;
    justify-content: center;
    padding-top: 45px;
}
.list_btn01 li{
    margin: 0 15px;

}

.btn01.onl_sp{
    display: none;
}