@import url("default.css");

* {-webkit-text-size-adjust:100%;}
a{color: #313131; transition: .3s;}
a:hover{color: #313131; text-decoration: none;}
.mv_base{ opacity: 0; transition: 1.0s; transform: translate(0,20px); -webkit-transform: translate(0,20px);}
.mv{ opacity: 1.0; transform: translate(0,0); -webkit-transform: translate(0,0);}


/* common */
.col { width: 1050px; margin: 0 auto;}
.visible-xs, .visible-sm, .visible-md, .visible-lg { display: none; }
.btn_link{display: block; padding: 20px 0; font-weight: bold; letter-spacing: 0.1em; line-height: 1; text-align: center; margin: 40px auto 0; background-color: rgba(255,255,255,0.7); border-radius: 3px;}
.btn_link:hover{background-color: rgba(255,255,255,1);}
@media (min-width: 1200px) {
    .visible-lg { display: block!important; }
    .hidden-lg { display: none!important; }
}

body { font-size: 13px; line-height: 1.9; letter-spacing: .08em; background-color: #fff; color: #333; font-family: "Noto Sans Japanese", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; padding-top: 100px;}
@media (max-width: 767px) {
    body { padding-top: 66px; }
}

header{position: fixed; top: 0; left: 0; width: 100%; z-index: 9999; background-color: rgba(50,85,138,0.9); height: 100px; -webkit-transition:background 0.6s, border 0.6s; -moz-transition:background 0.6s, border 0.6s; -o-transition:background 0.6s, border 0.6s; transition:background 0.6s, border 0.6s;}
header.fixed{background-color: rgba(50,85,138,0.9); height: 100px;}
header h1{position: absolute; top: 16px; left: 30px;}
header h1 img{width: 280px; height: auto;}
header .language-chooser { position: absolute; top: 32px; right: 30px;}
header .language-chooser li{float: left; margin-right: 10px; font-size: 13px; line-height: 28px; color: rgba(255,255,255,0.8); letter-spacing: 0.1em;}
header .language-chooser li:last-child{ margin-right: 0;}
header .language-chooser a{background-color: #089ce6; border:1px solid #089ce6; color: #fff; display: block; border-radius: 2px; padding: 10px 15px; line-height: 1; line-height: 1; font-weight: bold;}
header .language-chooser .active a{background-color: #fff; color: #000; border-color: #fff;}
header .language-chooser a:hover{background-color: #fff; color: #000;}
header .instagram{position: absolute; top: 30px; right: 97px;}
header .instagram a{color: #fff;}
header .rakuten {position: absolute; top:30px; right: 150px;}
header .rakuten a {color: #fff;}
header .toggle{position: absolute; top: 29px; right: 40px; z-index:9999;}
header .toggle button{width: 46px; height: 30px; border-left: 1px solid #fff; cursor: pointer; outline: none; position: relative; border: none; background-color: transparent;}
header .toggle button:after{content: ''; position: absolute; width: 70%; height: 2px; background-color: #fff; top: 0px; left: 15%; box-shadow: 0 12px 0 #fff/*, 0 24px 0 #fff*/;}
header .toggle .btm {width: 70%; font-size: 11px; position: absolute; top: 14px; left: 15%; line-height: 2.4; color: #fff;}
header + .gmenu{position: fixed; width: 100%; height: 100%; background-color: rgba(50,85,138,0.9); top: 0; left: 0; z-index: 9998; display: none;}
header + .gmenu ul{padding-top: 100px;}
header + .gmenu li a{color: #fff; font-size: 14px; display: block; width: 100%; text-align: center; border-top: 1px solid rgba(255,255,255,0.15); line-height: 1; -webkit-transition:background 0.6s, border 0.6s; -moz-transition:background 0.6s, border 0.6s; -o-transition:background 0.6s, border 0.6s; transition:background 0.6s, border 0.6s;}
header + .gmenu li a:hover{background-color: #3a64a3;}
header .menu-trg-area { width: 50px; height: 50px; position: absolute; top: 0; bottom: 0; right: 4px; background: none; margin: auto;}
header .menu-trigger,
header .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box;}
header .menu-trigger { position: absolute; right: 12px; top: 0; width: 25px; height: 37px; z-index: 2;}
header .menu-trigger span { position: absolute; left: 0; width: 100%; height: 3px; background-color: #000;}
header .menu-trigger span:nth-of-type(1) { top: 15px;}
header .menu-trigger span:nth-of-type(2) { top: 24.4px;}
header .menu-trigger span:nth-of-type(3) { bottom: 0;}
header .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(20px) rotate(-45deg); transform: translateY(20px) rotate(-45deg); top: 5px;}
header .menu-trigger.active span:nth-of-type(2) { left: 50%; opacity: 0; -webkit-animation: active-menu-bar02 .8s forwards; animation: active-menu-bar02 .8s forwards;}
header .menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(-20px) rotate(45deg); transform: translateY(-20px) rotate(45deg); bottom: -11px;}
header .sp_lan{display: none;}
header .topmenu { position: absolute; top: 30px; left: 350px;}
header .topmenu li { display:inline-block; font-size:14px; margin-right:20px; line-height: 28px; color: rgba(255,255,255,0.8); letter-spacing: 0.1em;}
header .topmenu li a { color:#fff; font-weight: bold;}
.home header{background-color: transparent; height: auto;}
@media (max-width: 1199px) and (min-width: 769px) {
    header .language-chooser { position: absolute; top: 25px; right: 100px;}
}
@media (max-width: 767px) {
    header{height: 66px;}
    header.fixed{background-color: rgba(50,85,138,0.9); height: 66px;}
    header h1{position: absolute; top: 21px; left: 10px;}
    header h1 img{width: 120px; height: auto;}
    header .instagram{top: 15px; right: 60px;}
    header .rakuten {position: absolute; top:15px; right: 105px;}
    header .toggle{position: absolute; top: 20px; right: 10px;}
    header .language-chooser { position: absolute; top: 8px; right: 60px; width: 155px;}
    header .language-chooser li {margin: 3px;}
    header .language-chooser li:last-child { margin-right: 0; }
    header .language-chooser a{ background-color: #089ce6; border: 1px solid #333; color: #fff; display: block; border-radius: 2px; padding: 3px 5px 4px; line-height: 1; font-size: 10px; width: 70px; text-align: center; border: none;}
    header .language-chooser .active a{background-color: #fff; color: #000; border-color: #fff;}
    header + .gmenu ul{padding-top: 66px;}
    header .sp_lan{display: block; position: fixed; bottom: 0; left: 0; width: 100%; background-color: #fff; z-index: 9999; padding: 8px; border-top: 1px solid #ccc;}
    header .sp_lan li{width: 49%; text-align: center;}
    header .sp_lan li:first-child{margin-right: 2%;}
    header .sp_lan li a{background-color: #fff; color: #444!important; border-color: #444;}
    header .sp_lan .active a{background-color: #000;  color: #fff!important; border-color: #000;}
    header .menu-trg-area { display: block!important;}
}
@media(max-width: 365px) {
    header .instagram{top: 15px; right: 45px;}
    header .rakuten {position: absolute; top:15px; right: 83px;}
    header .toggle{position: absolute; top: 20px; right: 0px;}
    header .language-chooser{position: absolute; top: 8px; right: 40px;}
}


.tour_contact {display:block; margin:0 auto; max-width:320px; text-align: center;}
.tour_contact a {background-color: #32558a; color: #fff; display:block; line-height: 50px; text-decoration: none; letter-spacing: 0.2em; margin-top: 25px;}
.tour_contact a:hover {transition:0.3s; background-color:#089ce6; color: #fff;}
.t_contact{background: url(../images/bg_contact.jpg) center center; background-size: cover; width: 100%; height: 100%; padding: 50px 0;}
.t_contact .col{width: 580px;}
.t_contact h1{text-align: center;}
.t_contact h1:after{content: ""; display: block; width: 36px; height: 1px; background-color: rgba(255,255,255,0.5); margin: 15px auto 0;}
.t_contact ul{margin-top: 30px;}
.t_contact li{float: left; width: 46%;}
.t_contact li:first-child{margin-right: 4%;}
.t_contact .add{text-align: center; border-top: 1px solid rgba(255,255,255,0.5); border-bottom: 1px solid rgba(255,255,255,0.5); padding: 5px 0; margin-top: 15px; font-size: 12px;}
.t_contact .btn_link{width: 100%; margin-top: 20px;}
.t_contact p {color: #fff!important;}
.ft_over { position: relative;;}
.ft_over .t_contact { width: 620px; display: inline-block; position: relative; z-index: 1;}
.ft_over iframe { width: calc(100% - 620px); display: inline-block; position: absolute; height: 100%; right: 0; top: 0; display: block!important;}
@media (max-width: 1100px) {
    .ft_over .t_contact { width: 100%;}
    .ft_over iframe { width: 100%; position: static; display: block!important; height: 300px;}
}
footer{background-color: #fff; padding: 20px; position: relative;}
footer li{float: left; height: 12px; position: relative; margin-right: 15px; padding-right: 15px; line-height: 1;}
footer li a{font-size: 12px; line-height: 1; display: block;}
footer li:after { position: absolute; top: 0; right: 0; display: inline-block; content: ''; width: 1px; height: 12px; background-color: #000;}
footer li:last-child:after { width: 0px; height: 0px;}
footer .copyright{position: absolute; top: 20px; right: 20px; width:300px; height:12px;}
@media(max-width: 1199px) {
    .t_contact .col{width: 580px;}
}
@media(max-width: 991px) {
    .btn_link{padding: 15px 0; margin: 30px auto 0;}
    .t_contact{padding: 40px 0;}
    .t_contact .col{width: 580px;}
    .t_contact h1 img{height: 14px; width: auto;}
}
@media(max-width: 768px) {
    .sp_load{background: url(../images/sp_main.jpg) no-repeat center center; background-size: cover; display: block; width: 100%;}
}
@media(max-width: 767px) {
    .t_contact{padding: 20px 0;}
    .t_contact .col{width: 100%;}
    .t_contact h1:after{margin-top: 10px;}
    .t_contact ul{margin-top: 20px;}
    .t_contact li{float: none; width: 100%;}
    .t_contact li:first-child{margin-right: 0%; margin-bottom: 20px;}
    .t_contact li img{height: 20px; width: auto; display: block; margin: 0 auto;}
    .t_contact .add{text-align: center; margin-top: 20px; line-height: 19px;}
    .t_contact .btn_link{font-size: 12px;}
    footer{padding: 15px 15px 10px;}
    footer ul{margin-bottom: 15px;}
    footer li{height: 11px; margin-right: 10px; padding-right: 10px;}
    footer li:last-child{margin-right: 0; padding-right: 0;}
    footer li a{font-size: 11px; letter-spacing: 0;}
    footer li:after {height: 11px;}
    footer .copyright{position: static; top: auto; right: auto; line-height: 1;}
    footer .lan_en li{float: none; margin-right: 0; padding-right: 0; line-height: 1.6!important; height: auto; padding-bottom: 5px;}
    footer .lan_en li a{line-height: 1.6!important; text-decoration: underline;}
    footer .lan_en li:after {width: 0px;}
}


/* GLOBAL */
.container-fluid { max-width: 1050px; margin: auto;}
.sp { display: none;}
.title { font-size: .2rem; font-weight: bold; letter-spacing: .3em;}
.title::after { content: ''; display: block; background: #000; height: 2px; width: .38rem; margin: .2rem auto .45rem;}
.txtm { font-size: .15rem; font-weight: bold;}
.txts { font-size: .15rem;}
.ttl { font-size: .24rem; font-weight: bold; letter-spacing: .12em; position: relative; padding-left: .2rem;}
.items { position: relative; height: 260px; z-index: 0; display: flex; align-items: center; justify-content: center; overflow: hidden;}
.contents-wrapper { padding: 1rem 0 1.2rem; }
.p_hero { background-position: center; background-size: cover; height: 3.8rem;}
.hero { background-position: center; background-size: cover; height: 660px; width: 100%;}
.hero::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(36,37,40,.25);}
.hero_lead { z-index: 1; margin: auto; font-size: .26rem; font-weight: bold; color: #fff; letter-spacing: .12em; position: absolute; line-height: 1; height: 30px; top: -20px; bottom: 0;}
.hero_lead::after { content: ""; position: absolute; right: 0; left: 0; bottom: -15px; border-bottom: #fff solid 2px; width: 40px; margin: auto;}
.ttl::after { content: ""; position: absolute; border-left: solid 5px #191851; height: .35rem; top: 0; left: 0; bottom: 0; margin: auto;}
.more_btn { letter-spacing: .12em; text-align: center;  max-width: 250px; width: 100%; margin: 0 auto; padding: .16rem .1rem; border: solid 1px #828080; text-align: center; display: block; color: #828080; transition: all .3s;}
.more_btn:hover { background-color: #828080; color: #fff;}
.access { padding: 1rem 0 1.15rem; margin: 0 .15rem;}
.gmap { width: 100%; height: 460px; display: block; margin-bottom: .25rem;}
.pt_wrap { width: 100%; display: flex; margin-bottom: .35rem; margin-left: auto;}
.l_blue { position: relative; padding: .4rem 0 .4rem .4rem; width: 20%; color: #000; text-align: left; border-right: 1px #828080 dotted; display: flex; justify-content: center; align-items: center;}
.r_descript { width: 80%; display: flex;  flex-flow: column wrap; justify-content: center; padding-left: .3rem; line-height: 2;}
.r_descript2 { width: 80%; display: flex;  flex-flow: column wrap; justify-content: center; padding-left: .3rem; line-height: 2;}
.r_descript table th { width: 120px; border-bottom: 1px rgba(0,0,0,.2) solid; padding: 10px 0; }
.r_descript table td { border-bottom: 1px rgba(0,0,0,.2) solid; padding: 10px 0; }
.r_descript table tr:last-child th,
.r_descript table tr:last-child td { border: none; }
.course { padding: 1rem 0;}
.grid_img { background-size: cover; background-position: center; padding-top: 70%;}
.pagination { text-align: center; }
.pagination ul { margin: .3rem auto 0; }
.pagination li { display: inline-block; text-align: center; line-height: 1!important; border: 1px solid #325589;}
.pagination li a,
.pagination .active { background: #325589; color: #fff!important; border: none!important; padding: 12px 13px!important; width: 42.5px; height: 42.5px; vertical-align: middle; line-height: 1; font-weight: bold;}
.pagination li a { display: block; width: 40.5px; height: 40.5px;}
.pagination .active { background: none; color: #325589!important; border: 1px solid #325589!important; }
@media (max-width: 767px){
    .items { height: 150px; }
    .contents-wrapper { padding: .5rem 0 .6rem; }
    .title { font-size: .16rem;}
    .txtm { font-size: .18rem;}
    .txts { font-size: .18rem;}
    .bgf { padding-top: .6rem!important;}
    .bgfff { padding-bottom: .6rem!important;}
    .contents { height: 120px;}
    .para { height: 240px;}
    .mgt { margin-top: .2rem}
    .course { padding: .5rem 0;}
    .pt_wrap { display: block; margin-bottom: .8rem;}
    .l_blue { width: 100%; padding: 0; margin-bottom: .12rem; border: none; font-size: .18rem;}
    .r_descript { width: 100%; border-top: 1px dotted #828080; border-bottom: 1px dotted #828080; padding: .2rem 0 .2rem 0;}
    .r_descript2 { width: 100%; border-top: 1px dotted #828080; border-bottom: 1px dotted #828080; padding: .2rem 0 .2rem 0;}
    .gmap { height: 200px;}
    .access { padding-top: .5rem; }
}

/* parallax */
.para { background-size: cover; height: 480px; z-index: 0; position: relative;}
.bgf { background-color: #fff; margin-top: 0!important; padding-top: 1rem!important; position: relative;}
.bgfff { background: #fff; z-index: 1; padding-bottom: 1rem!important; position: relative;}
.contents { height: 300px; display: block; position: relative;}
.contents.sub { height: auto; }

/* overview */
#overview .greet { padding: .5rem 0; width: 100%;}
#overview .greet_txt { font-size: .17rem; line-height: 1.9em;}
#overview .greet_txt .pd { padding: .3rem 0;}
#overview .greet_txt .pdnone { padding-top: 0;}
#overview .pdleft { padding-left: .1rem;}
#overview .viewtbl td { vertical-align: top;}
#overview .sv { background: #f7f6f5; padding: .6rem 0;}
#overview .person_img { padding-top: 70%; background-position: center; background-size: cover;}
#overview .sv_1 { margin-bottom: .9rem;}
#overview .sv_2 { padding-bottom: .75rem;}
#overview .txtpd { padding: .2rem; background-color: #fff;}
#overview .content { padding: .85rem 0; }
#overview .content > .container-fluid { margin-bottom: 1.05rem; }
#overview .content .wrap { width: 100%; display: flex; border-top: 1px #828080 solid; position: relative;}
#overview .content .wrap::after { content: ""; position: absolute; left: 0; top: -2px; width: 30%; border-top: 3px solid #000;}
#overview .left_item { display: inline-block; width: 30%; padding: .35rem 0; font-size: .16rem; font-weight: bold;}
#overview .right_item { display: inline-block; width: calc(100% - 30%); padding: .35rem 0 .35rem .9rem; font-size: .16rem;}
#overview .wrap2 {  width: 100%; display: flex;  align-items: center; border-bottom: 1px #828080 solid; position: relative;}
#overview .wrap3 { display: flex;  align-items: center;}
#overview .content .wrap2::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 30%; border-bottom: 3px solid #000;}
#overview .content_img { background-position: center; height: 250px; background-repeat: repeat;}
#overview .description { background-color: #f7f6f5; padding: .95rem 0;}
#overview .leadtxt { margin-bottom: .15rem; font-size: .15rem; font-weight: bold; text-align: center;}
#overview .txts a { text-decoration: underline; color: #089ce6; }
#overview .sentence { margin-bottom: .2rem; background: #fff; padding: 2em;}
#overview .sentence .banner img { margin: 0 auto .1rem; display: block; }
#overview .description .col-12:not(.l_content) .title { margin-top: 1rem; }
#overview .description .col-12:not(.l_content) .leadtxt { text-align: left; border-bottom: 1px solid #e8e8e8; padding-bottom: .1rem;}
@media (max-width: 767px){
    #overview .greet_img { margin-bottom: .2rem;}
    #overview .greet_img img { width: 100%; margin-bottom: .08rem;}
    /*#overview .leadtxt { font-size: .18rem;}*/
    #overview .gmap { height: 260px;}
    #overview .l_content { margin-bottom: .6rem;}
    #overview .greet { padding: .3rem 0;}
    #overview .title::after { margin-top: .1rem;}
    #overview .sv { padding: .3rem 0;}
    #overview .sv_1 { margin-bottom: .6rem;}
    #overview .sv_2 { padding-bottom: 0;}
    #overview .contents { padding: .3rem 0 0;}
    #overview .description { background-color: #f7f6f5; padding: .5rem 0;}
    #overview .description .col-12:not(.l_content) .title { margin-top: .5rem; }
    #overview .access { padding: .6rem 0 .7rem; margin: 0 .15rem;}
}

/* about */
#about .row { display: flex; align-items: center;}
#about { line-height: .34rem;}
#about .about_contents { padding-top: .95rem;}
#about .ttl { margin-bottom: .35rem;}
#about .text { margin-bottom: .5rem;}
#about .sentence { margin-bottom: .5rem;}
#about .fvbox2 img { width: 100%; }
#about .movie-wrap { width: 100%; padding-top: 56.5%; margin-top: .7rem; position: relative; }
#about .movie-wrap iframe { display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; }
@media (max-width: 767px){
    #about br { display: none;}
    #about .sentence { margin-bottom: .2rem}
    #about .text { margin-bottom: .2rem;}
    #about img { width: 100%;}
    #about .para { height: 480px;}
}

/* tour */
#tour { overflow: hidden;}
#video_content { z-index: -1; position: fixed; height: 100%; width: 100%; transform: translate(-50%,-50%)!important; top: 50%; left: 50%; transition: .3s; pointer-events: none;}
#tour > .bgf { background-color: rgba(255,255,255);}
#tour .t_fv { z-index: 999;}
#tour .row { align-items: center;}
#tour .t_pdb{ padding-bottom: 1.2rem;}
#tour .tour_txt { margin: 1rem 0;}
#tour .t_sv { padding: .5rem 0; background-color: rgba(50, 85, 138, .65); color: #fff;}
#tour .t_sv .title::after { background: #fff;}
#tour .flexbox { padding: .2rem 0;}
#tour .width_c { width: 80%; margin: 0 auto; font-weight: bold;}
#tour .access { background-color: #fff; z-index: 999; margin: 0; padding: .5rem 0;}
#tour .access > .txts { padding: 0 .15rem; text-align: center;}
#tour .t_sv .more_btn { font-weight: bold; letter-spacing: .12em; text-align: center;  max-width: 250px; width: 100%; margin: 0 auto; padding: .16rem .1rem; border: solid 1px #fff; text-align: center; display: block; color: #fff; transition: all .3s;}
#tour .t_sv .more_btn:hover { background-color: #fff; color: #000;}
@media (max-width: 767px){
    .pc { display: none;}
    #tour .hero_lead { top: 40px;}
    #tour .items { height: 130px;}
    #tour .hero { height: 440px;}
    #tour .items, .bgf { padding-top: .3rem!important;}
    #tour .t_sv { padding: .3rem 0;}
    #tour .flexbox { padding: .15rem 0;}
    #tour .t_pdb { padding-bottom: .5rem;}
    #tour .mgb80 { margin-bottom: 0!important;}
    #tour .spmgb { margin-bottom: .5rem;}

}

/* calendar */
@media (max-width: 767px) {
    .event_2 { display: none; }
}

/* pearl_tour */
#p_tour .course { z-index: 1;}
#p_tour .course_txt { font-size: .18rem; line-height: 1.8; letter-spacing: .18em; margin-bottom: .45rem; display: block;}
#p_tour .c_title { font-size: .27rem!important; font-weight: bold; text-align: center; margin: .4rem auto; position: relative;}
#p_tour .pd_height { padding: .1rem 0 .1rem .4rem;}
#p_tour .other_items { margin-bottom: .3rem;}
#p_tour .pditem { padding-bottom: 1rem;}
#p_tour .item_ttl { font-size: .18rem; margin-bottom: .2rem; font-weight: bold; color: #0f85d9;}

@media (max-width: 767px){
    #p_tour .p_hero { height: 3rem;}
    #p_tour .pd_height { padding: 0;}
}

/* club */
#club .c_lead { font-size: .3rem; font-weight: 700; color: #113166; background-color: #fff; line-height: 1.5em; padding: 0 .1rem; margin-bottom: .3rem}
#club .relative { position: relative; width: 100%; height: 5rem;}
#club .ct_items { position: absolute; bottom: 0.65rem; left: 1.2rem;}
#club .c_txt {background-color: #fff; display: inline-block; font-weight: 500; padding: 0 .1rem; font-size: .2rem; color: #113166;}
#club .sentence { text-align: center; margin: .5rem 0;}
#club .c_ttl { font-size: .3rem; font-weight: bold;}
#club .r_descript > img { width: 25%;}
#club .sentence .wrap { border: solid 2px #000; padding: 4% 3.5% 14%; background-color: #fff; height: calc(100% - 90px); margin-top: auto; margin-bottom: auto; position: absolute; top: 0; bottom: 0; right: 15px; flex: 0 0 60%; max-width: 50%;}
#club .sentence .row { position: relative; display: flex;}
@media (max-width: 767px){
    #club .relative { height: 3rem;}
    #club .ct_items { bottom: .1rem;}
    #club .c_lead { font-size: .18rem; background-color: rgba(255,255,255,.7); line-height: 1.5; margin-bottom: .1rem;}
    #club .c_txt { background-color: rgba(255,255,255,.7); font-size: 14px;}
}

/* chip */
#chip .chiphero { position: relative; padding-bottom: .5rem;}
#chip .chiphero .container-fluid { max-width: 850px;}
#chip .description { letter-spacing: .16em; line-height: 2.0; font-weight: bold; font-size: .18rem; margin: 0 auto; text-align: center;}
#chip .description span { display: block; margin-top: .5rem; position: relative; right: 0;}
#chip .fv { padding: .5rem 0;}
#chip .fv .wrap { display: flex; align-items: center; width: 100%; position: relative;}
#chip .fv .wrap + .wrap { padding-top: .8rem;}
#chip .f_img { background-position: center; background-size: cover; padding-top: 50%; width: 75%; margin-left: auto;}
#chip .fv_txts { position: absolute; width: 50%; margin-left: auto;}
#chip .fv_txts .lead { font-size: .25rem; font-weight: bold;}
#chip .fv_txts small { font-size: 90%;}
#chip .fv_txts .txt { font-size: .16rem; letter-spacing: .16em; padding: .25rem 0; line-height: 1.8;}
#chip .ftxt { font-size: .18rem; letter-spacing: .1em; line-height: 1.8; padding-top: .2rem;}
#chip .reserve { flex-direction: row-reverse;}
#chip .reserve .f_img { margin-left: 0; margin-right: auto;}
#chip .c_img { background-position: center; background-size: cover; height: 100%; width: 60%; position: absolute; top: 0; right: 0;}
#chip .product_ttl { font-size: .35rem; font-weight: bold; margin-bottom: .6rem; display: block; position: relative; letter-spacing: .1em;}
#chip .product_ttl:after { content: ""; position: absolute; border: solid 1px; width: 5.5%; bottom: -14px; left: 0; right: 0; margin: auto;}
#chip .products { padding: .5rem 0;}
#chip .p_img { background-position: center; background-size: cover; padding-top: 100%; position: relative;}
#chip .product { padding: .1rem 0; border-bottom: 1px solid #eee; font-size: .2rem; letter-spacing: .05em;}
#chip .price { padding: .18rem 0 .2rem; font-size: .18rem;}
#chip .productbtn { display: block; color: #000; border: 1px solid #000; width: 100%; margin: 0 auto; text-align: center; padding: .1rem .5rem; transition: .6s; cursor: pointer;}
#chip .productbtn:hover { transition: .6s; background-color: #333333; color: #fff;}
#chip .by { display: block; color: #000; border: 1px solid #000; width: 100%; margin: 0 auto; text-align: center; padding: .1rem .5rem; transition: .6s; margin-top: .2rem;}
#chip .by:hover { transition: .6s; background-color: #333333; color: #fff;}
@media (max-width: 991px){
    #chip .description { width: 65%;}
    #chip .fv_txts { width: 55%;}
    #chip .fv_txts .lead { font-size: .2rem;}
    #chip .fv_txts .txt { padding: .1rem 0; letter-spacing: 0; line-height: 1.6;}
}
@media (max-width: 767px){
    #chip .fv .wrap { display: block;}
    #chip .f_img { width: 100%; margin-left: 0; padding-top: 50%;}
    #chip .fv_txts { width: 100%; position: static;}
    #chip .fv_txts .lead { margin: .2rem 0 0;}
}
@media (max-width: 543px){
    #chip .txt { padding: 0 .15rem ;}
    #chip .c_img { position: static; width: 100%;}
    #chip .txt span { font-size: 18px;}
    #chip .chiplead { font-size: 14px; padding-top: .1rem;}
    #chip .chiplead::after { display: none;}
    #chip .description { width: 100%; font-size: 14px; letter-spacing: 0; line-height: 1.6;}
}

/* ショッピング */
#shopping .tour_wrap p { text-align: center; margin-bottom: .5rem;}
#shopping .dutyfree-s { text-align: center; margin-top: .3rem; display: flex; align-items: center; justify-content: center; }
#shopping .dutyfree-s > * { margin: 10px; }

/* 会社案内 */
#company .contents-wrapper h2{font-size: 15px; margin-bottom: 10px; background-color: #32558a; padding: 15px 15px 15px 20px;}
#company .contents-wrapper h2.last{margin: 80px 0 15px;}
#company .contents-wrapper table{width: 100%; margin-bottom: 20px;}
#company .contents-wrapper th,
#company .contents-wrapper td{border-bottom: 1px solid #000; padding: 20px 0;}
#company .contents-wrapper th{font-weight: normal; width: 24%;}
#company .contents-wrapper td{width: 76%;}
#company .contents-wrapper .col_sub li{float: left; width: 25%; padding: 5px 0;}
#company #gmap{height: 400px; width: 100%; color: #000;}
#company .contents-wrapper .col_sub .lan_en li{width: 33.33333%!important;}
#company .awards img { display:block; float:left; margin-right:10px;}
#company .awards a img:hover { opacity:0.6;}
#company .awards p { float:left; line-height:24px;}
#company .awards { overflow:hidden; margin-bottom:15px;}
#company .awards a span { color:#089ce6;}
#company .contents-wrapper th { padding-left: 10px; padding-right: 10px;}
#company .awards_s p { margin-bottom:15px;}
#company .awards_s img { margin-bottom:5px;}
#company h3 { background-color: #32599c; color: #fff; padding: .1rem .1rem; margin-bottom: .1rem; font-weight: bold; font-size: .18rem; margin-top: .2rem;}
#company h4 { color:#32599c; font-size:18px; text-align:center; margin: 0 0 35px; letter-spacing: 12px; font-weight: bold;}
#company h5 { color: #32599c; font-size: 14px; margin-top: 20px; font-weight: bold; margin-bottom: .1rem;}
#company .staff div { font-size: .16rem; text-align: center; }
#company .staff img { margin-bottom: .1rem; }
#company .staff p { line-height:20px;}
#company .staff_b { margin-bottom:30px;}
#company h4 + .staff div { text-align: left; font-size: 13px; }
#company .doip { font-size: .16rem!important; text-align: center!important;}
#company .doip p { padding-right:15px;}
#company .dutyfree-img{ width:30%; border:1px solid black; margin-top:.2rem;}
#company p.profile { padding-left: 4.9em; text-indent: -4.9em;}
#company p.profile_en{ padding-left: 3.6em; text-indent: -3.6em;}
#company th.media-cont { font-size: 15px;}
@media(max-width: 991px) {
    #company .contents-wrapper h2{font-size: 14px; padding: 10px 10px 10px 15px;}
    #company .contents-wrapper h2.last{margin: 60px 0 15px;}
    #company .contents-wrapper th,
    #company .contents-wrapper td{padding: 15px 0;}
    #company .contents-wrapper th{width: 15%;}
    #company .contents-wrapper td{width: 85%;}
    #company .contents-wrapper .col_sub li{width: 33.33333%;}
    #company .contents-wrapper .col_sub .lan_en li{width: 50%!important;}
}
@media(max-width: 767px) {
    #company .contents-wrapper h2{font-size: 13px; padding: 8px 8px 8px 12px;}
    #company .contents-wrapper h2.last{margin: 30px 0 10px;}
    #company .contents-wrapper table{margin-bottom: 10px;}
    #company .contents-wrapper th,
    #company .contents-wrapper td{padding: 6px 0; display: list-item; list-style: none; width: 100%; font-size: 11px;}
    #company .contents-wrapper th{border: 1px solid #444; padding-left: 10px;}
    #company .contents-wrapper td{padding-bottom: 15px; border-bottom: none;}
    #company .contents-wrapper .col_sub li{width: 100%; font-size: 11px; padding: 0;}
    #company #gmap{height: 250px; width: 100%;}
    #company .contents-wrapper .col_sub .lan_en li{width: 100%!important;}
    #company .contents-wrapper .awards th { width:100%; border:none;}
    #company .contents-wrapper .awards { overflow:hidden;}
    #company .dutyfree-img{ width:60%;}
    #company p.profile { padding-left: 4.2em; text-indent: -4.2em; }
}
#company .contents-wrapper h2 {background-color: #fff; color: #000; width: 100%; /*border-bottom: 1px #000 solid;*/ margin-bottom: 0; font-size: 22px; font-weight: bold; padding-left: 10px;}
#company .contents-wrapper .title {border-bottom:1px solid #ccc; margin-bottom: 10px; margin-top: 30px; position: relative;}
#company .contents-wrapper .title::after {content:""; display: block; height:1px; border-bottom: 1px #000 solid; width:30%; left: 0; bottom: -1px; position: absolute; margin: 0;}
#company .contents-wrapper .title:first-child {margin-top: 0;}
#company .contents-wrapper .name {color: #0000ff; font-size: 16px;}
#company .contents-wrapper .name+p {display: block; margin-bottom: 30px;}
#company img {margin-top: 5px;}

/* 新着情報 */
#category-news .bgf { padding-bottom: 1.2rem; }
#category-news .news-list li { margin-bottom: .2rem; }
#category-news .news-list li a { border-bottom: 1px dotted #9A9A9B; width: 100%; display: block; padding: .2rem .25rem; transition: all .3s; }
#category-news .news-list li a:hover { background: #F1F2F4; filter: drop-shadow(5px 5px 5px #aaa); }
#category-news .news-list li a dl { font-size: 0; letter-spacing: 0; }
#category-news .news-list li a dt { font-size: .16rem; width: 1.3rem; display: inline-block; vertical-align: middle;}
#category-news .news-list li a dd { font-size: .18rem; width: calc(100% - 1.3rem); line-height: .255rem; font-weight: bold; display: inline-block; vertical-align: middle;}
#category-news .zoom-banner { margin-bottom: 50px; }
@media (max-width: 767px) {
    #category-news .bgf { padding-bottom: .6rem; }
    #category-news .news-list li a { padding: .2rem .1rem; }
    #category-news .news-list li a dt { display: block; }
    #category-news .news-list li a dd { display: block; margin-top: .1rem; width: 100%; }
	#category-news .zoom-banner { margin-bottom: 30px; }
}

#single-news .bgf { padding-bottom: 1.2rem; }
#single-news .post_date { font-size: .16rem; }
#single-news .post_title { font-size: .26rem; line-height: .32rem; margin-bottom: .2rem; padding-bottom: .1rem; border-bottom: 1px dotted #9A9A9B; font-weight: bold;}
#single-news .page { margin-top: .7rem; }
#single-news .page a { display: block; width: 1rem; background: #32599c; border: 1px solid #32599c; color: #fff!important; text-align: center; font-weight: bold; border-radius: .3em; padding: .3em 0;}
#single-news .page .prev a { float: left; }
#single-news .page .next a { float: right; }
@media (max-width: 767px) {
    #single-news .bgf { padding-bottom: .6rem; }
    #single-news .page { margin-top: .5rem; }
}

.wpcf7 .required { margin-left: .1rem; font-size: 11px; background-color: #32558a; color: #fff; padding: 2px 4px; border-radius: .2em; display: inline-block; font-weight: bold;}
.wpcf7 .dl_table dl { border-bottom: 1px solid #ddd; display: flex; flex-wrap: wrap; }
.wpcf7 .dl_table dl dt { width: 2.4rem; padding-top: .3rem!important; font-weight: bold; }
.wpcf7 .dl_table dl dd { width: calc(100% - 2.4rem); }
.wpcf7 .dl_table dl dt,
.wpcf7 .dl_table dl dd { padding: .2rem 0; }
.wpcf7 .dl_table dl dd p { margin-top: .1rem; }
.wpcf7 tr { border-bottom: 1px solid #ddd; }
.wpcf7 tr th { width: 2.4rem; padding-top: .3rem!important; font-weight: bold;}
.wpcf7 tr th,
.wpcf7 tr td { padding: .2rem 0; vertical-align: top;}
.wpcf7 tr td p { margin-top: .1rem; }
.wpcf7 .fontred { color: #e00!important; padding: 0!important;}
.wpcf7 [type*="text"],
.wpcf7 [type*="email"],
.wpcf7 [type*="tel"],
.wpcf7 [type*="date"] { padding: 10px 15px; border: 1px solid #ddd; display: block; background: #fff!important; border: 1px solid #ddd; outline: none!important; height: 48px;}
.wpcf7 [type*="number"] { height: 40px; width: 70px; padding: 0 10px; text-align: right; background: #fff!important; border: 1px solid #ddd; outline: none!important; height: 48px;}
.wpcf7 select { height: 46px; padding: 0 10px; background: #fff!important; border: 1px solid #ddd; outline: none!important; height: 48px; -webkit-appearance:none;}
.wpcf7 textarea { padding: 10px 15px; width: 100%; border: 1px solid #ddd; }
.wpcf7 .btn_col { padding: 0 150px; font-size: 0; letter-spacing: 0; }
.wpcf7 .btn_col li { width: 50%; display: inline-block; font-size: .15rem; vertical-align: top;}
.wpcf7 .btn_col .btn_link { max-width: 100%; width: 160px; cursor: pointer; border: 1px solid rgb(33, 33, 33); color: #333; }
.wpcf7 .wpcf7-submit:disabled { opacity: .4; }
.wpcf7 div.wpcf7-validation-errors { background-color: #fff; color: #000; font-weight: bold; font-size: .2rem; padding: .1rem; text-align: center; }
@media (max-width: 767px) {
    .wpcf7 .dl_table dl dt { width: 100%; padding-bottom: 0; font-weight: bold; }
    .wpcf7 .dl_table dl dd { width: 100%; }
    .wpcf7 tr th { display: block; width: 100%; padding-bottom: 0; font-weight: bold;}
    .wpcf7 tr td { display: block; width: 100%; }
    .wpcf7 [type*="text"],
    .wpcf7 [type*="email"],
    .wpcf7 [type*="tel"] { width: 100%; padding: 8px 10px; }
    .wpcf7 [type*="date"] { width: 50%; }
    .wpcf7 [type*="number"] { width: 50%; }
    .wpcf7 select { width: 70%; }
    .wpcf7 .btn_col { padding: 0; }
    .wpcf7 .btn_col li { padding: 0 10px; }
}

/* 特商法 */
#law .bgf { padding-bottom: 1.2rem; }
#law table{width: 100%;}
#law th,
#law td{border-bottom: 1px solid #dddd; padding: 20px 0;}
#law th{font-weight: normal; width: 24%;}
#law td{width: 76%;}
#law td a{text-decoration: underline;}
#law td a:hover{text-decoration: none; opacity: 0.5;}
@media (max-width: 767px) {
    #law .bgf { padding-bottom: .6rem; }
    #law th,
    #law td{padding: 6px 0; display: list-item; list-style: none; width: 100%; font-size: 11px;}
    #law th{border: 1px solid #444; padding-left: 10px;}
    #law td{padding-bottom: 15px; border-bottom: none; line-height: 22px;}
}

/* プライバシー */
#privacy .bgf { padding-bottom: 1.2rem; }
#privacy h3{font-size: 15px; margin: 50px 0 10px; border-bottom: 1px solid #ddd; padding-bottom: 10px;}
#privacy ol{padding-left: 1em;}
#privacy ol li{list-style-type: disc; line-height: 22px; margin-top: 8px;}
@media (max-width: 991px) {
    #privacy h3{font-size: 14px; margin: 40px 0 10px;}
}
@media (max-width: 767px) {
    #privacy .bgf { padding-bottom: .6rem; }
    #privacy h3{font-size: 13px; margin: 30px 0 5px; padding-bottom: 5px;}
    #privacy p,
    #privacy dd,
    #privacy ol li{line-height: 22px;}
    #privacy ol li{margin-top: 4px;}
}

/* 真珠の見分け方 */
#tips .bgf { padding-bottom: 1.2rem; }
#tips .col_sub h1:after { content: ""; display: block; width: 36px; height: 1px; background-color: #000; margin: 10px auto 0;}
#tips .col_sub h1 { color : #000;}
#tips .col-sm-6 img { margin-bottom:15px; }
#tips .col-xs-12 { margin-top: 25px;}
#tips .col-xs-12 strong { font-size: 15px; font-size: 15px; display: block; border-bottom: 1px solid #e2e2e2; margin-bottom: .2rem; font-size: .18rem; padding-bottom: 5px; margin-top: 60px;}
#tips .p_box { margin-top:30px; }
#tips  h6 { color: #089ce6; font-weight: bold; margin-bottom: .1rem; font-size: .17rem; }
#tips .lead_sentence { text-align:center; margin-top:20px; margin-bottom:30px; }
#tips .comment { position: relative; margin-bottom: 65px; }
#tips .comment dt { display: inline-block; position: absolute; top: 0; left: 40px; background: #fff; z-index: 2; padding: 0px 10px 0; color:#089ce6!important; font-size:14px; font-family: serif; }
#tips .comment dd { position: relative; border: 1px solid #089ce6; top: 13px; padding: 2em; width: 100%; z-index: 1; color:rgb(50,85,138)!important;}
#tips .point-about{ margin-top:-15px; }
#tips .dutyfree-s { text-align: center; }
#tips .dutyfree-s img{ margin-top:6rem; }
#tips .pearl_element { max-width:100%; margin:0 -1px 70px; display: flex; flex-wrap: wrap; }
#tips .pearl_element li { width: 16.666666666666667%; padding: 0 1px; }
#tips .pearl_element a { display: block; text-align: center; width: 100%; color: #fff; background-color: rgb(50,85,138); font-weight: bold; padding: 10px 0; font-size: 16px; }
#tips .pearl_element { overflow:hidden; }
#tips .pearl_element a:hover { background-color:#089ce6; }
@media (max-width: 991px) {
    #tips .pearl_element a { width:100%; font-size: 15px; }
}
@media (max-width: 767px) {
    #tips .bgf { padding-bottom: .6rem; }
    #tips .pearl_element { margin-bottom: 0;}
    #tips .pearl_element li { width: 33.33333%; }
    #tips .pearl_element a { margin-bottom: 2px; font-size: 13px; }
    #tips .col-xs-12 strong { margin-top: .3rem; }
}

/* 真珠への想い */
#history-s { overflow: hidden; padding-top: .4rem;}
#history-s .col{ width: 1050px; margin: 0 auto;}
#history-s .btn_link{ display: block; padding: 20px 0; font-weight: bold; letter-spacing: 0.1em; line-height: 1; text-align: center; margin: 40px auto 0; background-color: rgba(255,255,255,0.7); border-radius: 3px;}
#history-s .btn_link:hover{ background-color: rgba(255,255,255,1);}
#history-s .pagetop{ position: absolute; font-size: 11px; font-weight: bold; line-height: 1; letter-spacing: 0; bottom: 70px; right: 20px; display: block; padding: 6px 10px; text-align: center; background-color: rgba(255,255,255,0.9); border-radius: 2px;}
#history-s .sp_load{ display: none;}
#history-s .cezanne { font-family: "fot-cezanne-pron",sans-serif;}
#history-s .midashi_go { font-family: "a-otf-midashi-go-mb31-pr6n",sans-serif;}
#history-s .ryo_min { font-family: "ryo-text-plusn",serif;}
#history-s .mv_base { opacity: 0; transition: all 1s; transform: translate(0px,40px) scale(1.1);}
#history-s .mv {  opacity: 1; transform: translate(0px,0px) scale(1);}
#history-s .mv_base .container-fluid { opacity: 0;}
#history-s .mv .container-fluid { opacity: 1; transition: 2s; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); -webkit-transition-duration: 1.6s; transition-duration: 1.6s; -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);}
#history-s .visible-sp { display: none;}
@media only screen and ( max-width: 767px) {
    #history-s .visible-sp { display: block;}
    #history-s .visible-pc { display: none;}
}
#history-s .mgb35 { margin-bottom: 3.5rem!important;}
#history-s .order-1 { -ms-flex-order: 1; order: 1;}
#history-s .order-2 { -ms-flex-order: 2; order: 2;}
#history-s .col-sm-6 { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; width: 47%;}
@media (min-width: 911px) {
    #history-s .order-md-1 { -ms-flex-order: 1; order: 1;}
    #history-s .order-md-2 { -ms-flex-order: 2; order: 2;}
}
#history-s { z-index: 0;}
#history-s .img_area.top45 { top: 45px!important;}
#history-s .img_area.top60 { top: 60px!important;}
#history-s .img_area.top90 { top: 90px!important;}
#history-s .img_area.top120 { top: 120px!important;}
#history-s .img_area.top140 { top: 140px!important;}
#history-s .img_area.top160 { top: 160px!important;}
#history-s .img_area.top190 { top: 190px!important;}
#history-s .mgb-10 { margin-bottom: -10px!important;}
#history-s .mgb-20 { margin-bottom: -20px!important;}
#history-s .mgb-40 { margin-bottom: -40px!important;}
#history-s .mgb5 { margin-bottom: 5px!important;}
#history-s .mgb20 { margin-bottom: 20px!important;}
#history-s .mgb50 { margin-bottom: 50px!important;}
#history-s .mgb60 { margin-bottom: 60px!important;}
#history-s .mgb70 { margin-bottom: 70px!important;}
#history-s .mgb80 { margin-bottom: 80px!important;}
#history-s .mgb130 { margin-bottom: 130px!important;}
@media(max-width:917px){
    #history-s .mgb-10,
    #history-s .mgb-20,
    #history-s .mgb-40,
    #history-s .mgb5,
    #history-s .mgb20,
    #history-s .mgb50,
    #history-s .mgb60,
    #history-s .mgb70,
    #history-s .mgb80,
    #history-s .mgb130 { margin-bottom: 0!important;}
}
#history-s .img_area.mh280 .img_wrap { max-height: 280px; overflow: hidden; position: relative;}
#history-s .img_area.mh300 .img_wrap { max-height: 300px; overflow: hidden; position: relative;}
#history-s .img_area.mh390 .img_wrap { max-height: 390px; overflow: hidden; position: relative;}
#history-s .pageheading p { font-size: .18rem; line-height: 1.8; font-weight: bold; max-width: 790px; color: #1d3a66; padding-top: 180px; position: absolute; left: 100px; top: 120px; text-align: left; font-family: YuMincho, "Yu Mincho", serif;}
#history-s .container-fluid { max-width: 1250px;}
#history-s section { padding-top: 50px; padding-bottom: 50px;}
#history-s h3 { font-size: .2rem; line-height: 1.6; font-weight: bold; font-family: YuMincho, "Yu Mincho", serif; color: #1d3a66; margin-bottom: -.3rem; z-index: 1; position: relative;}
#history-s h3 strong { font-size: .8rem; line-height: 1; background: rgba(255,255,255,1);}
#history-s h3 + p { font-size: .16rem; line-height: 1.6; margin-bottom: .8rem; color: #1d3a66;}
#history-s .pageheading p { font-size: .28rem; line-height: 2.3; color: #1d3a66; padding-top: 310px; text-align: left!important;}
#history-s .pageheading p span { background: rgba(255,255,255,1); padding: 5px;}
#history-s .row { position: relative; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; margin-bottom: 200px!important;}
#history-s .img_area { max-width: 60%; flex: 0 0 60%; padding: 0; width: 100%; z-index: 1;}
#history-s .text_area { padding: 40px 40px 40px 60px; background: #fff; max-width: 50%; flex: 0 0 50%; z-index: 0; background: #1d3a66;}
#history-s .text_area h4 { font-size: 19px; line-height: 42px; font-weight: bold; letter-spacing: .04em; color: #fff; padding-bottom: 20px; font-family: YuMincho, "Yu Mincho", serif;}
#history-s .text_area p { font-size: 13.5px; line-height: 33px; letter-spacing: .1em; color: #fff;}
#history-s .text_area.left { padding: 6% 12% 6% 6%;}
#history-s .text_area.left.mb-100{margin-bottom: -100px!important;}
#history-s .text_area.right { position: absolute; right: 0; top: 50px; padding:6%; z-index: 1;}
#history-s .img_area.right { position: absolute; right: 0; top: 70px;}
#history-s .img_area .img_wrap img { width: 100%;}
#history-s .img_area .img_wrap + .img_wrap { margin-top: .25rem;}
#history-s.en .text_area h4 { line-height: 1.3; }
#history-s.en .text_area p { line-height: 1.9; }
@media (min-width: 1500px){
    #history-s .pageheading { width: 100%; max-width: 1860px; padding: 0 100px;}
}
@media (min-width: 1101px){
    #history-s .pageheading { width: 100%; min-width: 1100px; margin: 0 auto; padding-left: 100px; position: relative; transition: .3s;}
    #history-s .pageheading .img-photo { width: 100%; min-width: 1012px; max-width: 1375px; background: url("../images/omoi/h_mainv.jpg")no-repeat; min-height: 600px; background-repeat: no-repeat; background-attachment: fixed; background-position: right 10vw; background-size: contain; transition: .3s; margin-left: 15%;}
}
@media (max-width: 1100px) {
    #history-s .pageheading h3 { padding-left: 40px;}
    #history-s .pageheading p { position: relative; top: 0; left: 0; right: 0; padding-top: 30px; max-width: 100%; padding: 30px 40px 10px;}
    #history-s .pageheading { width: 100%;}
    #history-s .pageheading .img-photo { width: 100%; max-width: 100%; background: url("../images/omoi/h_mainv.jpg")no-repeat; padding: 0; min-height: 420px; background-repeat: no-repeat; background-attachment: fixed; background-position: 60% top; background-size: auto; transition: .3s;}
}
@media (max-width: 1000px){
    #history-s .img_area { max-width: 540px; flex: 0 0 540px;}
}
@media (max-width: 960px) {
    #history-s .row { margin-bottom: 120px!important;}
    #history-s .img_area { max-width: 60%; flex: 0 0 60%;}
    #history-s .text_area.right { right: -20px;}
    #history-s .text_area.left { left: -20px;}
    #history-s .img_area { max-width: 60%; flex: 0 0 60%;}
}
@media (max-width: 917px) {
    #history-s { padding: 40px 0;}
    #history-s section { padding: 15px 0!important;}
    #history-s .row { margin-bottom: .3rem!important;}
    #history-s .row.p-relative { margin-bottom: 30px;}
    #history-s .img_area.right,
    #history-s .text_area.right { position: static; top: 0; left: 0; right: 0;}
    #history-s .text_area.left { position: static; top: 0; left: 0; right: 0;}
    #history-s .img_area .img_wrap { text-align: center;}
    #history-s .img_area { max-width: 100%; flex: 0 0 100%; position: static; top: 0;}
    #history-s .text_area { max-width: 100%; flex: 0 0 100%; padding: 40px!important;}
    #history-s .img_area .img_wrap + .img_wrap { margin-top: 0; display: none;}
}
@media (max-width: 768px) {
    #history-s .pageheading .img-photo { min-height: auto; min-height: 280px; width: 100%; background-attachment: initial; background-size: cover; padding: 0;}
    #history-s .pageheading h3 { font-size: .2rem; line-height: 1.2; padding-right: 20px; font-weight: 700; margin-bottom: -.12rem;}
    #history-s .pageheading h3 strong { font-size: .3rem; line-height: 1.2;}
    #history-s .pageheading p { font-size: .18rem;}
}

/* zoom */
#zoom h1 { text-align: center; font-size: 21px; margin-bottom: 40px; letter-spacing: .05em; }
#zoom h2 { text-align: center; font-size: 21px; margin-bottom: 40px; letter-spacing: .05em; padding: 10px 0; border-top: 1px solid #191919; border-bottom: 1px solid #191919; }
#zoom section.p1 { padding: 0 0 50px; }
#zoom section.p1 figure { margin-top: 50px; }
#zoom section.p2 { padding: 50px 0; }
#zoom section.p3 { padding: 50px 0 0; }
#zoom section.p3 .f1 { margin-top: 80px; }
#zoom .detail-wrap figure { text-align: center; margin-bottom: 20px; }
#zoom .detail-wrap { margin-bottom: 30px; }
@media (max-width: 767px){
    #zoom h1 { margin-bottom: 20px; }
    #zoom section.p1 { padding-bottom: 25px; }
    #zoom section.p2 { padding: 25px 0; }
    #zoom section.p3 { padding: 0 0 25px; }
    #zoom section.p1 figure { margin-top: 20px; }
    #zoom section.p3 .f1 { margin-top: 40px; }
}
@media (max-width: 575px) {
    #zoom .detail-wrap { margin-bottom: 30px; border: 1px solid #191919; padding: 20px; border-radius: 10px; }
}

/* sdgs */
#page-sdgs { padding-bottom: 100px; }
#page-sdgs .sub-title { font-size: 30px; font-weight: bold; text-align: center; margin-bottom: 40px; }
#page-sdgs .main-image { margin-bottom: 60px; text-align: center; }
#page-sdgs .main-image img { width: 80%; }
#page-sdgs ul { margin-bottom: 60px; }
#page-sdgs ul li { background: rgba(0,0,0,.05); margin-bottom: 30px; padding: 2em;}
#page-sdgs ul li:last-child { margin-bottom: 0; }
#page-sdgs ul .list-title { font-size: 24px; font-weight: bold; position: relative; margin-bottom: 25px; padding-left: 15px; border-left: 6px solid #333; line-height: 1.5; }
#page-sdgs ul .num { display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 25px; margin-left: -10px; margin-right: -10px; }
#page-sdgs ul .num > div { width: 14.285714285714286%; padding: 0 10px; }
#page-sdgs ul .comments p { font-size: 16px; line-height: 1.7; }
.sdgs-detail { border: 1px solid rgba(0,0,0,.3); padding: 2em; font-size: 16px; }
.sdgs-detail a { text-decoration: underline; color: #089ce6; }
@media (max-width: 767px) {
	#page-sdgs { padding-bottom: 60px; }
	#page-sdgs .sub-title { font-size: 20px; }
	#page-sdgs ul { margin-bottom: 30px; }
	#page-sdgs ul li { padding: 1.5em; }
	#page-sdgs ul .list-title { font-size: 17px; }
	#page-sdgs ul .num { margin-left: -5px; margin-right: -5px; margin-bottom: 10px; }
	#page-sdgs ul .num > div { width: 33.333333%; margin-bottom: 10px; padding: 0 5px; }
	#page-sdgs ul .comments p { font-size: 14px; }
	.sdgs-detail { font-size: 14px; }
}


/* faq */
.faq-list { margin-bottom: 50px; }
.faq-list li { margin-bottom: 25px; }
.faq-title { font-weight: bold; font-size: 24px; text-align: left; margin-bottom: 30px; text-align: center; position: relative; }
.faq-title:after { content: ""; width: 30px; height: 2px; background: #000; margin: 15px auto 0; display: block; }
.faq-list .question { background: #EDECEA; display: flex; align-items: center; padding: 15px 40px 15px 20px; border-radius: .4em; cursor: pointer; }
.faq-list .question .wrap { width: calc(100% - 30px); padding-right: 20px; display: flex; font-size: 20px; letter-spacing: .1em; font-weight: bold; }
.faq-list .question .wrap .icon { white-space: nowrap; }
.faq-list .question .plus { width: 17px; height: 2px; background: #000; position: relative; }
.faq-list .question .plus:before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #000; transition: .3s; transform: rotate(90deg); }
.faq-list .question ._title { font-family: serif; padding-top: 2px; }
.faq-list .question.active .plus:before { transform: rotate(0deg); }
.faq-list .answer { display: none; }
.faq-list .answer .wrap { color: #87221A; display: flex; padding: 25px 15px 40px; }
.faq-list .answer .icon { white-space: nowrap; margin-right: 10px; font-weight: bold; font-size: 24px; letter-spacing: .14em; }
.faq-list .answer .contents { font-size: 17px; letter-spacing: .14em; padding-top: 5px; height: auto; }
@media (max-width: 767px) {
	.faq-title { font-size: 18px; }
	.faq-list li { margin-bottom: 15px; }
	.faq-list .question { padding: 15px 10px 15px 15px; }
	.faq-list .question .wrap { font-size: 16px; }
	.faq-list .question .wrap .icon { margin-right: 5px; }
	.faq-list .question ._title { font-size: 16px; }
	.faq-list .answer .wrap { padding: 15px 15px 20px; }
	.faq-list .answer .icon { font-size: 16px; margin-right: 5px; }
	.faq-list .answer .contents { font-size: 14px; }
}

.ft_over .t_contact { width: 100%; }
.ft_over iframe { width: 100%; position: static; height: 350px; }
.ft_over .Map_area { width: 50%; }
.ft_over .Map-container { display: flex; gap: 10px; background: #fff; padding-top: 10px;}

@media (max-width: 767px) {
    .ft_over .Map_area { width: 100%; }
    .ft_over .Map-container { gap: 0; flex-direction: column; }
}