/*/////////////////////////////////////////
Index

Large @media screen and (min-width: 960px)
/////////////////////////////////////////*/
/*---------------------------------------
    MainVisual
---------------------------------------*/
.main-visual-area {
    width: 100%;
    height: 520px;
    background-color: #80cfff;/*128, 207, 255*/
}

.main {
    position: relative;
    margin: 0 auto;
}
#genki-syokudou img {
    max-width: 50%;
    height: auto;
}
/*---------------------------------------
    Heading
---------------------------------------*/
#about h2,
#news h2 {
    position: relative;
    display: block;
    text-align: center;
    margin-bottom: 1em;
}

h1 span,
.floor-tenant h5 span,
h3.sec_f1-1 span,
h3.sec_f1-2 span,
h3.sec_f1-3 span,
.tenant h3 span{
    display: block;
}

.floor-tenant h5 span {
    font-weight: normal;
    color: #fff;
    margin: 0 0 0 0;
    padding: 0.2em 0.5em;
    background-color: #0053A9;
}
#about h2::before {
    position: absolute;
    top: 35px;
    left: 20px;
    content: '';
    background-image: url('../images/kamome01.png');
    background-repeat: no-repeat;
    background-size: contain;
    width: 41px;
    height: 19px;

}
#about h2::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 77px;
    height: 75px;
    content: '';
    background-image: url('../images/sun.png');
    background-repeat: no-repeat;
    background-size: contain;
}
.news_box h4 {
    display: block;
    /* margin-bottom: 1em; */
}
.floor-tenant h5 {
    margin: 0;
}
#ichiba-area h3.sec_f1-1 {
    margin: 1em 0;
    padding: 0.5em 1em;
    color: #fff;
    background-color: #005ca7;
}
.point h4 {
    background:#005ca7;
    color:#fff;
    padding:6px 20px;
}
.sec_f1-2 {
    margin: 1em 0;
    padding: 0.5em 1em;
    color: #fff;
    background-color: #00a73c;
}
.sec_f1-3 {
    margin: 1em 0;
    padding: 0.5em 1em;
    color: #fff;
    background-image:none;
    background-color: #20aee5;
}
#dining-area h2 {
    margin-bottom: 1em;
}
.sec_f2-2 {
    padding:0;
    text-align: center;
    width: 100%;
    height:auto;
    margin:40px auto 30px;
}
.caption-menu {
    padding: 0.5em 0;
    margin: 0;
    color: #005ca7;
}
.menu-name {
    width:100%;
    color: #ffffff;
    background: #3498db;
    margin: 0 0 0 0;
    text-align: center;
}

.lower-title {
    display: block;
    width: 98%;
    text-align: center;
    letter-spacing: 0.2rem;
    margin: 0 auto 20px auto;
    color:#000;
    padding:30px 0 10px 0;
    border-bottom: 3px solid #00a0ff;
    font-size: 1.8rem
}

.lower-title span {
    display: block;
}

.bus-reserv h4 {
    margin: 0;
}

/*---------------------------------------
    Sections // ABOUT
---------------------------------------*/
#about {
    display: grid;
    row-gap: 0.5em;
    margin: 2em 0;
}
#about {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 100px 50px 1fr auto; /* ← 行追加 */
    column-gap: 1em;
}

#about h2 {
    grid-column: 1 / 3;
    grid-row: 1 / 1;
}

#about h2::before {
    top: 28px;
    left: 290px;
}

#about h2:after {
    top: -32px;
    right: 285px;
}

#about .sub_txt {
    grid-column: 1 / 3;
    grid-row: 2 / 2;
}

#about .images {
    grid-column: 1 / 2;
    grid-row: 3 / 3;
}

#about .content {
    grid-column: 2 / 2;
    grid-row: 3 / 3;
    font-size: 0.875em;
    line-height: 1.8;
    margin: 0;
}

#about .video-wrapper {
    grid-column: 1 / 3;
    grid-row: 4 / 4;
    text-align: center;
    padding: 20px 0;
}

#about .video-wrapper video {
    width: 100%;
    max-width: 550px;
    height: auto;
    display: block;
    margin: 0 auto;
}

