@charset "UTF-8";
@import "base.css";

h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd {
    font-size: 160%;
    -webkit-text-size-adjust: none;
}

header,
section,
footer,
aside,
nav,
main,
article,
figure {
    display: block;
}

a {
    color: #1a306d;
    text-decoration: underline;
}

a:not([target="_blank"]):hover,
a:not([target="_blank"]):active {
    text-decoration: none;
}

table {
    width: 100%
}

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

p {
    margin: 0 0 1.5em;
}

.section {
    margin: 0 0 30px;
}

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

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

img {
    max-width: 100%;
    vertical-align: bottom;
    image-rendering: -webkit-optimize-contrast;
}

.image-l {
    float: left;
    margin: 0 16px 8px 0;
}

.image-r {
    float: right;
    margin: 0 0 8px 16px;
}

.image-p {
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
}

.box-l {
    float: left;
}

.box-r {
    float: right;
}

.bold {
    font-weight: bold !important;
}

.fl {
    float: left;
}

.fr {
    float: right;
}

.small {
    font-size: 120%;
    margin-top: 20px;
    text-align: center;
}

.font16 {
    font-size: 16px;
}

.w950 {
    width: 950px;
}

.flx {
    display: flex;
    align-items: center;
}

.flx .p1 {
    background: #1a306d;
    padding: 10px 7px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    box-sizing: border-box;
    margin-bottom: 0px;
    color: #fff;
    width: 50%;
    border-bottom: 2px solid #fff;
}

.flx .p2 {
    width: 50%;
    padding: 0px 0 0 15px;
    text-align: left;
    box-sizing: border-box;
    color: #1a306d;
    /*font-weight: bold;*/
    font-size: 20px;
    line-height: 100%;
}

.scroll {
    width: 100%;
    overflow: hidden;
    overflow-x: auto;
}

.flx .p2 span {
    font-size: 16px;
}

#igo.frame {
    border: none;
    padding: 30px;
    overflow: hidden;
    background-color: #7E6346;
     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.min_chou {
    /* font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif !important; */
}

#igo .box01 {
    width: 48%;
    float: left;
    text-align: center;
    font-size: 16px;
}

#igo .box02 {
    width: 48%;
    float: right;
    text-align: center;
    font-size: 16px;
}

#igo .tit {
    width: 100%;
    font-weight: normal;
    text-align: center;
    font-size: 30px;
    margin-bottom: 30px;
    color: #fff;
}

#igo .tit01 {
    background-color: #fff;
    border: none;
    padding: 0px;
    width: 100%;
    font-weight: normal;
    text-align: center;
    margin-bottom: 28px !important;
    color: #1A306D;
}

body {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #333;
}

#wrapper {
    min-width: 1220px;
    overflow: hidden;
}

.under #wrapper {
    padding-top: 128px;
}

.container {
    width: 1110px;
    margin: 0 auto;
}

#index #header {
    background: rgba(255, 255, 255, .8);
}

#header.scrolled {
    background: #fff;
    box-shadow: 0 0 6px 1px rgba(32, 48, 73, .3);
}

#header {
    background: rgba(255, 255, 255, 1);
    transition: all .5s;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    padding: 18px 0 0;
    z-index: 100;
    height: 135px
}

#header>.container {
    display: flex;
    justify-content: space-between;
    width: 1200px;
}

.h-logo {
    width: 229px;
    margin-bottom: 0;
}

h1 {
    color: #000;
    font-size: 11px;
    margin-bottom: 12px;
    line-height: 1.2em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    letter-spacing: -1.2px;
    width: 365px
}

.h-right-bnr>span {
    background: #1a306d;
    color: #fff;
    font-size: 10px;
    font-weight: bold;
    padding: 7px 10px;
    /*    margin-left: 4px;*/
    letter-spacing: 0.05em;
}

.h-right-bnr>span:nth-child(1),
.h-right-bnr>span:nth-child(2) {
    padding: 7px;
}

.h-right-bnr>span:nth-child(2) {
    margin-left: 5px;
}

.h-right-tel {
    text-decoration: none;
    color: #000;
    font-size: 25px;
    letter-spacing: 0.06em;
    margin: 0 9px 0 14px;
}

.h-right-tel>span {
    font-size: 18px;
}

.h-right-time {
    font-size: 12px;
    color: #000;
    line-height: 1.3em;
}

.h-right-time>i {
    padding: 0 6px;
}

.h-left {
    flex-shrink: 0;
    max-width: 245px;
}

.h-right-top {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.h-right {
    margin-top: 1px;
}

#gnavi .over span {
    padding: 0 26px 0 10px;
}

#gnavi a,
#gnavi span {
    text-decoration: none;
    color: #000;
    cursor: pointer;
    font-size: 16px;
    transition: all .5s;
    padding: 0 10px 0;
    position: relative;
    line-height: 1.4;
    text-align: center;
}

#gnavi span {
    cursor: default;
}

#gnavi>ul>li:last-child>a,
#gnavi>ul>li:last-child>span {
    padding-right: 0;
}

#gnavi>ul>li:last-child>a {
    border: none;
}

#gnavi>ul>li>a:after,
#gnavi>ul>li>span:after {
    content: '';
    position: absolute;
    left: calc(50% - 8px);
    bottom: -16px;
    width: 17px;
    height: 17px;
    background: url(../images/star_blue.png)center bottom /contain no-repeat;
    opacity: 0;
    transition: all .5s;
}

#gnavi>ul>li:last-child>a:after,
#gnavi>ul>li:last-child>span:after {
    left: calc(50% + 2px);
}

#gnavi>ul>li>a:hover:after,
#gnavi>ul>li>span:hover:after {
    opacity: 1;
}

#gnavi>ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

#gnavi>ul>li {
    position: relative;
    transition: all 0.7s ease;
    display: flex;
    justify-content: center;
    align-items: center;
}

#gnavi>ul>li:not(:last-child):after {
    content: '';
    width: 1px;
    height: 20px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: #111;
}

#gnavi .submenu {
    display: none;
    position: absolute;
    top: 56px;
    left: calc(50% - 120px);
    background: #1a306d;
    z-index: 1;
    width: 240px;
    padding: 6px 10px 10px;
}

#gnavi .submenu>li>a {
    padding: 8px 5px 2px;
    border-bottom: 1px solid #8c97b6;
    display: block;
    color: #fff;
    line-height: 1.75em;
}

#gnavi .submenu>li {
    transition: all .5s;
}

#gnavi .submenu>li:hover {
    opacity: .6;
}

#gnavi .over:before {
    content: '';
    position: absolute;
    padding: 3px;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
    transform: rotate(45deg);
    right: 10px;
    top: 5px;
}

.idx-main {
    height: 896px;
}

.idx-main li {
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    text-align: center;
    justify-content: center;
    background: url(../images/main_001.jpg)center /cover no-repeat;
    position: relative;
    z-index: 1;
    /*    padding: 320px 0 100px 0;*/
    padding: 200px 0 150px 0;
    box-sizing: border-box;
}

.idx-main h2 {
    font-size: 30px;
    color: #1a1a1a;
     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: bold;
    margin-bottom: -40px;
    line-height: 2em;
    text-shadow: 1px 1px 2px white;
    width: 100%;
}

p.b_info {
    background-color: rgba(117, 67, 13, 0.8);
    border-radius: 5px;
    padding: 20px 60px;
    position: relative;
}

p.b_info span {
    font-size: 30px;
    color: #FFFFFF;
     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: bold;
}

p.b_info::before {
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    background: url("../images/star_white.png") no-repeat;
    background-size: contain;
    top: 5px;
    right: 8px;
    display: block;
}

