@charset "UTF-8";


/*===============================
共通
===============================*/
.contents_box {
max-width: 1200px;
margin: auto;
position: relative;
}

.contents_inner {
max-width: 1024px;
margin: auto;
position: relative;
}

@media screen and (max-width: 1080px) {
.contents_box,
.contents_inner {
box-sizing: border-box;
padding-left: 0.4rem;
padding-right: 0.4rem;
}
.contents_box .contents_inner {
padding-left: 0;
padding-right: 0;
}
}

.contents_box p,
.contents_inner p {
line-height: 0.3rem;
font-size: 0.16rem;
padding-bottom: 0.4rem;
}

@media screen and (max-width: 460px){
.mod_main {
padding-top: 1.05rem;
}
.contents_box p,
.contents_inner p {
line-height: 0.5rem;
font-size: 0.28rem;
}
}

.text_center {
text-align: center;
}

.text_right {
text-align: right;
}

p.small_text,
span.small_text {
font-size: 0.12rem;
}

@media screen and (max-width: 460px){
p.small_text,
span.small_text {
font-size: 0.22rem;
line-height: 0.45rem;
}
}

p.big_text,
span.big_text {
font-size: 0.2rem;
}

@media screen and (max-width: 460px){
p.big_text,
span.big_text {
font-size: 0.34rem;
}
}


.contents_box p.lead_text,
.contents_inner p.lead_text {
text-align: center;
}

@media screen and (max-width: 460px){
.contents_box p.lead_text,
.contents_inner p.lead_text {
text-align: left;
}
}

h2.sec_ttl {
font-size: 0.34rem;
line-height: 0.38rem;
font-weight: 700;
padding-bottom: 0.5rem;
}

h2.sec_ttl span {
font-size: 0.21rem;
line-height: 0.32rem;
font-weight: 700;
display: block;
}

.ttl_flex {
display: flex;
justify-content: center;
align-items: center;
text-align: center;
padding-bottom: 0.4rem;
}

.ttl_flex h2 {
font-size: 0.24rem;
line-height: 0.38rem;
}

@media screen and (max-width: 460px){
h2.sec_ttl {
font-size: 0.51rem;
line-height: 0.58rem;
}
h2.sec_ttl span {
font-size: 0.32rem;
line-height: 0.34rem;
padding-bottom: 0.1rem;
}
.ttl_flex h2 {
font-size: 0.36rem;
line-height: 0.57rem;
}
}

h2.sec_ttl div {
background: #0D672A;
width: 0.26rem;
height: 0.05rem;
margin-top: 0.1rem;
}

/*===============================
ヘッダー
===============================*/
.mod_header {
padding-top: 0.25rem;
padding-bottom: 0.25rem;
position: fixed;
width: 100%;
left: 0;
top:0;
z-index: 10;
background: #FFF;
box-sizing: border-box;
}

.mod_header h1 {
width: 1.76rem;
}

@media screen and (max-width: 1280px) {
.mod_header {
padding-left: 0.4rem;
}
}

@media screen and (max-width: 1080px) {
.mod_header .contents_box {
padding-left: 0;
padding-right: 0;
}
}


@media screen and (max-width: 460px){
.mod_header {
padding: 0.3rem;
}
.mod_header h1 {
width: 2.64rem;
}
.mod_header h1 a {
line-height: inherit;
}
.mod_header .contents_box {
padding-left: 0;
padding-right: 0;
}
}

.mod_header ul {
position: absolute;
right: 0;
top:50%;
transform: translateY(-50%);
}

@media screen and (max-width: 1280px) {
.mod_header ul {
right: 0.4rem;
}
}

@media screen and (min-width: 461px){
.mod_header ul {
display: block !important;
}
}

@media screen and (max-width: 460px){
.mod_header ul {
position: absolute;
top:0;
left: 0;
height: 100vh;
background: rgba(255,255,255,0.9);
z-index: 10;
width: 100vw;
margin-left: -0.3rem;
transform: none;
text-align: center;
display: none;
box-sizing: border-box;
padding-top: 20px;
}
}

.mod_header li {
float: left;
padding-left: 0.5rem;
line-height: 0.2rem;
}

@media screen and (max-width: 1080px) {
.mod_header li {
padding-left: 0.3rem;
}
}

@media screen and (max-width: 460px){
.mod_header li {
float: none;
padding-left: 0;
line-height: 0.5rem;
text-align: center;
}
}

.mod_header li:last-child {
text-align: center;
font-weight: 700;
}

.mod_header a {
font-size: 0.15rem;
display: block;
padding-top: 0.2rem;
}

.mod_header h1 a {
padding-top: 0;
}


@media screen and (max-width: 950px) {
.mod_header a {
font-size: 0.12rem;
}
}