/*---------------------------------------
    Sections // Shop Ichiba
---------------------------------------*/
.floor_set {
    display: block;
    height: 125px;
    background-position: top center;
}
.floor_set h2 {
    background-color: #00a0ff;
    width: 100vw;
    color:#fff;
    position: relative;
    padding: 20px 0;
    margin: 0 0 0 calc(50% - 50vw);
    text-align: center;
    letter-spacing: 0.2rem;
}
.floor_set h2 span {
    display: block;
    line-height: 1.8;
    font-weight: normal;
}
.floor_set h2:after{
    content:"";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 50px 50px 0 50px;
    border-color: #00a0ff transparent transparent transparent;
    display: block;
    position: absolute;
    left: 50%;
    margin-left: -50px;
    z-index: 5;
}
.point {
    background-color:#fffac6;
    border:1px solid #005ca7;
    border-radius: 0.5em;
}
.point div {
    padding: 0 1em;
}
.point span {
    display: inline-block;
    font-size: 1.3em;
    font-weight: bold;
    color: #fff;
    padding: 3px 7px 2px 7px;
    margin: 0.5em 0;
    border-radius: 30px;
}
span.se01 { background:#ea6ba3; }
span.se02 { background:#00a0ff; }
span.se03 { background:#ed7b64; }
span.se04 { background:#4a79aa; }

.floor-tenant {
    padding: 1em;
    text-align: center;
    border: #0053A9 2px solid;
    background-color: #e6f6ff;
}
.line-title {
    width: 100%;
    margin: 1em 0;
    padding: 0.5em 1em;
    font-size: 120%;
    box-sizing: border-box;
    color: #fff;
    border-left: #000 25px solid;
    background-color: #3498db;
}

#ichiba-1f-area {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: nowrap;
}
h2#ichiba-1f {
    grid-row: 1 / 1;
    grid-column: 1 / 3;
}
.floor_set h2 {
	margin: 0 calc(49% - 50vw) 0 calc(49% - 50vw);
	width: 100vw;
}
#ichiba-1f-sengyo {
    margin-bottom: 4em;
    display: grid;
    grid-template-rows: 215px 380px 88px 250px 30px 175px;
    gap: 0.5em
}
#ichiba-1f-sengyo h3.sec_f1-1 {
	grid-row: 1 / 1;
	grid-column: 1 / 3;
	background-image: url("../images/shop/f1-1_ttl_bg.png");
	background-color: #fff;
	background-repeat: no-repeat;
	background-size: contain;
	font-size:1.8rem;
	font-weight: bold;
	padding: 87px 0px 0px 90px;
	position: relative;
}
#ichiba-1f-sengyo h3.sec_f1-1 span {
    display: block;
    color:#000;
    position: absolute;
    top: 0.8rem;
    left: 164px;
    font-size:1.8rem;
    font-weight: bold;
}
.ichiba-left {
    grid-row: 2 / 3;
    grid-column: 1 / 1;
}
.ichiba-right {
    grid-row: 2 / 3;
    grid-column: 2 / 3;
    padding: 1.5em 1em;
}
.point {
    grid-row: 3 / 3;
    grid-column: 1 / 3;

    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    font-size: 0.9em;
    margin: 0 0;
    padding: 1em 2em;
}
.point h4 {
	display: block;
	text-align: center;
	font-size: 1.5em;
	padding: 0.5em 1em;
	margin: 0;
}
.point div {
	max-width: 30%;
}
	.point div span {
        font-size: 1.5em;
	}
.sengyo {
    grid-row: 4 / 4;
    grid-column: 1 / 3;
    display: flex;
    justify-content: space-between;
}
.sengyo picture {
	width: 100%;
	height: auto;
	margin: 0 1em 0 0;
}
	.sengyo picture:nth-child(3) {
        margin: 0 0 0 0;
	}
.caption {
    grid-row: 5 / 5;
    grid-column: 1 / 3;
    padding: 0;
    margin: 0;
}