p.b_info::after {
    content: "";
    width: 15px;
    height: 15px;
    position: absolute;
    background: url("../images/star_white.png") no-repeat;
    background-size: contain;
    top: 15px;
    right: 20px;
    display: block;
}

.act {
    display: block !important;
}

.idx-main-eng {
    position: absolute;
    font-size: 160px;
    color: #fcf0db;
    opacity: .45;
    z-index: -1;
     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: lighter;
    margin-bottom: 0;
    line-height: 1.2em;
    top: calc(50% + 33px);
    transform: translate(-50%, -50%);
    left: 50%;
    width: 100%;
}

#mainvisual {
    height: 900px;
    margin-bottom: 95px;
    position: relative;
}

.main_slide.slick-slider,
.main_slide .slick-list,
.main_slide .slick-track,
.main_slide .slide_item {
    height: 100%;
}

.main_slide .slide_item.item1 {
    background: url(../images/main_slide_01.jpg) no-repeat;
    background-size: cover;
}

.main_slide .slide_item.item2 {
    background: url(../images/main_slide_02.jpg) no-repeat;
    background-size: cover;
}

.main_slide .slide_item.item3 {
    background: url(../images/main_slide_03.jpg) no-repeat;
    background-size: cover;
}

.main_slide .slide_item.item4 {
    background: url(../images/main_slide_04.jpg) no-repeat;
    background-size: cover;
}

.main_slide .slide_item.item5 {
    background: url(../images/main_slide_05.jpg) no-repeat;
    background-size: cover;
}

.main_slide .slide_item p {
    margin-bottom: 0;
}

#mainvisual .txt_catchcopy {
    position: absolute;
     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    bottom: 5%;
    left: 10%;
    background: rgba(26, 48, 109, 0.6);
    color: #fff;
    padding: 20px;
    box-sizing: border-box;
    text-align: center;
    font-size: 40px;
    line-height: 1.3;
}

.b01-top-tlt {
    font-size: 80px;
     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: lighter;
    color: #1a306d;
    line-height: 1.2em;
    margin-bottom: 20px;
    text-align: center;
}

.b01-top-open {
    margin-right: 43px;
}

.b01-top-open>span {
    color: #7e6346;
}

.b01-top-year {
    color: #000;
}

.b01-top-year>span {
    font-size: 45px;
    position: relative;
    top: -5px;
}