@media screen and (max-width: 460px){
.mod_header a {
font-size: 0.3rem;
line-height: 0.5rem;
font-weight: 700;
}
}

.mod_header li.header_contact_btn a {
background: #E50012;
color: #FFF;
padding: 0.1rem;
text-align: center;
}

@media screen and (max-width: 460px){
.mod_header a {
font-size: 0.3rem;
line-height: 0.8rem;
font-weight: 700;
}
.mod_header .header_contact_btn a {
background: #E50012;
color: #FFF;
max-width: 90%;
margin: auto;
line-height: 0.8rem;
margin-top: 0.2rem;
}
.mod_header p a {
font-size: 0.24rem;
font-weight: 400;
}
}



/*===============================
スマホボタン
===============================*/
/* 開閉ボタン */
#SPnaviBtn {
width: 1rem;
height: 0.8rem;
position: absolute;
text-align: center;
z-index: 10;
top:50%;
right:-0.2rem;
transform: translateY(-50%);
cursor: pointer;
}

.menu-trigger,
.menu-trigger span {
display: inline-block;
transition: all .4s;
box-sizing: border-box;
}

#SPmenuBars {
position: absolute;
left: 50%;
width: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
}

.menu-trigger span {
position: absolute;
left: 0;
width: 100%;
height: 1px;
background-color: #111;
}

.menu-trigger span:nth-of-type(1) {
top: 11px;
}
.menu-trigger span:nth-of-type(2) {
top: 19px;
}
.menu-trigger span:nth-of-type(3) {
top: 27px;
}

.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(-45deg);
  transform: translateY(10px) rotate(-45deg);
  top:10px;
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-5px) rotate(45deg);
  transform: translateY(-5px) rotate(45deg);
  top:25px;
}



/*===============================
お問い合わせボタン
===============================*/
.contact_btn {
max-width: 400px;
margin: auto;
}

.contact_btn a {
display: block;
font-size: 0.18rem;
line-height: 0.3rem;
padding: 10px;
position: relative;
background: #E50012;
font-weight: 700;
text-align: center;
color: #FFF;
}

@media screen and (max-width: 460px){
.contact_btn a {
font-size: 0.31rem;
line-height: 0.58rem;
}
}

.contact_btn a:hover {
opacity: 0.7;
}

.contact_btn a img {
position: absolute;
right: 10px;
top:50%;
transform: translateY(-50%);
width: 8px;
}


/*===============================
スライダー（SPのみ）
===============================*/
.tabBtn {
display: flex;
}

.tabBtn button {
position: relative;
border: 2px solid rgba(0,0,0,0.2);
margin-left: 3px;
margin-right: 3px;
}

.tabBtn button div {
background: rgba(0,0,0,0.5);
display: block;
position: absolute;
z-index: 1;
width: 100%;
height: 100%;
top:0;
left: 0;
}

.tabBtn button span {
position: absolute;
z-index: 2;
color: #FFF;
font-size: 0.24rem;
font-weight: 700;
left: 50%;
top:50%;
transform: translate(-50%,-50%);
}

#design .tabBtn button span {
font-size: 0.44rem;
}

.tabBtn button.on div,
.tabBtn button.on span {
opacity: 0;
}

/*===============================
ループ
===============================*/
[data-imgloop04] {
height: 385px;
}
@media (max-width: 640px) {
[data-imgloop04] {
height: 3rem; }
}



/*===============================
メインビジュアル
===============================*/
.mv_wrapper {
position: relative;
}

.mv_image {
position: relative;
z-index: 0;
overflow: hidden;
}

.mv_image img {
width: 100%;
position: relative;
}

.mv_wrapper h2 {
position: absolute;
top:20%;
left: 50%;
transform: translateX(-50%);
z-index: 1;
}

@media screen and (max-width: 460px){
.mv_wrapper h2 {
width: 90%;
}
.mv_image {
height: 800px;
}
}

/*===============================
01 コンセプト
===============================*/
.concept_wrapper {
position: relative;
padding-top: 1.6rem;
}

@media screen and (max-width: 460px){
.concept_wrapper {
position: relative;
padding-top: 0.6rem;
}
}

.concept_wrapper h2 {
line-height: 0.38rem;
font-size: 0.25rem;
font-weight: 700;
text-align: center;
padding-top: 0.3rem;
padding-bottom: 0.3rem;
}

.concept_wrapper h2 img {
max-height: 27px;
}

.concept_wrapper h2.big img {
max-height: 40px;
}



@media screen and (max-width: 460px){
.concept_wrapper h2 {
line-height: 0.58rem;
font-size: 0.37rem;
}
.concept_wrapper h3 {
}
.concept_wrapper h2 img {
max-height: 18px;
}
}

.concept_wrapper .contents_inner {
padding-bottom: 0.9rem;
}

