@charset "utf-8";

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

body {
  margin: 0 auto;
  font-family: sans-serif;
}

ol, ul {
	list-style: none;
}

/*============================
tohokumachi
============================*/

.tohokumachi p {
    margin: 0!important;
}


/*============================
midokoro
============================*/

.midokoro {
    background-color: #F2F2F2;
}

.midokoro h3 {
    margin-bottom: 60px;
}

.midokoro__container {
}

.midokoro__item {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 3列に均等に配置 */
    gap: 40px; /* 画像間の隙間 */
}

.midokoro__list {
    background-color: #fff;
    border-radius: 10px;
}

.midokoro__list div {
    padding: 20px 20px 40px;
}

.midokoro__item img {
    width: 100%;
    border-radius: 10px 10px 0 0;
}

.midokoro__item h4 {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #aaa;
}

.midokoro__item p {
    font-size: 18px;
    text-align: left;
}

@media screen and (max-width: 768px) {
    .midokoro__item {
        grid-template-columns: repeat(1, 1fr); /* 3列に均等に配置 */
        gap: 30px; /* 画像間の隙間 */
    }
    .midokoro__list {
        margin: 0 20px;
    }
    .midokoro__item p {
        font-size: 16px;
    }
    
}


/*============================
photo
============================*/

.photo {
    background-image: url(../img/tohokumachi/tohokumachi_photo.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 50vh;
}


/*============================
access
============================*/

.access dl div {
    display: flex;
}

.access dl div dt {
    text-align: right;
}

table {
    margin: 0 auto;
    padding: 40px;
    border-spacing: 0;
    background-color: #fff;
}

th, td {
    padding: 0 10px 10px;
    box-sizing: border-box;
    font-size: 100%;
    line-height: 1.5;
    letter-spacing: 0.08em;
}

th {
    width: 15%;
    text-align: right;
}

td {
    width: 85%;
    text-align: left;
}

.map_wrap {
    position: relative;
    width: 100%;
    height: min(calc(600/1080*100vw),600px);
}

.map_wrap iframe {
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 768px) {
}