.f-info-tel a {
    font-size: 39px;
    color: #000;
    text-decoration: none;
     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.f-info-tel span {
    font-size: 35px;
}

.f-info-bnr {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.f-info-bnr>span {
    background: #1a306d;
    font-size: 14px;
    color: #fff;
    padding: 1px 18px;
    margin: 0 10px 10px 0;
}

.f-info-add {
    
    background: url(../images/icon_pointer.png)top 6px left /11px auto no-repeat;
    padding-left: 15px;
    line-height: 1.4em;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.f-info-add>a {
    font-size: 14px;
    border: 2px solid #7f7f7f;
    padding: 2px 10px 1px;
    border-radius: 35px;
    text-decoration: none;
    color: #333;
    margin-left: 20px;
    transition: all .5s;
    font-weight: normal;
     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.f-info-add>a:hover {
    color: #fff;
    background: #7f7f7f;
}

.f-info-add>a>span {
    font-size: 12px;
    margin-left: 5px;
}

.f-info-map {
    height: 335px;
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-bottom: 14px;
}

.f-info-map>iframe {
    line-height: 0;
    width: 200%;
    height: 200%;
    position: absolute;
    left: -50%;
    top: -50%;
}

.f-info-l {
    width: 475px;
    margin-right: 40px;
    flex-shrink: 0;
}

.f-info {
    display: flex;
    justify-content: space-between;
    width: 950px;
    margin: 0 auto 30px;
}

.f-info-tel {
    margin: 21px 0 19px 13px;
    line-height: 1em;
}

.box00 .f-info-tel {
    margin: 9px 0 19px 13px;
}

.f-info-tel2 a {
    margin-left: -13px;
    margin-right: 20px;
}

.f-info-time {
    font-size: 14px;
    
    margin-bottom: 10px;
    line-height: 1;
}

.f-info-contact {
    
    align-items: center;
    justify-content: space-between;
    margin: 0 0 10px 0;
    font-size: 24px;
     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.f-info-contact>a {
    border: 1px solid #333;
    padding: 4px 35px 1px;
    border-radius: 35px;
    text-decoration: none;
    color: #333;
    display: block;
    line-height: 1.3;
    margin: 0 auto 10px;
    text-align: center;
    font-size: 22px;
}

.f-info-contact>a:hover {
    color: #fff;
    background: #7f7f7f;
}

.b01-cnt {
    width: 950px;
    margin: 0 auto 117px;
    display: flex;
    position: relative;
}

.idx-h4 {
    color: #7e6346;
    position: relative;
    font-size: 30px;
    line-height: 1.25em;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: 400;
    margin: 46px 0 81px;
    z-index: 1;
    /* text-shadow: 0 0 0 #7e6346; */
}

.idx-h4>span {
    font-size: 160px;
    position: absolute;
    color: #f5f3f0;
    left: 0;
    top: 50%;
    z-index: -1;
    font-weight: lighter;
    transform: translateY(-50%);
    text-shadow: none;
    line-height: 1.2em;
}

.idx-btn a {
    text-decoration: none;
    color: #333;
    position: relative;
    z-index: 1;
    border-radius: 35px;
    background: rgb(26, 48, 109);
    background: linear-gradient(90deg, rgba(26, 48, 109, 1) 49%, rgba(126, 99, 70, 1) 51%);
    padding: 12px 33px 10px;
    display: inline-block;
    min-width: 249px;
    text-align: center;
}

.idx-btn a:before {
    content: '';
    position: absolute;
    border-radius: 35px;
    background: #fff;
    left: 2px;
    top: 2px;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    transition: all .5s;
}

.idx-btn a.box-btn::before {
    border: none;
    width: auto;
    height: auto;
    background: none;
}

a.box-btn {
    text-decoration: none;
    padding: 0;
    position: static;
    padding: auto;
    min-width: auto;
    background: none;
    background: none;

}

a.box-btn p {
    text-decoration: none;
}

.idx-btn a:hover:before {
    opacity: 0;
}

.idx-btn a>span {
    z-index: 1;
    position: relative;
    background-image: url(../images/idx_btn01.png), url(../images/idx_btn02.png);
    background-repeat: no-repeat;
    background-position: left center, right center;
    padding: 0 34px;
    background-size: 26px auto;
    transition: all .5s;
  
}

.idx-btn a:hover>span {
    color: #fff;
    text-shadow: none;
}

.idx-btn {
    margin-bottom: 0;
}

.b01-img {
    margin-bottom: 0;
    line-height: 0;
    flex-shrink: 0;
    margin: 0 -155px 0 48px;
}

.b01-img>img {
    box-shadow: 0 0 6px 1px rgba(32, 48, 73, .75);
}

.b01-txt {

    margin-bottom: 28px;
    letter-spacing: 0.05em;
    line-height: 1.85em;
}

.b01-cnt-r .idx-h4 {
    color: #1a306d;
    text-shadow: 0 0 0 #1a306d;
    margin: 75px 0 68px;
}

.b01-cnt-r .idx-h4>span {
    color: #d1d6e2;
    left: -6px;
    top: calc(50% + 5px);
}

.b01-cnt-r .b01-cnt {
    margin-bottom: 117px;
}

.b01-mid {
    background: url(../images/b01_mid_bg.png)center bottom /auto repeat-x;
    padding-bottom: 124px;
    margin-top: 77px;
}

.b01-cnt-r {
    z-index: 1;
}

.b01-cnt-r .b01-sliders {
    margin: 0 55px 0 -125px;
    position: relative;
    box-shadow: none;
    width: 545px;
    box-shadow: 0 0 6px 1px rgba(32, 48, 73, .75);
}

.b01-sliders>ul {
    z-index: 1;
    position: relative;
    background: #fff;
    margin-bottom: 0 !important;
}

.b01-mid .b01-sliders .slick-dots {
    position: absolute;
    bottom: -34px;
    right: 2px;
    width: auto;
}

.b01-mid .b01-sliders .slick-dots li {
    margin: 0 0 0 14px;
}

.b01-sliders:before {
    content: '';
    position: absolute;
    background: url(../images/b01_img02_01.jpg)center /contain no-repeat;
    width: 454px;
    height: 400px;
    left: -232px;
    top: calc(50% - 200px);
    z-index: -1;
}

.b01-mid .idx-btn a {
    min-width: auto;
    padding: 12px 36px 10px;
}

.b01-mid>.container {
    width: 950px;
}

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

li[class^="b01-slider0"] {
    text-align: center;
    color: #fff;
    width: 290px;
    height: 290px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: url(../images/b01_img03.jpg)center /auto no-repeat;
    position: relative;
    z-index: 1;
    box-shadow: 0 0 10px 0 rgba(32, 48, 73, .6);
    margin-bottom: 39px;
}

li.b01-slider02 {
    background: url(../images/b01_img04_01.jpg)center /auto no-repeat;
}

li.b01-slider03 {
    background: url(../images/b01_img05.jpg)center /auto no-repeat;
}

li[class^="b01-slider0"]:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: .3;
    background: #031850;
    z-index: -1;
}

.b01-bot-txt {
    line-height: 1.35em;
    margin-bottom: 5px;
    text-shadow: 0 0 0 #fff;
    margin-top: -5px;
}

.b01-bot-tlt {
    font-size: 24px;
    padding-top: 20px;
    margin-bottom: 0;
    text-shadow: 0 0 0 #fff;
    background: url(../images/b01_list_icon.png)center top /111px 16px no-repeat;
}

.b01-mid>.container .idx-btn {
    text-align: right;
}

.b01-mid>.b01-cnt:nth-child(2) {
    margin-bottom: 300px;
}

.b02-top {
    margin-bottom: 285px;
}

.b02-top .idx-h4 {
    color: #1a306d;
    text-shadow: 0 0 0 #1a306d;
    margin-bottom: 60px;
}

.b02-top .idx-h4>span {
    color: #eff0f5;
}

.b02-top>.b01-cnt:first-child {
    position: relative;
    padding-top: 93px;
}

.b02-top>.b01-cnt:first-child .idx-btn {
    text-align: left;
}

.b02-top>.b01-cnt:first-child .b01-img {
    position: absolute;
    left: calc(100% - 483px);
    top: 185px;
    width: 960px;
}

.b02-top>.b01-cnt:first-child .b01-box {
    max-width: 474px;
}

.b02-top>.b01-cnt:last-child .b01-box {
    background: #1a306d;
    color: #fff;
    max-width: 750px;
    margin: 0 0 0 auto;
    padding: 46px 40px 48px 160px;
    z-index: 1;
}

.b02-top>.b01-cnt:last-child .b01-img {
    position: absolute;
    left: -378px;
    top: 50px;
    z-index: 2;
}

.b02-top>.b01-cnt:last-child .idx-h4 {
    color: #fff;
    text-shadow: 0 0 0 #fff;
    margin: 0 0 20px;
}

.b02-top .idx-btn {
    text-align: center;
}

.idx-btn01 a {
    background: #fff;
    color: #fff;
}

.idx-btn01 a:hover {
    color: #1a306d;
}

.idx-btn01 a:before {
    background: #1a306d;
}

.idx-btn01 a:hover:before {
    background: #fff;
    opacity: 1;
}

.idx-btn01 a>span {
    background-image: url(../images/idx_btn03.png), url(../images/idx_btn04.png);
    text-shadow: 0 0 0 #fff;
}

.idx-btn01 a:hover>span {
    background-image: url(../images/idx_btn05.png), url(../images/idx_btn06.png);
    color: #1a306d;
    text-shadow: 0 0 0 #1a306d;
}

.b02-mid .idx-h4 {
    text-align: right;
    letter-spacing: -0.5px;
}

.b02-mid .idx-h4>span {
    color: #f6f4f2;
    right: 0;
    left: auto;
}

.b02-txt {
    max-width: 474px;
    margin: 0 0 46px auto;
    
}

.b02-mid>.container {
    width: 950px;
    margin-bottom: -5px;
}

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

.b02-list li {
    width: 290px;
}

.b02-list-tlt {
    font-size: 26px;
    color: #000;
     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    line-height: 1.45em;
    margin-bottom: 17px;
    
}

.b02-list-txt {
    letter-spacing: -0.1em;
}

.b02-list-img {
    margin-bottom: 16px;
}

.b02-list-img a {
    display: block;
    position: relative;
    transition: all .5s;
    box-shadow: 0 0 6px 1px rgba(32, 48, 73, .75);
}

.b02-list-img a:before {
    content: '';
    position: absolute;
    border: 3px solid #1a306d;
    top: -10px;
    left: -10px;
    width: 100%;
    height: 100%;
    transition: all .5s;
}

.b02-list-img a:hover:before {
    border: 0;
    top: 0;
    left: 0;
    background: #1a306d;
    opacity: .5;
}

.b02-list li:nth-child(2) .b02-list-img a:before {
    border: 3px solid #7e6346;
}

.b02-list li:nth-child(2) .b02-list-img a:hover:before {
    background: #7e6346;
}

.b02-list li:first-child {
    margin-top: -80px;
}

.b02-list li:last-child {
    margin-top: 80px;
}

.b02-bot>.container {
    position: relative;
    width: 1200px;
    z-index: 1;
}

.b02-bot>.container:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 420px;
    left: 0;
    top: 0;
    z-index: -1;
    background: url(../images/b02_bot.png)center top 30px /contain no-repeat;
}

.b02-bot .idx-h4 {
    color: #1a306d;
    text-shadow: 0 0 0 #1a306d;
    margin: 89px 0 3px;
    left: -117px;
}

.b02-bot .idx-h4>span {
    color: #e8eaf0;
    top: -119px;
    transform: none;
    left: -186px;
}

.b02-bot-top,
.b02-bot-bot {
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.b02-bot-bot {
    max-width: 950px;
    margin: 43px auto 219px;
    justify-content: space-between;
    position: relative;
}

.b02-bot-bot:before {
    content: '';
    position: absolute;
    background: url(../images/b02_bot_x.png)center no-repeat;
    width: 206px;
    height: 206px;
    top: calc(50% - 97px);
    left: calc(50% - 108px);
    z-index: 1;
}

.b02-bot-bot p {
    position: relative;
    display: block;
    width: 435px;
    height: 390px;
    background: url(../images/b02_img06.jpg)center /auto no-repeat;
    box-shadow: 0 0 6px 1px rgba(32, 48, 73, .75);
    transition: all .5s;
}

.b02-bot-bot p:nth-child(even) {
    background: url(../images/b02_img07.jpg)center /auto no-repeat;
}

.b02-bot-bot p:before {
    content: '';
    position: absolute;
    border: 3px solid #1a306d;
    top: -10px;
    left: -10px;
    width: 100%;
    height: 100%;
    transition: all .5s;
}

.b02-bot-bot p:nth-child(even):before {
    border: 3px solid #7e6346;
    left: auto;
    right: -10px;
}

.b02-bot-item {
    position: absolute;
    font-size: 35px;
    color: #000;
    text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.b03-top-list .idx-h4>span {
    color: #f0f0f0;
    left: auto;
    right: -7px;
}

.b03-top-list .idx-h4 {
    color: #000;
    text-align: right;
    max-width: 950px;
    margin: 50px auto 123px;
}

.ov-cate {
    background: #666;
    color: #fff;
    text-shadow: 0 0 0 #fff;
    flex-shrink: 0;
    padding: 8px 10px 7px;
    line-height: 1em;
    margin-right: 19px;
    width: 135px;
    text-align: center;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin-bottom: 0;
}

.ov-cate1 {
    background: #1a306d;
}

.ov-cate2 {
    background: #7e6447;
}

.ov-tlt {
    margin-bottom: 0;
    line-height: 1.9em;
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-break: break-all;
}

.ov-tlt a {
    
    color: #000;
    text-decoration: none;
    transition: all .5s;
    word-break: break-all;
}

.ov-tlt a:hover {
    opacity: .5;
}

.ov-list {
    width: 950px;
    height: 204px;
    margin: 0 auto;
}

.ov-list li {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
}

/*--*/
.b00-top>.container {
    position: relative;
}

.b00-top>.container:before {
    content: '';
    position: absolute;
    background: url(../images/b03_bglogo.png)center /contain no-repeat;
    width: 542px;
    height: 668px;
    left: -315px;
    top: -290px;
    z-index: -1;
}

.b00-top.no-bg>.container:before {
    background: none;
}

/*--*/
.b03-top .idx-btn {
    text-align: center;
    margin-top: 25px;
}

.b03-top>.container {
    position: relative;
}

.b03-top>.container:before {
    content: '';
    position: absolute;
    background: url(../images/b03_bglogo.png)center /contain no-repeat;
    width: 542px;
    height: 668px;
    left: -315px;
    top: -290px;
    z-index: -1;
}

.b03-top-list {
    margin-bottom: 192px;
}

.b03-top .b01-box .idx-h4>span {
    color: #eff0f5;
    left: -6px;
}

.b03-top .b01-box .idx-h4 {
    color: #1a306d;
}

.b03-top .b01-img {
    box-shadow: none;
    width: 287px;
    margin: 46px 0 0 90px;
}

.b03-top .b01-img>img {
    box-shadow: none;
}

.b03-top .b01-txt {
    /*letter-spacing: -2px;*/
    max-width: 485px;
    margin-bottom: 42px;
}

.b03-top .b01-cnt {
    align-items: flex-start;
    margin-bottom: 151px;
}

.b03-top .idx-btn a {
    padding: 12px 26px 10px;
}

.b03-mid .idx-h4 {
    color: #000;
    text-align: center;
    margin: 122px 0 75px;
}

.b03-mid .idx-h4>span {
    left: calc(50% + 2px);
    transform: translate(-50%, -50%);
    color: #000;
    opacity: .054;
    top: calc(50% + 6px);
}

.b03-mid {
    margin-bottom: 120px;
}

.b03-mid-txt {
    max-width: 800px;
    margin: 0 auto 35px;
    
}

.b03-mid-img {
    text-align: center;
    margin-bottom: 25px;
}

.b03-mid-img img {
    box-shadow: 0 0 6px 1px rgba(32, 48, 73, .75);
}

.b03-mid .idx-btn {
    text-align: center;
}

.b03-mid>.container {
    overflow: hidden;
}

.b03-bg {
    height: 450px;
    background: url(../images/b03_bot_bg.jpg)center /cover no-repeat;
    margin-bottom: 113px;
}

.f-logo {
    width: 164px;
    margin: 0 auto 52px;
}

.f-top {
    margin-bottom: 35px;
}

.f-top .f-info-tel span {
    font-size: 44px;
    margin-right: 15px;
    letter-spacing: 0;
}

.f-top .f-info-tel {
    margin: 21px 0 10px 0;
}

.f-top .f-info-tel a {
    letter-spacing: -0.035em;
}

.f-top .f-info-tel2 a {
    letter-spacing: initial;
    margin-right: 0;
    font-size: 32px;
    padding: 5px 40px 5px 35px;
}

.f-bot {
    position: relative;
    color: #fff;
    text-shadow: 0 0 0 #fff;
    padding: 45px 0 25px;
}

.f-bot>.container {
    width: 950px;
}

/*
.f-bot:before,
.f-bot:after {
    content: '';
    position: absolute;
    left: calc(50% - 1000px);
    top: 0;
    width: 1475px;
    height: 100%;
    background: url(../images/f_menu_bg.jpg)center right /cover no-repeat;
    z-index: -1;
    border-radius: 0 100px 0 0;
}
*/
.f-bot:after {
    background: url(../images/f_menu_after.png)center /auto repeat;
}

.f-bot li a {
    color: #000;
    text-decoration: none;
    position: relative;
    padding-left: 16px;
    background: url(../images/star_white.png)top 3px left /12px auto no-repeat;
    text-shadow: 0 0 0 #fff;
    transition: all .5s;
}

.f-bot li a:hover {
    opacity: .5;
}

.f-bot>.container>div {
    display: flex;
    margin-bottom: 80px;
}

.f-bot>.container>ul {
    margin-bottom: 28px;
}

.f-bot>.container>div>ul:nth-child(1) {
    margin-right: 70px;
}

.f-bot>.container>div>ul:nth-child(2) {
    margin-right: 26px;
}

.f-bot>.container>div>ul:nth-child(3) {
    margin-right: 60px;
}

.copy {
    font-size: 14px;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    text-align: center;
    margin: 0;
    letter-spacing: -0.03em;
    color: #000;
}

#totop {
    position: fixed;
    bottom: 60px;
    right: 50px;
    z-index: 9;
    margin-bottom: 0;
}

#totop a {
    position: relative;
    display: block;
    height: 100%;
}

#totop a:before {
    content: '';
    position: absolute;
    background: url(../images/totop_ov.png)center /contain no-repeat;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: all .5s;
}

#totop a:hover:before {
    opacity: 1;
}

.b01-mid .slick-dots {
    display: flex;
    justify-content: center;
}

.slick-dots li button {
    display: none;
}

.b01-mid .slick-dots li {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 1px solid #fff;
    transition: all .5s;
    margin: 0 6px;
    cursor: pointer;
}

.b01-mid .slick-dots li:hover,
.b01-mid .slick-dots li.slick-active {
    background: #fff;
}

.sp-show {
    color: #488d56;
    display: none;
    font-size: 11px;
}

.tbl-scroll {
    overflow: auto;
}

.tbl-scroll table {
    min-width: 750px;
}

.topic-path {
    display: block;
    overflow: hidden;
    width: 950px;
    margin: 0 auto 44px;
}

.topic-path li {
    display: inline-block;
    position: relative;
    color: #666;
    text-shadow: 0 0 0 #666;
}

.txt-underline {
    text-decoration: underline;
}

.topic-path li a {
    color: #1a306d;
    padding: 0;
    text-decoration: none;
    text-shadow: 0 0 0 #1a306d;
    transition: all .5s;
    margin-right: 38px;
}

.topic-path li:after {
    position: absolute;
    content: '＞';
    color: #708d84;
    top: 50%;
    transform: translateY(-50%);
    right: 13px;
}

.topic-path li:last-child:after {
    display: none
}

.topic-path li a:hover {
    text-decoration: underline;
}

.image-r {
    float: right;
    margin: 4px 0 10px 30px;
    line-height: 0;
}

.image-l {
    float: left;
    margin: 4px 30px 10px 0;
    line-height: 0;
}

.image-r img,
.image-l img,
.center>img {
    border-radius: 30px;
}

.under section,
.under .section {
    width: 950px;
    margin: 0 auto 80px;
}

.under section p:last-child,
.under .section p:last-child {
    margin-bottom: 0;
}

.w33 {
    width: 33.33%;
}

.mainvisual {
    margin-bottom: 15px;
    height: 150px;
    background: #1a306d;
    background: linear-gradient(90deg, rgba(26, 48, 109, 1) 50%, rgba(126, 99, 70, 1) 50%);
}

.mainvisual>.container {
    width: 950px;
    display: flex;
    align-items: center;
    height: 100%;
    position: relative;
    z-index: 1;
}

.mainvisual>.container:before {
    content: '';
    position: absolute;
    background: url(../images/under_main_before.png)center /contain no-repeat;
    left: calc(50%);
    top: 0;
    width: 1000px;
    height: 400px;
    z-index: -1;
}

.under h2,
.under h3,
.under h4,
.under h5,
.under h6,
.under-bnr a {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    line-height: 1.75em;
}

.under h2 {
    font-size: 30px;
    width: 100%;
    color: #fff;
    text-align: center;
    letter-spacing: 0.05em;
}

.under h2 span {
    font-size: 14px;
    display: block;
    line-height: 1em;
    margin-top: -4px;
}

.under h3 {
    font-size: 30px;
    text-align: center;
    margin-bottom: 35px;
    background: url(../images/under_h3.png)center top /34px auto no-repeat;
    padding-top: 45px;
    font-weight: bold;
    letter-spacing: -0.5px;
}

.under h4 {
    font-size: 26px;
    position: relative;
    margin-bottom: 25px;
    padding-bottom: 1px;
}

.under h4:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    left: 0;
    bottom: 0;
    background: #7e6346;
    background: linear-gradient(90deg, rgba(26, 48, 109, 1) 8.2%, rgba(126, 99, 70, 1) 8.2%);
}