.floor-tenant {
    grid-row: 6 / 6;
    grid-column: 1 / 3;
    width: 70%;
    margin: 0 15%;
    line-height: 1;
}
.floor-tenant h5 span {
	display: inline;
	margin: 0 0 0 1em;
}
.section_lead {
    font-size: 1.3em;
}
#ichiba-1f-yasai {
    margin-bottom: 4em;
    display: grid;
    grid-template-rows: 165px 380px 50px;
    gap: 0.5em
}
#ichiba-1f-yasai h3.sec_f1-2 {
    grid-row: 1 / 1;
    grid-column: 1 / 3;
    background-image: url("../images/shop/f1-2_ttl_bg.png");
    background-color: #fff;
    background-repeat: no-repeat;
    background-size: contain;
    font-size:1.8rem;
    font-weight: bold;
    padding:87px 0px 0px 90px;
    position: relative;
    margin: 0;
}
#ichiba-1f-yasai h3.sec_f1-2 span {
    display: block;
    color:#000;
    position: absolute;
    top: 0.8rem;
    left: 164px;
    font-size:1.8rem;
    font-weight: bold;
}
#ichiba-1f-yasai .img_wrap {
    grid-row: 2 / 2;
    grid-column: 1 / 3;
    display: flex;
    justify-content: space-between;
}
#ichiba-1f-yasai .img_wrap picture:nth-child(1) {
	margin-right: 1em;
}
#ichiba-1f-yasai p {
    grid-row: 3 / 3;
    grid-column: 1 / 3;
    font-size: 80%;
}

#ichiba-1f-omiyage {
    margin-bottom: 4em;
    display: grid;
    grid-template-rows: 175px 395px 235px 50px;
    gap: 0.5em;
}
#ichiba-1f-omiyage h3.sec_f1-3 {
    grid-row: 1 / 1;
    grid-column: 1 / 3;
    background-image: url("../images/shop/f1-3_ttl_bg.png");
    background-color: #fff;
    background-repeat: no-repeat;
    background-size: contain;
    font-size:1.8rem;
    font-weight: bold;
    padding:87px 0px 0px 90px;
    margin: 0;
    position: relative;
}
#ichiba-1f-omiyage h3.sec_f1-3 span {
    display: block;
    color:#000;
    position: absolute;
    top: 0.8rem;
    left: 164px;
    font-size:1.8rem;
    font-weight: bold;
}
#ichiba-1f-omiyage .img_wrap {
    grid-row: 2 / 2;
    grid-column: 1 / 2;
}
#ichiba-1f-omiyage .right {
    grid-row: 2 / 2;
    grid-column: 2 / 3;
}
#ichiba-1f-omiyage .img-box {
    grid-row: 3 / 3;
    grid-column: 1 / 3;
    display: flex;
    justify-content: space-between;
}
#ichiba-1f-omiyage .img-box .img_wrap {
	margin-right: 1em;
}
#ichiba-1f-omiyage .img-box .img_wrap:nth-child(3) {
	margin-right: 0;
}
#ichiba-1f-omiyage p {
    grid-row: 4 / 4;
    grid-column: 1 / 3;
    font-size: 80%;
}
/*---------------------------------------
    Sections // Dinning Genki Shokudou
---------------------------------------*/
.sec_f2-2 img {
    width: 100%;
    height: auto;
}
.section_lead {
    color: #00a0ff;
    text-align: center;
}
.menu-set .menu-box picture,
.menu-set .menu-box img {
    width: 100%;
    height: auto;
    max-height: 217px;
    overflow: hidden;
}
.menu-set {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#dining-area,
#menu-area,
#terrace-area {
    margin: 2em 0;
}
#takeout-menu {
    margin: 2em auto;
}
#takeout-menu .flex-center {
    display: flex;
    flex-wrap: wrap;
}

#dining-area .img_wrap,
#terrace-area .img_wrap {
    display: flex;
    justify-content: space-between;
}
#dining-area .img_wrap div img,
#terrace-area .img_wrap div img {
    width: 98%;
    margin: 0 1%;
}
#terrace-area .sec_txt_box {
    font-size: 1.2em;
}
#terrace-area .sec_txt_box h4 {
    margin: 0;
}
h3.sec_f2-2 {
	width: 65%;
}

