@charset "UTF-8";

@media screen and (max-width: 768px) {	
body{
	font-size: 1.6rem;
	line-height: 1.5;
	color: #000000;
	min-width:100%;
}
a.hover:hover img {
	opacity: 1.0;
	filter: alpha(opacity=100);
	-moz-opacity:1.00;
	opacity:1.00;
}
a:hover{
	text-decoration: none !important;
	opacity: 1.0 !important;
}
.menu-trigger {
	display: block;
}
.show_pc{
	display: none !important;
}
.show_sp{
	display: block !important;
}
.show_sp02{
	display: inline !important;
}

img{
	max-width: 100%;
}
#pagetop{
	right: 10px;
	width: 35px;
}

.heading{
    font-size: 3rem;
}
/**************************** container ****************************/
.right_column {
    padding-left: 0;
}

.fixed_side {
    top: inherit;
    right: inherit;
	bottom: 0;
	left: 0;
    transform: none;
	display: flex;
	width: 100%;
	padding: 0;
}
.fixed_side a.info_item {
    width: 100%;
	height: auto;
    margin: 0;
    font-size: 1.6rem;
    writing-mode: horizontal-tb;
}

/**************************** header ****************************/
.headerbox{
    padding: 5px 0 10px;
    width: 100%;
    height: auto;
	z-index: 100;
    background: rgb(18, 186, 220, 0.15);
}
.logobox h1 {
    font-size: 1rem;
}
.logobox h1 .text {
    display: inline-block;
    padding: 5px 0;
}
.logobox h1 .size {
    font-size: 1.4rem;
}
.logobox .logo {
    display: inline-block;
    max-width: 60px;
    width: 100%;
	vertical-align: -15px;
}

/**************************** nav ****************************/
.gnav {
	display: none;
}

/**************************** footer ****************************/
footer {
    margin: 0;
    padding: 30px 0 44px 0;
}
footer .inner {
    flex-direction: column;
    padding: 0 20px;
}
footer .inner .left .num {
    font-size: 3.2rem;
}
footer .inner .left p {
    font-size: 1.3rem;
    margin: 0;
    padding: 0 0 10px;
}
footer .inner .center {
    padding: 0 0 10px;
}

footer .copyright {
    font-size: 1.2rem;
    letter-spacing: normal;
}

/********************
 topページ
********************/
#sec01,
#sec02,
#sec03,
#sec04,
#sec05 {
    padding-top: 40px;
    margin-top: -40px;
}

.mainvisual {
	padding: 73px 0 0 0;
}
.mainvisual .ad_text {
    padding: 10px;
    font-size: 1.8rem;
}

.location {
    padding: 30px 10px;
}
.location .sec_title {
    padding: 0 0 30px 0;
}
.location .sec_title .sub {
    flex-direction: column;
	align-items: flex-start;
    font-size: 2.4rem;
}
.location .sec_title .sub .size {
    font-size: 1.3rem;
    padding: 0;
}
.location01 {
    padding: 0 0 30px 0;
    background-size: 100%;
}
.location01 .inner {
    padding: 86% 0 0 0;
}
.location01 .content {
    gap: 2%;
    min-width: 100%;
}
.location01 .content01 {
    gap: 2%;
    min-width: 100%;
}
.location01 .content .meta h3 {
    font-size: 2rem;
}
.location01 .content .meta .box .block:not(:first-child) {
    margin-left: 10px;
}
.location01 .content .meta .box .block {
    width: calc(33.33333% - 10px * 2 / 3);
}
.location01 .content .meta .box .block .block__head--01 {
    width: 86%;
    min-width: 86px;
}
.location01 .content .item {
    width: 48%;
    margin: 0 0 15px 0;
    padding: 20px 3%;
    font-size: 2rem;
}
.location01 .content .item03 {
    font-size: 1.3rem;
}
.location01 .content .item span {
    font-size: 2rem;
}
.location01 .content .item03 .f20 {
    font-size: 1.8rem;
    line-height: 1.6;
}
.location01 .content .item03 .f40 {
    font-size: 3rem;
}
.location01 .content .item03 .f30 {
    font-size: 2.2rem;
}
.location01 .content .item03 .f26 {
    font-size: 2rem;
}
.location01 .content .item04 {
    white-space: initial;
    font-size: 1.7rem;
}
.location01 .content .item04 .f32 {
    font-size: 2rem;
}
.location01 .content .item04 .f32.black {
    font-size: 2rem;
    line-height: 1.5;
}
.location01 .content .item04 .f28 {
    font-size: 1.8rem;
}
/*
.location01 .content .item04 span {
    font-size: 2rem;
}
*/