.under h4:first-letter {
    color: #1a306d;
}

.under h5,
.idx_h5 {
    color: #1a306d;
    font-size: 19px;
    background: url(../images/under_h5.png)top 11px left /15.5px 15.5px no-repeat;
    padding-left: 23px;
    margin-bottom: 5px;
}

.idx_h5 {
    margin-bottom: 20px;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    line-height: 1.75em;
}

.under h6 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
}

ul[class^="under-col"] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -20px;
}

.under-col2 li {
    width: calc(50% - 40px);
    margin: 0 20px 50px;
}

.under-col3 li {
    width: calc(31% - 10px);
    margin: 0 5px 30px;
}

.under-list li {
    background: url(../images/under_list.png)left top 8px /7px 11px no-repeat;
    padding-left: 15px;
    margin-bottom: 2px;
}

.under-tbl th,
.under-tbl td {
    padding: 10px 10px 10px;
    background: #f2f2f2;
    border: 1px solid #fff !important;
}

.under-tbl tr ul.flex {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
}

.under-tbl tr ul.flex li:first-child {
    width: 30%;
    /* font-weight: bold; */
    text-align: center;
}

.under-tbl tr ul.flex li:last-child {
    width: 70%;
    box-sizing: border-box;
}

.under-tbl tr .flex li:last-child span {
    color: #000;
    font-weight: bold;
}