.concept_wrapper h3 {
font-size: 0.22rem;
line-height: 0.48rem;
text-align: center;
padding-bottom: 0.2rem
}




/*===============================
02 デザイン
===============================*/
.design_wrapper {
position: relative;
padding-top: 1.6rem;
}

.design_wrapper h2.sec_ttl img {
max-height: 40px;
}

/* デザイン下部 */
.design_footer {
text-align: center;
font-size: 0.21rem;
line-height: 0.48rem;
font-weight: 700;
padding-top: 1rem;
padding-bottom: 1rem;
background: url("../img/design_footer_bg.jpg") no-repeat 10rem 0;
background-size: 8rem;
}

.design_footer img {
max-height: 169px;
}

.design_footer strong {
color: #E50012;
font-weight: 700;
}

@media screen and (max-width: 460px){
.design_wrapper h2.sec_ttl img {
max-height: 29px;
}

/* デザイン下部 */
.design_footer {
text-align: center;
font-size: 0.3rem;
line-height: 0.62rem;
font-weight: 700;
padding-top: 1rem;
padding-bottom: 1rem;
background: url("../img/design_footer_bg.jpg") no-repeat center 0;
background-size: 8rem;
}
}

/*===============================
03 S・BOXの家 5つのポイント
===============================*/
.point_box {
padding-bottom: 1rem;
}

.point_wrapper {
position: relative;
padding-top: 1.6rem;
}

.point_wrapper h2.sec_ttl {
text-align: center;
}

.point_wrapper h2.sec_ttl img {
max-height: 87px;
}

@media screen and (max-width: 1280px) {
.point_wrapper h2.sec_ttl {
padding-left: 0;
}
.point_wrapper h2.sec_ttl img {
max-height: 57px;
}
}

.point_wrapper h2.sec_ttl div {
margin-left: auto;
margin-right: auto;
}

.point_ttl_wrapper {
margin-bottom: 0.7rem;
}

.point_ttl_wrapper.left {
background:url("../img/point_bg_left.jpg") no-repeat center 0;
background-size: cover;
}

.point_ttl_wrapper.right {
background:url("../img/point_bg_right.jpg") no-repeat center 0;
background-size: cover;
}

#point_02 {
background: url("../img/point_ttl_02_bg.jpg") no-repeat left center;
background-size: 50%;
}

#point_04 {
background: url("../img/point_ttl_04.jpg") no-repeat left center;
background-size: 50%;
}

@media screen and (max-width: 1300px){
#point_02 {
background: url("../img/point_ttl_02_bg.jpg") no-repeat left center;
background-size: auto 100%;
}
#point_04 {
background: url("../img/point_ttl_04.jpg") no-repeat left center;
background-size: auto 100%;
}
.point_ttl_wrapper.left .point_ttl {
background:url("../img/point_bg_left.jpg") no-repeat left 0;
background-size: auto 100%;
}
.point_ttl_wrapper.right .point_ttl {
background:url("../img/point_bg_right.jpg") no-repeat right 0;
background-size: auto 100%;
}
}

@media screen and (max-width: 460px){
.point_ttl_wrapper.left {
background:none;
}

.point_ttl_wrapper.right {
background:none;
background-size: cover;
}
}

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

.point_ttl {
width: 50%;
box-sizing: border-box;
padding-left: 0.5rem;
padding-top: 1rem;
padding-bottom: 1rem;
}

@media screen and (max-width: 460px){
.point_ttl {
width: 100vw;
margin-left: -0.4rem;
margin-right: -0.4rem;
background:url("../img/point_bg_left.jpg") no-repeat left 0;
background-size: cover;
box-sizing: border-box;
}
}

.point_ttl h3 {
padding-bottom: 0.4rem;
}

.point_ttl h4 {
font-size: 0.24rem;
line-height: 0.38rem;
}

@media screen and (max-width: 460px){
.point_ttl h3 {
width: 80%;
padding-left: 0.2rem;
box-sizing: border-box;
}
.point_ttl h4 {
font-size: 0.32rem;
line-height: 0.58rem;
padding-left: 0.2rem;
}
}

.point_ttl_image {
width: 50%;
box-sizing: border-box;
text-align: center;
position: relative;
}

#point_02 .point_ttl_image img {
position: absolute;
left: 0;
bottom: 0;
}

@media screen and (max-width: 460px){
.point_ttl_image {
width: 100vw;
margin-left: -0.4rem;
margin-right: -0.4rem;
}
#point_02 .point_ttl_image img {
position: relative;
left: 0;
bottom: 0;
}

}

.point_ttl_image img {
max-height: 4.5rem;
}

@media screen and (max-width: 460px){
.point_ttl_image img {
max-height: inherit;
max-width: 90%;
}
.point_ttl_image.ph img {
max-height: inherit;
max-width: 100%;
}
}