.location02 .inner {
    flex-direction: column;
    gap: 3%;
}
.location02 .location_item {
    width: 100%;
}
.location02 .location_item .text {
    margin: 0 0 20px 0;
    padding: 5% 5% 5% 12%;
}
.location02 .location_item .text::before {
    width: 7px;
}
.location02 .location_item .text p {
    font-size: 1.4rem;
}
.location02 .item_title {
    padding: 0 0 10px 0;
    font-size: 2.2rem;
}

.location03 {
    padding: 0 0 30px 0;
}



.obsession {
    padding: 30px 15px;
}
.obsession .sec_title {
    flex-direction: column;
	align-items: flex-start;
}
.obsession .sec_title .sub {
    font-size: 1.6rem;
    padding: 0;
}
.obsession .sec_title_sub {
    font-size: 2.2rem;
}
.obsession .sec_title_sub::before {
    height: 35px;
}
.obsession01 .image {
    top: 0;
}

.obsession02 {
    padding: 20px 0 0;
    flex-direction: column;
}
.obsession02 .inner {
    flex-direction: column;
}
.obsession02 .item {
    width: 100%;
    padding: 30px 20px 10px;
	margin: 0 0 10px;
}
.obsession02 .item .image {
    width: 50%;
    padding: 0 0 20px 0;
}
.obsession02 .item02 .image {
    width: 62%;
    padding: 0 0 25px;
}
.obsession02 .item03 {
    flex-direction: row;
    padding: 0;
}
.obsession02 .item03 .item_in {
    padding: 15px 0;
	margin: 0 0 10px;
    width: 49%;
}
.obsession02 .item03 .item_in .image {
    width: 80%;
    padding: 0;
}
.obsession02 .item03 .item_in02 .image {
    width: 80%;
}
.obsession02 .item .text {
    padding: 20px 0;
    line-height: 1.7;
    font-size: 1.5rem;
}

.obsession03 {
    /*
    padding: 30px 0;
    */
    padding: 0;
}
.obsession03 .inner {
    padding: 0;
}
.obsession03 .text01 {
	display: block;
	width: 100%;
    padding: 5px 5%;
    font-size: 2.2rem;
}
.obsession03 .inner {
    flex-direction: column;
    padding: 30px 0 0;
}
.obsession03 .inner .image {
    width: 80%;
	margin: 0 auto 20px;
}
.obsession03 .inner .image img {
	margin: 0 0 10px;
}
.obsession03 .inner .content {
    width: 100%;
    padding: 10px 20px 20px ;
}
.obsession03 .inner .content .text02 {
    font-size: 2.2rem;
}
.obsession03 .inner .content .text02 span {
    font-size: 3.4rem;
}
.obsession03 .inner .content .text03 {
    font-size: 1.5rem;
}