.under-tbl tr .flex li:last-child p {
    border: 1px solid #fff;
    background: #f2f2f2;
    font-weight: normal;
    color: #000;
    padding: 10px;
}

.under-tbl th {
    color: #1f2674;
    text-align: left;
    vertical-align: middle;
    font-weight: normal;
    text-shadow: 0 0 0 #1f2674;
    background: #d9d9d9;
}

.under-tbl1 th {
    font-size: 13px;
}

.under-tbl td {
    
}

.under-tbl1 td {
    font-size: 14px;
}

.anc-link {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.anc-link li {
    margin: 0 7px 14px;
}

/* .anc-link li a {
    text-decoration: none;
    color: #fff;
    display:block;
    border-radius: 35px;
    background: #1f2674;
    background: linear-gradient(90deg, rgba(26,48,109,1) 49%, rgba(126,99,70,1) 51%);
    padding: 17px 10px 15px;
    width:300px;
    text-align: center;
    transition: all .5s;
    font-weight: bold;
}
.anc-link li a:hover,.anc-link li.current a {
    opacity: .8;
} */
.anc-link a {
    text-decoration: none;
    color: #FFFFFF;
    position: relative;
    z-index: 1;
    border-radius: 35px;
    background: rgb(26, 48, 109);
    background: linear-gradient(90deg, rgba(26, 48, 109, 1) 49%, rgba(126, 99, 70, 1) 51%);
    padding: 12px 33px 10px;
    display: inline-block;
    min-width: 249px;
    text-align: center;
}

.anc-link a:before {
    content: '';
    position: absolute;
    border-radius: 35px;
    background: #fff;
    left: 2px;
    top: 2px;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    transition: all .5s;
}

.anc-link a:hover:before {
    opacity: 0;
}

.anc-link a>span {
    z-index: 1;
    position: relative;
    background-image: url(../images/idx_btn01.png), url(../images/idx_btn02.png);
    background-repeat: no-repeat;
    background-position: left center, right center;
    padding: 0 34px;
    background-size: 26px auto;
    transition: all .5s;
    
    color: #000;
}

.anc-link a:hover>span {
    color: #fff;
    text-shadow: none;
}

.under-bnr {
    background: url(../images/under_bnr_bg.png)center /cover repeat;
    padding-top: 60px;
}

.under-bnr>.container {
    width: 950px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.under-bnr p {
    width: 455px;
    margin: 0 auto 60px;
}

.under-bnr a {
    display: block;
    text-decoration: none;
    font-size: 25px;
    color: #000;
    text-align: center;
    padding: 16px 10px 20px;
    transition: all .5s;
    background: #fff;
    border-radius: 55px;
    box-shadow: 0 0 6px 1px rgba(32, 48, 73, .75);
}

.under-bnr a:hover {
    background: #1a306d;
    box-shadow: 0 0 6px 1px rgba(32, 48, 73, .35);
    color: #fff;
}

.under-bnr .bnr-alone {
    width: 560px;
}

.under-qa:not(:last-child) {
    margin-bottom: 45px;
}

.under-qa dt {
    color: #1f2674;
    font-weight: bold;
    font-size: 20px;
    position: relative;
    padding: 0 0 7px 45px;
    border-bottom: 2px solid #1f2674;
    line-height: 1.5em;
    margin-bottom: 18px;
}

.under-qa dt:before {
    content: 'Q :';
    position: absolute;
    left: 10px;
    top: 0;
}

.under-qa dd {
    position: relative;
    padding-left: 60px;
}

.under-qa dd:before {
    content: 'A';
    position: absolute;
    left: 0;
    color: #fff;
    background: #7e6346;
    width: 40px;
    height: 40px;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
}

ul[class^="under-col"] h5 {
    line-height: 1.2em;
    background-position: top 5px left;
    margin-bottom: 15px;
    text-align: left;
}

.under-col-img {
    margin-bottom: 15px;
    text-align: center;
}

.under-frm {
    background: #e5e5e5;
    padding: 35px 50px;
    overflow: hidden;
}

.under-frm .list {
    width: 50%;
    float: left;
    position: relative;
}

.under-frm .list li {
    padding-left: 15%;
    display: block;
    font-size: 18px;
    color: #6b4100;
    font-weight: bold;
     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    line-height: 1.75em;
}

.under-frm-tlt {
    font-weight: bold;
    text-align: center;
    font-size: 20px;
    color: #1a306d;
    margin-bottom: 15px;
}

.under #footer {
    margin-top: 100px;
}

.anc-link.justify-left {
    justify-content: flex-end;
}

.ov-hidden {
    overflow: hidden;
}

.left {
    text-align: left;
}

.border-img {
    border: 1px solid #ab9986;
}

.under-step:not(:last-child) {
    position: relative;
    margin-bottom: 95px;
}

.under-step:not(:last-child):after {
    content: '';
    position: absolute;
    width: 70px;
    height: 44px;
    /*border-left: 35px solid transparent;
    border-right: 35px solid transparent;
    border-top: 40px solid #1a306d;*/
    background: url(../images/step_arr.png)center /contain no-repeat;
    left: calc(50% - 35px);
    bottom: -72px;
}

.under-step {
    background: #dde1ea;
    /*border-radius: 30px;*/
    padding: 30px 40px;
    color: #fff;
}

.under-step dt,
.under-step dt h4,
.under-step dt h4:first-letter {
    color: #fff;
    line-height: 1.4em;
    padding-bottom: 5px;
    margin-bottom: 0;
}

.under-step dt {
    border-bottom: 1px solid #1a306d;
    margin-bottom: 25px;
}

.under-tlt {
    color: #1a306d;
     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: 25px;
    font-weight: bold;
}

.talk-plus {
    display: flex;
    justify-content: center;
    margin-bottom: 50px;
}

.talk-plus-small {
    font-size: 12px;
    margin-left: 15px;
}

.talk-plus-img {
    margin-bottom: 10px;
}

.talk-plus-img>img {
    border-radius: 20px;
}

.talk-plus-x {
    font-size: 100px;
    font-weight: bold;
    margin: 30px 10px 0;
    color: #1a306d;
}

.under-bnr-alone {
    background: none;
    max-width: 700px;
    /*margin:0 auto;*/
    margin: 0 auto 120px;
}

.under #content .f-info-bnr>span {
    background: #1a306d;
    color: #fff;
    margin: 0 9px 9px 0;
}