.point_wrapper .flex_box {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
padding-top: 0.3rem;
}

.point_wrapper .point_ttl_wrapper .flex_box {
padding-top: 0;
}

.point_wrapper .flex_box .point_col2 {
width: 49%;
padding-bottom: 0.2rem;
}

@media screen and (max-width: 460px){
.point_wrapper .flex_box .point_col2 {
width: 100%;
padding-bottom: 0.4rem;
}
}

/*===============================
2023追加
===============================*/
.concept_wrappe .flex_box {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
padding-top: 0.3rem;
}

.concept_wrappe .flex_box {
padding-top: 0;
}

.concept_wrapper .flex_box .point_col2 {
width: 49%;
padding-bottom: 0.2rem;
}

@media screen and (max-width: 460px){
.concept_wrapper .flex_box .point_col2 {
width: 100%;
padding-bottom: 0.4rem;
}
}

/*===============================
2023追加ここまで
===============================*/

.point_wrapper .flex_box .small_text {
text-align: center;
font-size: 0.12rem;
line-height: 0.21rem;
width: 100%;
}

.point_wrapper .flex_box .point_text01 img {
max-height: 36px;
}

@media screen and (max-width: 460px){
.point_wrapper .flex_box .small_text {
font-size: 0.16rem;
line-height: 0.27rem;
}
}


/*===============================
04 人生100年時代の持続可能な住まい方
===============================*/
.life_wrapper {
background: #F3F3F5;
padding-top: 0.8rem;
padding-bottom: 0.8rem;
}

.life_wrapper h3 {
text-align: center;
font-size: 0.22rem;
line-height: 0.38rem;
padding-bottom: 0.4rem;
}

.life_ttl02 img {
max-height:24px;
}

@media screen and (max-width: 460px){
.life_wrapper h3 {
font-size: 0.33rem;
line-height: 0.58rem;
}
.life_ttl01 img {
max-height: 90px;
}
.life_ttl02 img {
max-height:16px;
}
}

/* テーブル */
.life_table {
margin-bottom: 0.4rem;
}

@media screen and (max-width: 460px){
.life_table {
overflow-scrolling: touch;
white-space: nowrap;
overflow-x: scroll;
}
.life_table::-webkit-scrollbar {
height: 8px;
}
.life_table::-webkit-scrollbar-thumb{
background: #111;
border-radius: 4px;
}
.life_table::-webkit-scrollbar-track-piece {
background: #DDD;
}
}

.life_table h4 {
font-size: 0.16rem;
line-height: 0.23rem;
}

@media screen and (max-width: 460px){
.life_table h4 {
font-size: 0.32rem;
line-height: 0.46rem;
}
}

.life_table table {
font-size: 0.13rem;
line-height: 0.23rem;
border-collapse: separate;
border-spacing: 0;
padding-bottom: 0.4rem;
}

@media screen and (max-width: 460px){
.life_table table {
font-size: 0.26rem;
line-height: 0.46rem;
}
}

.life_table th {
font-weight: 400;
text-align: left;
padding: 5px;
border-right: 1px solid #F3F3F5;
}

.life_table th.th_number {
text-align: right;
color: #E50012;
border-right: 1px solid #111;
}

.life_table.type02 th.th_number {
color: #FFF;
background: #E50012;
font-weight: 700;
}

.life_table .no_border {
border-right: 0 !important;
}

.life_table .no_border_right {
border-right: 0 !important;
}

.life_table td {
min-width: 0.57rem;
text-align: right;
padding: 5px;
border-right: 1px solid #F3F3F5;
white-space: nowrap
}

@media screen and (max-width: 460px){
.life_table td {
min-width: 1.1rem;
}
}

.life_table td span {
display: inline-block;
padding-left: 2px;
font-size: 0.1rem;
position: relative;
top:-2px;
}

.life_table td.blank {
background: none !important;
}

.life_table td.td_center {
text-align: center !important;
}

.life_table td.text_left {
text-align: left;
}

.life_table tr.grey td {
background: #CCC;
border: 1px solid #111;
border-left: 0;
}

.life_table tr.blue td {
background: #9FD6EF;
border: 1px solid #111;
border-left: 0;
}

.life_table tr.green td {
background: #CDE28B;
border: 1px solid #111;
border-top: 0;
border-left: 0;
}

.life_table tr.green td span {
color: #CDE28B;
}

.life_table tr.green02 td {
background: #62B753;
border: 1px solid #111;
border-top: 0;
border-left: 0;
}

.life_table tr.green02 td span {
color: #62B753;
}

.life_table tr.orange td {
background: #F58969;
border: 1px solid #111;
border-top: 0;
border-left: 0;
}

.life_table tr.orange td span {
color: #F58969;
}