.plan {
    padding: 30px 15px 30px;
}
.plan01 {
    padding: 0 0 30px 0;
}
.plan01 .image {
	padding: 20px 0 0 0;
}
.plan .sec_title .sub {
    font-size: 1.6rem;
    padding: 10px 0 0 20px;
}
.plan02 {
    padding: 30px 0 0;
}
.plan02 .title {
    margin: 0 0 40px 0;
    font-size: 3rem;
}
.plan02 .plan_info {
    flex-direction: column;
	align-items: flex-start;
    margin: 0 0 30px 0;
    padding: 0 0 0 20px;
}
.plan02 .plan_info::before {
    width: 4px;
    margin: 0 10px 0 0;
}
.plan02 .plan_info .info {
    padding: 0 5% 0 0;
 width: 100%;
}
.plan02 .plan_info .info .text01 {
    font-size: 3rem;
}
.plan02 .plan_info .info .text02 {
    font-size: 2.8rem;
}
.plan02 .plan_info .info .text03 {
    font-size: 1.8rem;
}
.plan02 .plan_info .info .text04 {
    font-size: 1.5rem;
}
 .plan02 .plan_info .point {
 width: inherit;
}
.plan02 .plan_info .point p {
    width: 47%;
    margin: 15px 0 0 0;
    padding: 8px;
    font-size: 1.4rem;
	height: 45px;
}
.plan02 .inner {
    flex-direction: column;
    padding: 30px 0 0;
}
.plan02 .inner .left {
    width: 100%;
}
.plan02 .inner .left .image{
   margin: 0 0 35px 0;
}
.plan02 .inner .right {
    width: 100%;
}
/* .plan02 .inner .right .box {
    margin: 0 0 35px 0;
}
.plan02 .inner .right .box .box_image {
    width: 76.5%;
} */
.plan02 .inner .right .box .box_content{
    /* width: 86.5%;
    margin: -20% 0 0 auto; */
    padding: 25% 20px 30px;
    font-size: 1.6rem;
}
.plan02 .inner .right .box .box_content .text01 {
    padding: 0 0 10px 0;
    font-size: 2.2rem;
}
.plan02 .inner .right .box .box_content .text02 {
    font-size: 1.5rem;
}

.plan03 {
    padding: 0;
}
.introspection {
    padding: 30px 0 0;
}
.introspection .inner {
    padding: 0 0 30px;
}

.facilities {
    padding: 30px 15px;
}
.facilities01 .sec_title_sub {
    margin: 10px 0 0 0;
    font-size: 2.2rem;
}
.facilities01 .sec_title_sub::before {
    width: 7px;
    height: 35px;
}
.facilities01 .inner {
    padding: 0 0 20px 0;
}
.facilities01 .inner h3 {
    justify-content: center;
    padding: 30px 0 15px 0;
    font-size: 1.8rem;
}
.facilities01 .inner h3 .img {
    width: 450px;
    margin: 0 20px 0 0;
}
.facilities01 .row_box {
    flex-direction: column;
}
.facilities01 .row_box .box_item {
    width: 100%;
    padding: 0 0 15px 0;
}
.facilities01 .row_box .maker {
    padding: 10px 0 0;
}
.facilities01 .row_box .maker p {
    flex: 1;
    font-size: 2.6rem;
}
.facilities01 .row_box .text {
    padding: 10px 0 0;
    font-size: 1.5rem;
}
.facilities01 .inner02 h3 .img {
    width: 135px;
    margin: 0 20px 0 0;
}
.facilities01 .list {
    flex-direction: column;
    padding: 0 20px;
}
.facilities01 .inner02 .list li {
    width: 100%;
    margin: 0 0 40px 0;
}
.facilities01 .inner02 .list li:last-of-type {
    margin: 0;
}
.facilities01 .inner02 .list li::before {
    top: inherit;
    bottom: -33px;
    right: 0;
    left: 0;
    margin: auto;
}
.facilities01 .list li .list_text {
    padding: 5px;
    font-size: 1.6rem;
}
.facilities01 .inner03 h3 {
    height: auto;
    font-size: 1.8rem;
}
.facilities01 .inner03 .row_box .row_box_item {
    width: 100%;
}
.facilities01 .inner03 .list li {
    width: 100%;
    margin: 0 0 20px 0;
}
.facilities01 .inner03 .list li:first-of-type {
    width: 100%;
}
.facilities01 .inner03 .list li:nth-of-type(2) {
    width: 100%;
    margin: 0;
}
.facilities01 .inner03 .list .li_row_item {
    margin: 0 0 20px 0;
}
.facilities01 .inner03 .list .li_row_item img {
    height: 200px;
    width: 100%;
    object-fit: cover;
    object-position: center;
}
.facilities01 .inner03 .list li .list_text {
    font-size: 1.6rem;
}