.under #content .f-info-r {
    margin-top: 0px;
}

.under #content {
    position: relative;
    z-index: 1;
}

.case-nav {
    max-width: 800px;
    margin: 0 auto 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.case-nav a,
.case-nav li.current {
    display: block;
    padding: 4px 10px 3px;
    border: 1px solid #1a306d;
    line-height: 1.4em;
    margin: 0 3px 6px;
    text-decoration: none;
    transition: all .5s;
    background: #1a306d;
    color: #fff;
}

.case-nav a:hover,
.case-nav li.current {
    background: #fff;
    color: #1a306d;
}

.case-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

.case-list li {
    width: calc(50% - 30px);
    margin: 0 15px 50px;
    transition: all .5s;
    word-break: break-all;
}

.case-list li:hover {
    opacity: .5;
}

.case-img {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 220px;
    background: #eee;
    margin-bottom: 0;
}

.case-img>span {
    width: calc(50% - 20px);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.case-img>span:only-child,
.case-post>li:only-child {
    text-align: center;
    width: calc(100% - 10px);
    margin: 0 auto;
}

.case-img img {
    max-height: 220px;
    flex-shrink: 0;
}

.case-img>span~span:before,
.case-post>li~li:before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border-top: 22px solid transparent;
    border-left: 27px solid #1a306d;
    border-bottom: 22px solid transparent;
    left: -32px;
    top: calc(50% - 22px);
}

.case-tlt {
    background: #1c326f;
    color: #fff;
    position: relative;
    padding: 10px 10px 5px;
    line-height: 1.5em;
    min-height: 89px;
}

.case-tlt:before {
    content: '';
    position: absolute;
    border-top: 1px dashed #fff;
    top: 5px;
    left: 5px;
    width: calc(100% - 10px);
    height: 1px;
}

.case-tlt>span {
    display: block;
    margin-top: 2px;
}

.case-col2 .under-col-img {
    height: 280px;
    border: 1px solid #ddd;
    display: flex;
    justify-content: center;
    align-items: center;
}

.case-col2 .under-col-img img {
    max-height: 276px;
    flex-shrink: 0;
}

.word-break {
    word-break: break-all;
}

.case-post {
    margin: 0 -10px;
}

.case-post>li {
    position: relative;
    margin-bottom: 30px;
}

.case-post>li~li:before {
    top: calc(50% - 7px);
}

.case-post>li:only-child {
    margin-bottom: 20px;
    max-width: 500px;
}

.case-img-align .image-l,
.case-img-align .image-r {
    max-width: 500px;
    max-height: 350px;
}

.case-img-align .image-l:only-child,
.case-img-align .image-r:only-child {
    text-align: center;
    float: none;
    margin: 0 auto 10px;
}

.case-img-align .image-l img,
.case-img-align .image-r img {
    max-width: 500px;
    max-height: 350px;
}

.no-radius>img {
    border-radius: 0;
}

/* .f-info-txt,
.idx-btn a,
.b02-list-txt,
.h-right-time {
    
} */

.h-right-bnr,
.h-right-time,
.under-list li:last-child {
    margin-bottom: 0;
}

.tbl-w50 {
    width: 50%;
}

.tbl-w70 {
    width: 70%;
}

.nairan li {
    width: 40%;
    margin: 0 auto;
}

.nairan ul {
    display: flex;
}

.nairan {
    padding: 40px 20px;
    border: #1a306c solid 10px;
    margin-bottom: 70px;
}

.top_tel.pc {
    margin: 10px auto;
    text-align: center;
    display: block;
    width: 100%;
    max-width: 950px;
    padding-left: 100px;
}

.top_tel p {
    display: inline-block;
}

.top_tel a {
    font-size: 24px;
    /* font-size: 50px; */
    padding: 5px 40px;
}

.top_tel .f-info-contact a {
    border: #7e6346 solid 2px;
    background: #7e6346;
    color: #fff;
    display: block;
    line-height: 1.3;
    font-size: 20px;
    width: 100%;
    margin: 0 auto
}

/*
font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
font-family: 'Noto Sans JP', sans-serif;
*/
@media screen\0 {
    .h-right-bnr>span {
        padding: 7px 10px 3px;
    }

    .h-right-bnr>span:nth-child(1),
    .h-right-bnr>span:nth-child(2) {
        padding: 7px 7px 3px;
    }

    .h-right-tel {
        line-height: 1em;
    }

    .f-info-bnr>span {
        line-height: 1em;
        padding: 10px 18px 6px;
    }

    .box01 .f-info-bnr>span {
        padding: 10px 18px 5px;
    }

    .f-info-r {
        width: 100%;
    }

    .f-info-add>a {
        line-height: 1.3em;
        padding: 5px 15px 1px;
        margin-top: -5px;
    }

    .f-info-tel {
        margin-top: 29px;
    }

    .idx-h4>span,
    .b01-cnt-r .idx-h4>span,
    .b03-mid .idx-h4>span {
        top: calc(50% + 25px);
    }

    .b02-bot .idx-h4>span {
        top: -95px;
    }

    .ov-cate {
        padding: 10px 10px 3px;
    }

    .f-info-tel a {
        font-size: 59px;
    }

    #gnavi .submenu {
        top: 61px;
    }

    .under-tbl th,
    .under-tbl td {
        padding-bottom: 7px;
    }

    .anc-link li a {
        padding-bottom: 13px;
    }

    .under-bnr a {
        padding-bottom: 20px;
    }

    .f-info-add {
        background-position: top 1px left;
    }

    .idx-btn a,
    .b01-mid .idx-btn a,
    .b03-top .idx-btn a {
        padding: 14px 33px 8px;
    }

    .idx-btn a>span {
        background-position: left top 3px, right top 3px;
    }

    .f-bot:before {
        background-color: #000;
    }

    .b02-bot-bot::before {
        left: calc(50% - 83px);
    }

    .f-top .f-info-add {
        background-position: top left;
    }

    .f-info-add {
        text-shadow: none;
    }

    .under h5 {
        background-position: top 8px left;
    }

    .under-list li {
        background-position: top 6px left;
    }

    ul[class^='under-col'] h5 {
        background-position: top 1px left;
    }

    .under-qa dd:before {
        padding-top: 10px;
    }

    .ov-tlt {
        margin-top: 2px;
    }

    .ov-list {
        max-height: 210px;
    }

    body * {
        text-shadow: none !important;
    }

    .case-nav a,
    .case-nav li.current {
        padding: 6px 10px 0;
    }
}