.life_table tr.yellow td {
background: #F4EC8C;
border: 1px solid #111;
border-top: 0;
border-left: 0;
}

.life_table tr.yellow td span {
color: #F4EC8C;
}

.life_table tr.grey td:first-child,
.life_table tr.blue td:first-child {
border-left: 1px solid #111;
}

.life_table .border_top {
border-top: 3px solid #111 !important;
}

.life_table .border_left {
border-left: 3px solid #111 !important;
}

.life_table .border_right {
border-right: 3px solid #111 !important;
}

.life_table .border_bottom {
border-bottom: 3px solid #111 !important;
}

.life_table.type02 .border_top {
border-top: 3px solid #E50012 !important;
}

.life_table.type02 .border_left {
border-left: 3px solid #E50012 !important;
}

.life_table.type02 .border_right {
border-right: 3px solid #E50012 !important;
}

.life_table.type02 .border_bottom {
border-bottom: 3px solid #E50012 !important;
}

.life_table .no_color {
background: 0 !important;
border: 0 !important;
}

.life_table .no_color_border_left {
border-top:0 !important;
border-bottom: 0 !important;
border-right: 0 !important;
border-left: 3px solid #111 !important;
background: 0 !important;
}

.life_table.type02 .no_color_border_left {
border-top:0 !important;
border-bottom: 0 !important;
border-right: 0 !important;
border-left: 3px solid #E50012 !important;
background: 0 !important;
}


/*===============================
05 「S・BOXの家」新川と分譲戸建・分譲MSとの総コスト比較表
===============================*/
.cost_wrapper {
padding-top: 0.8rem;
padding-bottom: 0.8rem;
}

.cost_wrapper h2 {
font-size: 0.25rem;
line-height: 0.38rem;
padding-bottom: 0.4rem;
text-align: center;
}

.cost_wrapper h2.cost_ttl01 img {
max-height: 27px;
}

@media screen and (max-width: 460px){
.cost_wrapper h2 {
font-size: 0.37rem;
line-height: 0.58rem;
}
.cost_wrapper h2.cost_ttl01 img {
max-height: 76px;
}
}

.cost_wrapper table {
border-collapse: separate;
border-spacing: 1px;
background: #111;
}

.cost_wrapper table .maru_large {
font-size: 0.2rem;
}

@media screen and (max-width: 460px){
.cost_table {
overflow-x: scroll;
white-space: nowrap;
margin-bottom: 0.4rem;
}
.cost_table::-webkit-scrollbar {
height: 8px;
}
.cost_table::-webkit-scrollbar-thumb{
background: #111;
border-radius: 4px;
}
.cost_table::-webkit-scrollbar-track-piece {
background: #DDD;
}
}

.cost_wrapper th,
.cost_wrapper td {
text-align: center;
padding: 5px;
font-size: 0.14rem;
line-height: 0.34rem;
background: #FFF;
}

@media screen and (max-width: 460px){
.cost_wrapper th,
.cost_wrapper td {
font-size: 0.24rem;
line-height: 0.51rem;
}
.cost_wrapper table .maru_large {
font-size: 0.26rem;
}
}

.cost_wrapper td.td_ttl {
color: #494949;
font-weight: 700;
width: 2rem;
}

.cost_wrapper tr.yellow td {
background: #FFD817;
}

.cost_wrapper tr.red td {
background: #E50012;
color: #FFF;
font-weight: 700;
}

@media screen and (max-width: 460px){
.cost_table p.small_text {
width: 100%;
font-size: 0.18rem;
}
}

/*===============================
06 ライフステージに合わせた計画例
===============================*/
.stage_wrapper {
padding-top: 0.8rem;
padding-bottom: 0.8rem;
background: url("../img/stage_bg.jpg");
}

.stage_slider {
text-align: center;
}

.stage_wrapper h2 img {
max-height: 105px;
}

.stage_wrapper h3.stage_ttl02 img {
max-height: 27px;
}

@media screen and (max-width: 460px){
.stage_slider {
padding-bottom: 0.4rem;
}
.stage_wrapper h2 img {
max-height: 78px;
}
.stage_wrapper h3.stage_ttl02 img {
max-height: 47px;
}
}

.stage_slider h4 {
font-size: 0.2rem;
line-height: 0.23rem;
padding-bottom: 0.05rem;
}

.stage_slider p {
line-height: 0.24rem;
font-weight: 700;
}

.stage_wrapper  h3 {
font-size: 0.25rem;
line-height: 0.38rem;
padding-top: 0.4em;
padding-bottom:2em;
}

@media screen and (max-width: 460px){
.stage_wrapper  h3 {
font-size: 0.37rem;
line-height: 0.58rem;
padding-top: 1em;
}
.stage_wrapper p.text_center {
text-align: left;
}
}