.outline {
    padding: 30px 15px;
}
.outline .sec_title {
    padding: 0 0 20px 0;
}
.outline .sec_title .sub {
    font-size: 1.6rem;
}
.outline .ttl {
    font-size: 18px;
    letter-spacing: 0;
    padding: 7px 0;
}
.outline table {
    margin-bottom: 30px;
}
.outline tr {
    display: flex;
    flex-direction: column;
}
.outline th {
    width: 100%;
    border: none;
    padding: 5px 0;
    height: auto;
}
.outline td {
    font-size: 14px;
    width: 100%;
    border: none;
    padding: 7px 1.5em 16px 1.5em;
}
.outline .btn {
    margin-top: 50px;
    display: block;
}
.outline .btn div {
    width: 100%;
    margin: 0 0 15px 0;
}
.outline .btn a {
    font-size: 2rem;
    width: 75%;
    height: 60px;
    margin: 0 auto;
}
.outline .btn p {
    font-size: 1.3rem;
}

/* モーダル */
.modal__bg {
    width: 104%;
}
.modal__content {
    width: 80%;
    left: 50%;
}
.modal__content .con {
    margin: 0 7px !important;
}
.modal_slider .text {
    padding: 0;
}
.modal_slider .text .txt1 {
    font-size: 18px;
    margin: 10px 0 0 0;
}
.modal_slider .text .txt2 {
    font-size: 14px;
}
.slick-next,
.slick-prev {
    width: 32px !important;
    height: 32px !important;
}
.slick-next {
    right: -40px !important;
}
.slick-prev {
    left: -39px !important;
}
.slick-next:before,
.slick-prev:before {
    font-size: 30px !important;
}

.obsession02 .text01 {
	display: block;
	width: 100%;
    padding: 5px 5%;
    font-size: 2.2rem;
}
#obsession .inner {
    padding-left: 10px;
    padding-right: 10px;
}
#obsession .head {
    font-size: 1.8rem;
}
#obsession .head::before {
    height: 32px;
}
#obsession .bnr02 {
    margin-top: 7%;
}
.point__item:not(:first-child) {
    margin-top: 8%;
}
.point__meta {
    
}
.point01__head {
    font-size: 2rem;
}
.point01__explain {
    font-size: 1.4rem;
}
.point01__boxes {
    display: block;
}
.point01__box {
    width: 100%;
}
.point01__box:not(:first-child) {
    margin-left: 0;
    margin-top: 4%;
}
.point02__box {
    display: block;
    margin-top: 7%;
}
.point02__body {
    display: block;
    margin-top: 5%;
}
.point__head {
    width: 110px;
    height: 110px;
    padding-top: 4px;
    padding-bottom: 8px;
}
.point__head--item01 {
    padding-top: 15px;
}
.point__head--point {
    font-size: 2rem;
}
.point__head--ja {
    font-size: 1.3rem;
}
.point__head--en {
    width: 60px;
    margin-top: 3px;
}
.point__explain {
    margin-left: 10px;
    width: calc(100% - 120px);
    font-size: 1.15rem;
}
.point__explain01 {
    width: calc(100% - 212px);
}
.point__explain span {
    display: inline;
}
.point__before01 {
    width: 80px;
    margin-left: 10px;
}
.point02__number {
    font-size: 4rem;
}
.point02__head {
    font-size: 1.8rem;
    letter-spacing: 0;
}
.point02__explain {
    margin-top: 2.3%;
    font-size: 1.4rem;
}
.point02__img01 {
    width: 100%;
    margin-left: 0;
    margin-top: 3%;
}
.point02__right {
    width: 100%;
    margin-left: 0;
    display: block;
    margin-top: 6%;
}
.point02__head02 {
    font-size: 1.6rem;
}
.point02__meta02 {
    align-items: flex-end;
    justify-content: space-around;
}
.point02__number02 {
    font-size: 4rem;
}
.point02__explain02 {
    font-size: 1.4rem;
    margin-top: 2.3%;
}
.hope {
    display: block;
}
.hope__items {
    width: 100%;
    margin-left: 0;
    margin-top: 3%;
}
.hope__copy {
    width: 100%;
}
.hope__item {
    font-size: 1.2rem;
    padding-top: 11px;
    padding-bottom: 10px;
}
.hope__item span {
    font-size: 1.4rem;
}
.point03__box01 {
    display: block;
}
.point03__right {
    width: 100%;
    margin-left: 0;
    margin-top: 5%;
}
.point03__head01 {
    font-size: 1.8rem;
    margin-top: 4%;
}
.point03__explain01 {
    font-size: 1.4rem;
    margin-top: 2.3%;
}
.point03__meta {
    width: 100%;
    margin-top: 0;
    margin-left: 0;
}
.point03__box02 {
    margin-top: 3%;
    flex-direction: column-reverse;
}
.point03__head02 {
    font-size: 1.8rem;
}
.point03__explain02 {
    font-size: 1.4rem;
    margin-top: 2.3%;
}
.point03__img02 {
    width: 100%;
    margin-top: 3%;
}
.notice {
    display: block;
    padding: 5.32% 3vw 5.32% 3vw;
}
.notice .left {
    font-size: 2rem;
    margin-left: auto;
    margin-right: auto;
}
.notice .center {
    font-size: 2rem;
    margin-left: 0;
    width: 100%;
    text-align: center;
    margin-top: 4%;
}
.notice .center span {
    font-size: 2.4rem;
}
.notice .right {
    margin-left: 0;
    width: 100%;
    font-size: 1.4rem;
    margin-top: 4%;
}
.location01 .deco {
    bottom: auto;
    top: -31px;
}
.location03 .title .title-en {
    font-size: 3rem;
}
.location03 .title .title-ja {
    font-size: 1.4rem;
}
.location04 .title {
    font-size: 2.5rem;
}
.location04 .explain {
    font-size: 1.6rem;
}
.plan .copy {
    font-size: 2rem;
}
.plan .copy span {
    font-size: 4rem;
    line-height: 1.5;
}
.location01 .content .item01 .f20 {
    line-height: 1.6;
    font-size: 1.5rem;
}
.location01 .content .item01 .f40 {
    font-size: 3rem;
    line-height: 1;
}
.location01 .content .item01 .f35 {
   font-size: 2.4rem;
}
.facilities01 .inner03 h3 .img {
    max-width: 100px;
}
.is-sp {
    display: block;
}
.is-pc {
    display: none;
}
.main .notice .notice_mds {
    margin-right: 0
}
main .notice {
    padding-top: 2%;
    padding-bottom: 2%;
    flex-wrap: wrap;
    justify-content: left;
}
.location03 .sec_title {
    align-items: initial;
}
.location03 .sec_title .sub {
    font-size: 2rem;
    padding-top: 0;
    margin-top: 6px;
}
.location03 .car {
    padding-right: 30px;
    padding-top: 10px;
    padding-bottom: 10px;
}
.location03 .car::before {
    width: 45px;
    height: 34px;
    left: 41px;
}

}