.box03-btn-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.box03-btn-list li {
    margin: 0 10px;
}

.icon_ins {
    float: right;
    margin-top: 92px;
}

.f-bot .icon_ins a {
    background: none;
    padding-left: 0;
}

.f-bot .icon_ins a:hover {
    opacity: 1;
}

.w100 {
    width: 100% !important;
}

.box04 {
    padding: 20px;
    background: #1A306D;
    display: flex;
    justify-content: space-around;
     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    margin-bottom: 30px;
}

.box04_cont {
    width: 100%;
     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.box04_cont .tit {
    color: #1a306d;
    font-size: 30px;
    /*font-weight: bold;*/
    text-align: left;
    padding: 0 0 0px 0;
}

.box04_cont01 {
    background: #ffffff;
    border: solid 1px #1a306d;
    width: 61%;
    overflow: hidden;
    padding: 15px 0px 10px 15px;
    box-sizing: border-box;
}

.box04_cont01 dl {}

.box04_cont01 dt {
    float: left;
    width: 50%;
    background: #937C64;
    padding: 23px 7px;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    box-sizing: border-box;
    margin-bottom: 20px;
    color: #fff;
}

.box04_cont01 dd {
    float: left;
    width: 50%;
    padding: 0px 0 0 20px;
    text-align: left;
    box-sizing: border-box;
    color: #fff;
    font-weight: bold;
    font-size: 34px;
    line-height: 100%;
    margin-bottom: 20px;
}

.movie_list {
    width: 100% !important;
}

.movie_list .slick-list {
    padding: 0 !important;
}

.movie_list li {
    margin: 10px 10px 0;
    padding: 0 2%;
    position: relative;
    text-align: center;
}

.movie_list iframe,
.movie_list video {
    width: 100%;
    height: 140px;
    border: 1px solid #000000;
}

.txt_white {
    color: #fff;
    text-align: center;
    margin-top: 20px;
}

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

.igo_box ul li {
    width: 33.33333333333333333%;
    border-right: 1px dotted #fff;
    text-align: center;
    padding: 20px 40px;
    color: #fff;
    font-size: 26px;
}

.igo_box.col-2 ul li {
    width: 50%;
}

.igo_box ul li:last-child {
    border: none;
}

.igo_box ul li span {
    display: block;
    margin-bottom: 15px;
    background: #fff;
    border-radius: 30px;
    padding: 0;
    font-weight: bold;
    font-size: 20px;
    color: #000;
}

.txt_under {
    text-decoration: underline;
}

.igo_box ul.bg_y li span {
    background: #fff2cc;
}

.ilbl {
    display: inline-block;
}

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

.price-flex-l {
    width: 40%;
    box-sizing: border-box;
}

.price-flex-r {
    width: 58%;
    box-sizing: border-box;
}

.tb01 {
    margin-top: 50px;
}

.tt01 {
     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: 24px;
    text-align: center;
    font-weight: bold;
    line-height: 1.4em;
}

.tt01 span {
    text-decoration: underline;
}

.under-tbl td.bg01 {
    background: #1a306d;
    color: #fff;
}

.under-tbl td.bg02 {
    background: #7e6346;
    color: #fff;
}

.tb-center th,
.tb-center td {
    text-align: center;
    border: 1px solid #000;
    background: none;
}

.tt02 {
     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: 19px;
    font-weight: bold;
    line-height: 1.2em;
    margin-bottom: 10px;
}

.tt02 span {
    text-decoration: underline;
}

.small-txt {
    font-size: 12px;
}

.price-note {}

.price-note li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 10px;
}

.price-note li:before {
    position: absolute;
    content: "";
    left: 0;
    top: 6px;
    width: 15px;
    height: 15px;
    background: #7e6346;
}

.mb0 {
    margin-bottom: 0;
}

@media screen and (max-width: 600px) {
    .igo_box ul {
        display: block;
        max-width: 280px;
        margin: 0 auto;
    }

    .igo_box ul li {
        width: 100%;
        border: none;
        padding: 0;
        margin-bottom: 20px;
    }

    .igo_box.col-2 ul li {
        width: 100%;
    }
}

@media screen and (max-width: 340px) {
    .igo_box.col-2 ul li {
        font-size: 22px;
    }
}

@media screen and (min-width: 601px) and (max-width: 640px) {
    .igo_box ul li {
        padding: 20px 12px;
    }
}

@media screen and (min-width: 641px) {
    .fix_width {
        width: 25%;
    }
}

.sp_box {
    display: none;
}

.pc_box {
    display: block;
}

@media screen and (max-width: 640px) {
    .sp_box {
        display: block;
    }

    .pc_box {
        display: none;
    }

    .under-tbl1 td {
        font-size: 11px;
    }
}

.box03.pc {
    margin: auto;
    width: 100%;
}

h4.strong {
    font-size: 26px;
    position: relative;
    margin-bottom: 25px;
    padding-bottom: 15px;
    position: relative;
    margin-top: 30px;
}

h4.strong:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    left: 0;
    bottom: 0;
    background: #7e6346;
    background: linear-gradient(90deg, rgba(26, 48, 109, 1) 8.2%, rgba(126, 99, 70, 1) 8.2%);
}

.idx-btn.idx-btn-item a>span {
    padding: 0 30px;
}

#index .box00_list {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1100px;
    margin: auto;
}

.box00-btn-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#index .box00_list .f-info-r {
    padding-left: 80px;
    width: calc(100% - 500px);
    box-sizing: border-box
}

.box00 .idx-btn {
    text-align: center;
    margin-top: 25px;
}

#index .box00_list .b03-top .container {
    width: auto;
}

#index .box00_list .b00-top>.container:before {
    width: 160px;
    height: 600px;
    left: 0;
}

#index .box00_list .b00-top-list .idx-h4>span {
    right: 60px;
}

#index .box00_list .idx-h4>span {
    font-size: 90px;
}

#index .box00_list .ov-list {
    width: auto;
}

#index .box00_list .b00-top-list.top {
    /*    margin-bottom: 30px;*/
}

#index .b00-top {
    width: 500px;
}

#index .box00_list {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1100px;
    margin: auto;
    margin-bottom: auto;
}

#index .box00_list .b00-top .container {
    width: auto;
}

.b00-top>.container {
    position: relative;
}

.b00-top-list .idx-h4 {
    color: #000;
    text-align: right;
    max-width: 950px;
    margin: 50px auto 123px;
}

/*--*/
#index .box03_list {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1100px;
    margin: auto;
}

#index .box03_list .f-info-r {
    margin-left: 80px;
}

#index .box03_list .b03-top .container {
    width: auto;
}

#index .box03_list .b03-top>.container:before {
    width: 160px;
    height: 600px;
    left: 0;
}

#index .box03_list .b03-top-list .idx-h4>span {
    right: 60px;
}

#index .box03_list .idx-h4>span {
    font-size: 100px;
}

#index .box03_list .ov-list {
    width: auto;
}

#index .box03_list .b03-top-list.top {
    margin-bottom: 30px;
}

.f-bot ul li {
    color: #000;
}

.br_sp {
    display: none;
}

.img-banner {
    text-align: center;
    border: 3px solid #80d3bf;
    width: max-content;
    padding: 30px;
    margin: 10px auto 0;
    border-radius: 5px;
}