.stage_wrapper .flex_box {
display: flex;
justify-content: space-between;
padding-top: 0.6rem;
}

.stage_ph {
width: 49%;
}

.stage_text {
width: 49%;
}

@media screen and (max-width: 460px){
.stage_wrapper .flex_box {
display: block;
}
.stage_ph {
width: 100%;
padding-bottom: 0.1rem;
}
.stage_text {
width: 100%;
}
}

.stage_text p {
letter-spacing: 0.02em;
}


/*===============================
07 ロケーション
===============================*/
.location_wrapper {
padding-top: 0.8rem;
padding-bottom: 0.8rem;
}

.location_wrapper h2.sec_ttl {
text-align: center;
padding-bottom: 0.65rem;
}

.location_wrapper h2.sec_ttl img {
max-height: 40px;
}

@media screen and (max-width: 1280px) {
.location_wrapper h2.sec_ttl {
padding-left: 0;
}
.location_wrapper h2.sec_ttl img {
max-height: 24px;
}
}

.location_wrapper h2.sec_ttl div {
margin-left: auto;
margin-right: auto;
}

.location_kakomi {
border: 1px solid #444;
padding: 0.2rem;
padding-top: 0.4rem;
padding-bottom: 0;
margin-bottom: 0.65rem;
text-align: center;
}

.location_kakomi.mb100 {
margin-bottom: 1rem;
}

.location_kakomi h3 {
font-size: 0.22rem;
padding-bottom: 0.3rem;
}

@media screen and (max-width: 460px){
.location_kakomi {
text-align: left;
padding: 0.4rem;
padding-top: 0.8rem;
}
.location_kakomi h3 {
font-size: 0.34rem;
line-height: 0.58rem;
text-align: center;
padding-bottom: 0.2rem
}
}

.location_flex_box {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
padding-bottom: 0.8rem;
}

.location_flex_box span {
display: block;
text-align: center;
font-size: 0.15rem;
line-height: 0.3rem;
}

.location_ph01 {
width: 32.5%;
padding-bottom: 0.2rem;
}

@media screen and (max-width: 460px){
.location_ph01 {
width: 49.5%;
padding-bottom: 0.2rem;
}
}

.location_ph02 {
width: 22%;
padding-bottom: 0.2rem;
}

@media screen and (max-width: 460px){
.location_ph02 {
width: 33%;
padding-bottom: 0.2rem;
}
}

.location_map {
width: 48%;
}

.location_zumen {
width: 48%;
}

@media screen and (max-width: 460px){
.location_map {
width: 100%;
padding-bottom: 0.4rem;
}
.location_zumen {
width: 100%;
}
}

.location_footer_flex_box {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
padding-bottom: 0.8rem;
padding-top: 0.2rem;
}

.location_footer_ph {
width: 49.8%;
}

@media screen and (max-width: 460px){
.location_footer_ph {
width: 100%;
}
}

.location_footer_ph img {
width: 100%;
}

.location_kakomi_fee {
max-width: 850px;
margin: auto;
border-top: 1px solid #444;
padding-top: 0.4rem;
}

.location_kakomi_fee img {
max-height: 82px;
}

@media screen and (max-width: 460px){
.location_kakomi {
text-align: center;
}
.location_kakomi_fee img {
max-height: 39px;
}
}

.location_kakomi_fee h4 {
font-size: 0.21rem;
}

.location_kakomi_fee h4 strong {
font-size: 0.77rem;
font-weight: 700;
}

.location_kakomi_fee h4 span {
font-size: 0.45rem;
}

@media screen and (max-width: 460px){
.location_kakomi_fee h4{
padding-bottom: 0.2rem;
}
}

.location_flow {
background: #F3F3F5;
padding-top: 0.8rem;
padding-bottom: 0.8rem;
}

.location_flow h3 {
font-size: 0.22rem;
line-height: 0.38rem;
padding-bottom: 0.2rem;
}

@media screen and (max-width: 460px){
.location_flow h3 {
font-size: 0.33rem;
line-height: 0.58rem;
}
}

/*===============================
08 Q&A
===============================*/
.faq_wrapper {
padding-top: 0.8rem;
padding-bottom: 0.8rem;
}

.faq_wrapper h2.sec_ttl {
text-align: center;
}

.faq_wrapper h2.sec_ttl img {
height: 40px;
}

@media screen and (max-width: 1280px) {
.faq_wrapper h2.sec_ttl {
padding-left: 0;
}
.faq_wrapper h2.sec_ttl img {
height: 25px;
}
}

.faq_wrapper h2.sec_ttl div {
margin-left: auto;
margin-right: auto;
}

.faq_box {
border: 1px solid #444;
padding: 0.2rem;
padding-bottom: 0;
margin-bottom: 0.1rem;
}