@media screen and (max-width: 480px) {
    .notice {
        padding: 6% 10px;
        text-align: center;
    }
    .notice .f60 {
        font-size: 30px;
    }
    .notice .notice_mds {
        padding: 0 8px;
        font-size: 13px;
        line-height: 1.4;
        display: inline-block;
        margin-top: 12px;
    }
}



@media screen and (max-width: 767px) {
    #model .tab__nav ul {
        flex-wrap: wrap;
    }
    #model .tab__nav ul li {
        width: calc(33.3333333% - 5px * 2 / 3);
    }
    #model .tab__nav ul li:nth-child(3n + 1) {
        margin-left: 0;
    }
    #model .tab__nav ul li:nth-child(n + 4) {
        margin-top: 5px;
    }
    .main .model h2::before {
        bottom: -4%;
        height: 40px;
    }
}


/* 20241122 */
@media screen and (max-width: 767px) {
.row_box {
    flex-direction: column;
    gap: 0;
    padding: 0 0 40px;
}
.row_item {
    width: 100%;
    margin-bottom: 20px;
}
.row_item .row_cont .text01 {
    font-size: 2rem;
}
.row_item .row_cont .text02 {
    font-size: 1.4rem;
}
.plan02 .inner .left .image02 {
    display: flex;
    justify-content: space-around;
    margin: 0 0 35px 0;
}
.plan02 .inner .attention {
    padding: 30px 0;
}
.plan02 .inner .attention .icon {
    max-width: 80px;
    width: 23%;
    top: -23px;
    left: -10px;
}
.plan02 .inner .attention .text {
    padding: 0 0 5px 0;
    font-size: 1.5rem;
    border-bottom: 5px solid #ffcc00;
}
}