.menu-set::after {
    content: "";
    width: 33%;
}
.menu-set .menu-box {
    width: 32%;
    padding: 0
}
.menu-set .menu-box p {
	font-size: 0.8em;
	border: none;
}
#takeout-menu .flex-center {
    justify-content: center;
}
#takeout-menu .harf {
    width: 30%;
}
#takeout-menu .flex-center .att {
    width: 60%;
    margin: 0 20%;
}
.sec_box_quarter,
.sec_box_harf {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    align-items: stretch;
}
.sec_box_harf div {
    width: 48%;
    height: auto;
}
.menu-txt {
    font-size: 0.9em;
}
.sec_box_quarter span,
.sec_box_harf span {
    display: block;
    width: 100%;
}
.harf {
    width: 25%;
    margin: 0;
}
.sec_box,
.sec_box_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    column-gap: 1em;
}
.sec_box .left,
.sec_box .right {
    width: 49%;
}
/*---------------------------------------
    Sections // News
---------------------------------------*/
/*---------------------------------------
    Sections // Ichiba Now
---------------------------------------*/
#ichiba-now-area {
    width: 100vw;
    margin: 0 calc(49% - 50vw) 2em calc(49% - 50vw);
    padding: 10em 0 2em 0;
    background: url('../images/topics_bg.png');
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100%;
}
#ichiba-now-area::before {
    top: -30px;
    left: 310px;
    width: 175px;
    height: 156px;
}
#ichiba-now-area .inner {
    flex-direction: row;
	margin: 0 auto;
	padding: 0;
	width: 1080px;
}
	#colorme-item-list .item-frame .item-txt-box .explanation .details{
        flex-direction: row;
	}

.ichiba-now-title,
.recommend-title {
    width: 500px;
    height: 67px;
    margin: 0 auto;
}
#ichiba-now-area .left,
#ichiba-now-area .right {
    width: 49%;
}
.ichiba-now-title img.ichiba-now-ima {
    max-width: 189px;
    height: auto;
}
.recommend-title .recommend-title-img {
    max-width: 215px;
    height: auto;
}
.recommend-title .pickup {
    max-width: 104px;
    height: auto;
}
#ichiba-now-area #pageplugin {
    width: 500px;
    height: 500px;
    margin: 0 auto;
}

.banner-now {
    max-width: 536px;
    height: auto;
    margin: 0 auto;
}
.banner-now img {
    max-width: 536px;
    height: auto;
}
/*---------------------------------------
    Sections // Access
---------------------------------------*/
#access {
    grid-template-rows: repeat(32, 43px);
    column-gap: 2em;
    row-gap: 0.5em;
    place-items: start normal;
}
#access h2 { /* Title */
    grid-row: 1 / 3;
    grid-column: 1 / 3;
    margin: 0;
}

#access dl.att_trans {
    grid-row: 3 / 8;
    grid-column: 1 / 2;
    flex-wrap: wrap;
    width: 100%;
    margin: 0;
}
/* #access div:nth-child(2), */
#access .kawamachi-parking-image { /* かわまち駐車場外観写真 */
    grid-row: 8 / 11;
    grid-column: 1 / 2;
}
/* #access div:nth-child(4), */
#access .genki-ichiba-map-btn { /* GoogleMapsリンク */
    grid-row: 16 / 21;
    grid-column: 1 / 2;
}
/* #access div:nth-child(3), */
#access .ichiba-ditail-map { /* 石巻駅からの概要地図 */
    grid-row: 18 / 28;
    grid-column: 1 / 2;
}

/* #access div:nth-child(5), */
#access .ichiba-ditail-map { /* 周辺地図 */
    grid-row: 18 / 28;
    grid-column: 1 / 2;
}

#access dl.att_trans dt {
	width: 10%;
	padding: 0;
	margin: 0 0 1em 0;
}
#access dl.att_trans dd {
	width: 90%;
	margin: 0 0 1em 0;
}
#access div.parking {
    grid-row: 3 / 17;
    grid-column: 2 / 3;
}
#access div.parking-reserv {
    grid-row: 17 / 21;
    grid-column: 2 / 3;
}
#access .bh-area {
    grid-row: 21 / 32;
    grid-column: 2 / 3;
    margin: 0 0 0 0;
    padding: 1em 0;
}
#access .bh-area .bittable {
    margin-bottom: 0;
}
#access .bh-area p {
    margin-top: 0;
}
.pet-area {
    grid-row: 32 / 35;
    grid-column: 2 / 3;
    border-top: none;
}

/*---------------------------------------
    Sections // Public Banner
---------------------------------------*/
#public-banner {
    flex-wrap: nowrap;
}