.faq_box .dt {
font-size: 0.18rem;
line-height: 0.3rem;
font-weight: 700;
padding-bottom: 0.2rem;
cursor:pointer;
background: url("../img/acc_arrow_down.png") no-repeat right 30%;
background-size: 0.2rem;
padding-right: 0.3rem;
}

@media screen and (max-width: 460px){
.faq_box .dt {
font-size: 0.28rem;
line-height: 0.45rem;
}
}

.faq_box.on .dt {
background: url("../img/acc_arrow_up.png") no-repeat right 30%;
background-size: 0.2rem;
}

.faq_box .dd {
border-top: 1px solid #444;
font-size: 0.16rem;
line-height: 0.3rem;
padding-top: 0.2rem;
padding-bottom: 0.2rem;
display: none;
}

@media screen and (max-width: 460px){
.faq_box .dd {
font-size: 0.24rem;
line-height: 0.44rem;
}
}

.faq_box.on .dd {
display: block;
}


/*===============================
09 NEWS
===============================*/
.news_wrapper {
padding-top: 0.8rem;
padding-bottom: 0.8rem;
background: #0D672A;
color: #FFF;
}

.news_wrapper h2.sec_ttl {
color: #FFF;
padding-bottom: 0.1rem;
}

.news_wrapper h2.sec_ttl img {
max-height: 24px;
vertical-align: top;
}

.news_wrapper h2.sec_ttl em {
font-size: 0.18rem;
padding-left: 0.15rem;
font-style: normal;
position: relative;
top:-0.07rem;
}

@media screen and (max-width: 460px){
.news_wrapper h2.sec_ttl em {
font-size: 0.26rem;
top:-0.15rem;
}
.news_wrapper h2.sec_ttl img {
max-height: 18px;
}
}

.news_wrapper a {
font-size: 0.16rem;
line-height: 0.3rem;
border-bottom: 1px solid #FFF;
display: block;
overflow: hidden;
padding: 10px;
}

@media screen and (max-width: 460px){
.news_wrapper a {
font-size: 0.26rem;
line-height: 0.51rem;
padding-left: 0;
padding-right: 0;
}
}

.news_wrapper a strong {
font-weight: 400;
}

.news_wrapper a.new_win dd strong {
background: url("../img/icon_new_win.png") no-repeat right;
background-size: 0.16rem;
padding-right: 0.2rem;
}

@media screen and (max-width: 460px){
.news_wrapper a.new_win dd strong {
background: url("../img/icon_new_win.png") no-repeat right;
background-size: 0.26rem;
padding-right: 0.4rem;
}
}

.news_wrapper a dt {
width: 1.3rem;
float:left;
}

@media screen and (max-width: 460px){
.news_wrapper a dt {
width: auto;
float:none;
}
}

.news_wrapper a dd {
margin-left: 1.4rem;
}

@media screen and (max-width: 460px){
.news_wrapper a dd {
margin-left: 0;
}
}


/*===============================
10 CONATCT
===============================*/
.contact_wrapper {
padding-top: 0.8rem;
padding-bottom: 0.8rem;
}

.contact_wrapper h2.sec_ttl {
text-align: center;
}

.contact_wrapper h2.sec_ttl img {
max-height: 40px;
}

.contact_wrapper h3 img {
max-height: 68px;
}

@media screen and (max-width: 1280px) {
.contact_wrapper h2.sec_ttl {
padding-left: 0;
}
.contact_wrapper h2.sec_ttl img {
max-height: 28px;
}
.contact_wrapper h3 img {
max-height: 62px;
}
}

.contact_wrapper h2.sec_ttl div {
margin-left: auto;
margin-right: auto;
}

.contact_lead {
padding-bottom: 0.4rem;
}

.contact_wrapper h3 {
text-align: center;
font-size: 0.27rem;
line-height: 0.3rem;
}

.contact_wrapper h3 span {
text-align: center;
font-size: 0.21rem;
display: block;
}

@media screen and (max-width: 460px){
.contact_wrapper h3 {
font-size: 0.34rem;
line-height: 0.58rem;
}
.contact_wrapper h3 span {
font-size: 0.3rem;
}

}

.contact_wrapper .contact_btn {
padding-top: 0.2rem;
}

@media screen and (max-width: 460px){
.contact_wrapper p.text_center {
text-align: left;
}
.contact_wrapper p.big_text {
text-align: center;
}
}

/*===============================
フッター
===============================*/
footer {
background: #EBEBEB;
padding-top: 0.8rem;
}

footer dl {
padding-bottom: 0.1rem;
line-height: 0.26rem;
}

footer dt {
font-size: 0.16rem;
font-weight: 700;
}

@media screen and (max-width: 460px){
footer dt {
font-size: 0.28rem;
line-height: 0.45rem;
}
}