.img-banner.img-banner-item {
    padding: 0;
    border: 3px solid #80d3bf;
    width: 100%;
    max-width: 412px;
}

.img-banner.img-banner-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.f-info-time img {
    image-rendering: -webkit-optimize-contrast;
    /* Chrome (and Safari) */
    image-rendering: optimize-contrast;
    /* CSS3 Proposed       */
    -ms-interpolation-mode: nearest-neighbor;
    /* IE8+                */
}

/*new style*/

.note {
    text-decoration: unset !important;
}

.note:hover {
    text-decoration: underline !important;
}

.note {
    padding: 20px 0;
}

.features-wrapper {
    max-width: 950px;
    margin: 150px auto;
}

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

.title-fea {
    background: #1a306d;
    color: #fff;
    padding: 10px 15px 5px;
}

.desc-fea {
    padding: 0 20px 20px;
}

span.strong {
    display: block;
    font-weight: bold;
    font-size: 24px;
    padding-bottom: 15px;
}

.features-main {
    margin-bottom: 130px;
}

.features-main ul {
    display: grid;
    grid-template-columns: repeat(3, 3fr);
    margin-bottom: 30px;
}

.features-main ul li p.caption {
    text-align: center;
    display: flex;
    flex-direction: column;
}

.features-main ul li img {
    width: 80px;
    height: 80px;
    margin: auto;
    object-fit: contain;
}

.features-main ul li .txt-fea {
    font-weight: bold;
    display: block;
    margin-top: 20px;
}

.features-main .idx-btn {
    cursor: pointer;
}

.features-bot ul {
    display: grid;
    grid-template-columns: repeat(3, 3fr);
}

.features-bot ul li {
    background: #dde0e9;
    padding: 20px;
    text-align: center;
}

.fea-txt-top {
    background: #fff;
    border-radius: 40px;
    padding: 10px 5px 5px;
    text-align: center;
    position: relative;
    color: #18316d;
}

.fea-txt-top:before {
    position: absolute;
    content: '';
    top: 13px;
    left: 20px;
    background: url(../images/star_blue.png)top 3px left /12px auto no-repeat;
    text-shadow: 0 0 0 #fff;
    transition: all .5s;
    z-index: 2;
    width: 15px;
    height: 20px;
}

.fea-txt-top:after {
    position: absolute;
    content: '';
    top: 13px;
    right: 20px;
    background: url(../images/star_blue.png)top 3px left /12px auto no-repeat;
    text-shadow: 0 0 0 #fff;
    transition: all .5s;
    z-index: 2;
    width: 15px;
    height: 20px;
}

.fea-txt-main {
    color: #18316d;
    text-align: center;
    margin: 0 0 5px;
}

.fea-txt-main span {
    font-weight: bold;
    font-size: 24px;
}

.txt-note {
    font-size: 12px;
    color: #18316d;
    text-align: center;
}

.icon-list {
    display: flex;
    align-items: center;
}

.icon-item {
    display: flex;
    align-items: center;
    margin-right: 10px;
    margin-left: 10px;
}

.icon-item .icon-h {
    width: max-content;
    display: block;
    text-align: center;
    margin: 0;
    background: #7e6346;
    color: #fff;
}

.icon-item .icon-h a {
    text-decoration: unset;
    color: #fff;
    padding: 10px;
    display: block;
}

.icon-item .icon-h a:hover {
    opacity: .75;
    cursor: pointer;
}

.icon-item .icon-h:first-child {
    background: #1a306d;
}

.icon-item .icon-h span {
    display: block;
    font-size: 12px;
    line-height: 1.2;
    padding-top: 5px;
}

.icon-item .icon-h img {
    width: 25px;
    height: 25px;
    object-fit: contain
}

.whitening-page .under-tbl th,
.whitening-page .under-tbl td {
    border: 0;
}

.whitening-page .under-tbl th {
    text-align: center;
}

.pd125 {
    padding-bottom: 125px;
}

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

.banner-treatment .sp {
    margin: 0 auto;
}

@media(min-width: 641px) {
    .features-content {
        margin-right: 30px;
    }

    .features-bot ul {
        grid-column-gap: 30px;
    }

    .features-main ul {
        grid-column-gap: 30px;
    }

    .mt40 {
        margin-top: 40px;
    }

    .icon-item {
        display: none;
    }
}

.box-case-img {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    margin-bottom: 35px;
}

.box-case-img .label {
    font-size: 20px;
    font-weight: bold;
}

.box-case-img li {
    width: 48%;
}



@media(max-width: 746px) {
    .whitening-page .under-tbl tr {
        display: flex;
        flex-direction: column;
    }
}


.b01-mid .fix_mar117 {
    margin-bottom: 117px !important;
}

@media screen and (max-width: 640px) {
    .top_img.mb50 {
        margin-bottom: 30px !important;
    }

    .b01-mid .fix_mar117 {
        margin-bottom: 90px !important;
    }

    .idx-h4>span {
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
    }

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

    .item-sp {
        display: none;
    }
}



/*new style*/

.top-banner {
    margin: auto;
    max-width: 950px;
}

.top-banner p {
    text-align: center;
    padding: 0 20px;
}

.box_main {
     font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    width: 100%;
    max-width: 600px;
    height: auto;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 9;
    background: rgba(255, 255, 255, 0.9);
    padding: 20px;
    right: 0;
    left: 0;
    margin: 0 auto;
}

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

.box_main .title {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    color: #253a75;
    display: flex;
    justify-content: center
}

.box_main .title::before {
    content: '';
    width: 30px;
    height: 24px;
    background: url("../images/idx_btn05.png") no-repeat left 6px / 100%;
    display: block;
    margin-right: 5px;
}

.box_main .title::after {
    content: '';
    width: 30px;
    height: 24px;
    background: url("../images/idx_btn06.png") no-repeat left 6px / 100%;
    display: block;
    margin-left: 5px;
}

.box_main ul li {
    font-size: 14px;
    background: url("../images/star_blue.png") no-repeat left 6px / 12px;
    padding-left: 20px;
    margin-bottom: 5px;
}

.cnt-flex {
    display: flex;
    flex-direction: row-reverse;
}

.cnt-flex .txt_box {
    width: 55%;
}

.cnt-flex .txt_box .f-info-tel2 a {
    font-size: 25px !important;
    margin-left: 20px;
    padding: 5px 10px !important;
}

.cnt-flex .txt_box .top_tel p {
    margin-top: 0;
}

.cnt-flex .txt_box .top_tel {
    display: flex;
    justify-content: center;
    align-items: center;
}

.cnt-flex .txt_box .top_tel a {
    font-size: 18px;
    display: block;
}

.txt_mall {
    font-size: 14px;
}

@media(min-width: 641px) {
    .top-banner p {
        padding-bottom: 50px;
    }
}

  .modal-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
  }

  .modal-window {
    background: #fff;
    border: 2px solid #003366;
    border-radius: 8px;
    max-width: 600px;
    width: 90%;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    font-family: sans-serif;
  }

  .modal-header {
    background: #003366;
    color: #fff;
    padding: 1em;
    font-weight: bold;
    font-size: 1.2em;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    text-align: center;
  }

  .modal-body {
    padding: 1em;
    font-size: 1em;
    line-height: 1.6;
    color: #333;
    text-align: center;
  }

  .modal-close {
    display: block;
    margin: 1em auto;
    padding: 0.5em 1.5em;
    background: #003366;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 1em;
    cursor: pointer;
  }

  @media (max-width: 480px) {
    .modal-body {
      font-size: 0.95em;
    }
    .modal-header {
      font-size: 1em;
    }
  }