footer dd {
font-size: 0.14rem;
}

@media screen and (max-width: 460px){
footer dd {
font-size: 0.24rem;
line-height: 0.45rem;
}
}

footer dd a {
font-size: 0.12rem;
display: inline-block;
margin-left: 0.1rem;
background: #727272;
padding: 0.05rem;
color: #FFF;
line-height: 0.1rem;
position: relative;
top:-0.02rem;
}

@media screen and (max-width: 460px){
footer dd a {
font-size: 0.2rem;
padding: 0.1rem;
}
}

footer dd a img {
width: 0.13rem;
padding-left: 0.03rem;
}

@media screen and (max-width: 460px){
footer dd a img {
width: 0.14rem;
}
}


.footer_contact_btn {
max-width: 400px;
margin: auto;
padding-bottom: 0.2rem;
padding-top: 0.2rem;
}

.footer_contact_btn a {
display: block;
font-size: 0.18rem;
line-height: 0.3rem;
padding: 10px;
position: relative;
background: #727272;
font-weight: 700;
text-align: center;
color: #FFF;
}

@media screen and (max-width: 460px){
.footer_contact_btn a {
font-size: 0.31rem;
line-height: 0.52rem;
}
}

.footer_contact_btn a:hover {
opacity: 0.7;
}

.footer_contact_btn a img {
position: absolute;
right: 10px;
top:50%;
transform: translateY(-50%);
width:14px;
}

@media screen and (max-width: 460px){
footer p.text_center {
text-align: left;
}
}

.footer_bottom {
border-top: 1px solid #CCC;
}

.footer_bottom .contents_box {
display: flex;
justify-content: space-between;
align-items: center;
padding-top: 0.2rem;
padding-bottom: 0.2rem;
}

@media screen and (max-width: 460px){
.footer_bottom .contents_box {
display: block;
text-align: center;
}
}

.footer_bottom .contents_box h2 {
width: 1.76rem;
}

.footer_bottom .contents_box .copyright {
font-size: 0.12rem;
color: #828282;
}

@media screen and (max-width: 460px){
.footer_bottom .contents_box h2 {
width: 2.34rem;
margin: auto;
padding-bottom: 0.2rem;
}

.footer_bottom .contents_box .copyright {
font-size: 0.2rem;
}
}




/* SPタブスライドjsここから */
[data-tabspslide] {
	display: flex;
}
[data-tabspslide].slideActive {
	display: block;
}
[data-tabspslide] .content {
	display: flex;
}
@media screen and (min-width: 461px) {
	[data-tabspslide] {
		height: auto !important;
	}
	[data-tabspslide] .content {
		width: 100% !important;
	}
}
@media screen and (max-width: 460px) {
	[data-tabspslide] .btns button {
		margin: auto 0;
		position: absolute;
		top: 0;
		bottom: 0;
		width: .8rem;
		height: .8rem;
		z-index: 1;
	}
	[data-tabspslide] .btns button:before,[data-tabspslide] .btns button:after {
		content:"";
		display: block;
		margin:auto;
		box-sizing:border-box;
		position:absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
	}
	[data-tabspslide] .btns button:before {
		border: 1px solid;
		width: .6rem;
		height: .6rem;
	}
	[data-tabspslide] .btns button:after {
		border-top: 1px solid;
		border-right:1px solid;
		width: .2rem;
		height: .2rem;
	}
	[data-tabspslide] .btns .prev {
		left:0;
	}
	[data-tabspslide] .btns .prev:after {
		transform:rotate(-135deg);
	}
	[data-tabspslide] .btns .next {
		right:0;
	}
	[data-tabspslide] .btns .next:after {
		transform:rotate(45deg);
	}
	[data-tabspslide] {
		position: relative;
		display: block !important;
		transition: height .5s;
	}
	[data-tabspslide] .tabBtn {
		font-size:.02rem;
		width: 100%;
		text-align: center;
	}
	[data-tabspslide] .contantWrap {
		margin: 0 auto;
		overflow: hidden;
		box-sizing: border-box;
		position: relative;
	}
	[data-tabspslide] .contentWrapIn {
		box-sizing: border-box;
	}
	[data-tabspslide] .content {
		position: relative;
	}
	[data-tabspslide] .content:after {
		content: "";
		display: block;
		clear: both;
	}
	[data-tabspslide] .slide {
		box-sizing: border-box;
		overflow: hidden;
	}
}



/* SPFAQここから */
[data-accordion] {
}
[data-accordion] {
}
@media screen and (min-width: 461px) {
	[data-accordion] .dd {
/*
		display:block !important;
		height:auto !important;
*/
	}
}
@media screen and (max-width: 460px) {
	[data-accordion] .dt {
		cursor:pointer;
	}
	[data-accordion] .dd {
		display:none;
	}
}