@charset "UTF-8";
/* コンテンツ */

.tsub2 {
    text-align: center;
    margin-bottom: 3em;
}
.tsub2 section {
    display: inline-block;
}
.tsub2 h3 {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-size: 2em;
    line-height: 1.1;
    font-weight: 400;
    color: #111;
    border-bottom: 1px solid #333;
    padding: 0 1em 0.2em;
}
.tsub2 h3 span {
    font-size: 0.5em;
    margin-bottom: 0.5em;
}
.news {
	line-height:1.7;
}
.news dt {
	font-size:0.84em;
	float:left;
    width: 130px;
    text-align: center;
    background-color: #eee;
	font-family:"Courier New", Courier, monospace;
}
.news dd {
	padding:0 0 20px 170px;
	border-bottom:1px dotted #999;
	margin-bottom:20px;
    background-image: url("../img/arr.png");
    background-repeat: no-repeat;
    background-position: left 150px top 5px;
    background-size: 5px auto;
}

@media screen and (max-width: 960px) {
.tsub2 h3 {
    font-size: 1.8em;
}
}

@media screen and (max-width: 520px) {
.tsub2 h3 {
    font-size: 1.6em;
}
.news {
	float:none;
	width:auto;
	margin:0 20px 50px;
}
.news dt {
	float:none;
    margin-bottom: 5px;
}
.news dd {
	padding:0 0 20px 10px;
	border-bottom:1px dotted #999;
	margin-bottom:20px;
    background-position: left 0 top 5px;
    background-size: 4px auto;
}
}

.yokoku {
    border-bottom: 1px solid #444;
    font-size: 0.72em;
    color: #ccc;
    line-height: 1.4;
    text-align: center;
    padding: 1em;
}
.bg_mn {
    background-image: url("../img/bg_copy.webp");
    background-position: center center;
    background-size: cover;
    color: #fff;
}
.mn_tx {
    text-align: center;
    line-height: 0;
}
.mn_tx img {
    width: 100%;
}
.mn_tx p {
    width: 25%;
    margin: 0 auto 2em;
}
.mn_tx h2 {
    width: 40%;
    margin: 0 auto 5em;
}
.mn_tx h3 {
    width: 30%;
    margin: 0 auto 5em;
}


.sky_fix {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
    opacity: 0;
    background-image: url("../img/bg_fiber.webp");
    background-position: center center;
    background-size: cover;
}
.sky_box {
    color: #fff;
}
.sky_box figure {
    text-align: center;
    margin-bottom: 5em;
}
.sky_box figure img {
    width: 100%;
}
.sky_box figure h3 {
    width: 35%;
    margin: 0 auto;
}
.sky_box figure h4 {
    font-size: 2.8em;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.3em;
    text-indent: 0.3em;
    margin: 0 auto 1em;
}
.sky_box figure h6 {
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    font-size: 0.84em;
    line-height: 1;
    font-weight: 500;
    margin-bottom: 2em;
    font-style: oblique;
}
.sky_box figure p {
    letter-spacing: 0.2em;
    text-indent: 0.2em;
    font-size: 1.16em;
    line-height: 2.5;
    color: #94896e;
    margin-bottom: 2.5em;
}

.ph_box ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: -3em;
}
.ph_box ul li {
    width: 47%;
    margin-bottom: 3em;
}
.ph_box h3 {
    font-size: 2em;
    line-height: 1.1;
    font-weight: 400;
    font-style: oblique;
    letter-spacing: 0.1em;
    border-bottom: 1px solid #94896e;
    color: #94896e;
}
.ph_box h3 span {
    display: inline-block;
    margin-left: 1em;
    font-size: 0.6em;
    font-style:normal;
}
.ph_box p {
    line-height: 1.7;
    margin-top: 1em;
    
}

.fut_box h3 {
    text-align: center;
    font-size: 1.4em;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    margin-bottom: 3em;
}
.fut_box ul {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: -3em;
}
.fut_box ul li img {
    width: 100%;
}
.fut_box ul li {
    box-sizing: border-box;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
    width: 28%;
    margin-bottom: 3em;
}


.zeh_title {
    background-image: url("../img/zeh_bg.webp");
    background-position: center top;
    background-size: auto 120%;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio:20 / 7;
}
.zeh_title section {
    width: 80%;
    margin: 0 auto;
    filter: drop-shadow(0 0 5px rgba(0,50,0,1));
}
.zeh_title section p {
    font-size: 1.4em;
    letter-spacing: 0.1em;
    line-height: 1.7;
    font-weight: 500;
    margin-bottom: 1em;
}
.zeh_title section h4 {
    font-size: 4em;
    line-height: 1;
    font-weight: 500;
}
.zeh_title section h4 span {
 
 
}

.zeh_sub {
    font-size: 1.4em;
    line-height: 1.7;
    letter-spacing: 0.1em;
    font-weight: 500;
    margin-bottom: 1em;
    color: #41210f;
}
.zeh_sch {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    max-width: 900px;
    margin-bottom: 2em;
}
.zeh_sch section img {
    width: 100%;
}
.swipe {
    display: none;
}

.zeh_tori {
    margin-left: auto;
    margin-right: auto;
    max-width: 900px;
}
.zeh_tori ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.zeh_tori ul img {
    width: 100%;
}
.zeh_tori ul li:first-child {
    width: 18%;
}
.zeh_tori ul li:last-child {
    width: 78%;
    line-height: 1.7;
}
.zeh_tori h4 {
    color: #42753d;
    font-size: 1.16em;
    font-weight: 500;
}

.zeh_ori {
    margin-bottom: 3em;
}
.zeh_ori ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.zeh_ori ul li:first-child {
    box-sizing: border-box;
    text-align: center;
    white-space: nowrap;
    padding-right: 2em;
}
.zeh_ori ul li:first-child h3 {
    font-size: 3em;
    line-height: 1;
    font-weight: 500;
}
.zeh_ori ul li:first-child p {
    line-height: 1;
    margin-top: 0.5em;
}
.zeh_ori ul li:last-child {
    line-height: 1.7;
}

.zeh_ori2 {
    margin-left: auto;
    margin-right: auto;
    max-width: 700px;
}
.zeh_ori2 ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.zeh_ori2 ul img {
    width: 100%;
}
.zeh_ori2 ul li {
    width: 48%;
}

.zeh_box1 ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.zeh_box1 ul img {
    width: 100%;
}
.zeh_box1 ul li {
    width: 50%;
}
.zeh_box1 p {
    font-size: 0.76em;
    line-height: 1.5;
    margin-top: 1em;
    text-align: right;
}

.zeh_box2 ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: -2em;
}
.zeh_box2 ul img {
    width: 100%;
}
.zeh_box2 ul figure {
    position: relative;
    width: 30%;
}
.zeh_box2 ul section {
    width: 65%;
}
.zeh_box2 ul figure span {
    position: absolute;
    bottom: 10px;
    right: 10px;
    font-size: 0.6em;
    line-height: 1;
    color: #fff;
}
.zeh_box2 ul li:nth-child(2) figure span {
    color: #333 !important;
}
.zeh_box2 ul section span {
    font-size: 0.76em;
    display: block;
    line-height: 1.5;
    margin-top: 0.5em;
}
.zeh_box2 ul section h4 {
    color: #41210f;
    font-size: 1.16em;
    font-weight: 500;
    margin-bottom: 0.3em;
}
.zeh_box2 ul li {
    width: 48%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    line-height: 1.7;
    margin-bottom: 2em;
}

.tobata_fix {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
    opacity: 0;
    background-image: url("../slide/bg.webp");
    background-position: center center;
    background-size: cover;
}
.tobata_box {
    background-color: #111;
    color: #fff;
}
.tobata_box ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.tobata_box ul img {
    width: 100%;
}
.tobata_box ul li:first-child {
    width: 60%;
    line-height: 1.7;
}
.tobata_box ul li:last-child {
    width: 35%;
}
.tobata_box h3 {
    font-size: 1.6em;
    font-weight: 400;
    line-height: 1;
    color: #94896e;
}
.tobata_box h4 {
    font-size: 2em;
    font-weight: 500;
    margin: 0.3em auto 1em;
    color: #94896e;
}

.to_tx {
    margin: -4em auto 3em;
}
.to_tx ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.to_tx ul img {
    width: 100%;
}
.to_tx ul li:first-child {
    width: 65%;
}
.to_tx ul li:last-child {
    width: 35%;
}

.to_box1 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 3em;
}
.to_box1 img {
    width: 100%;
}
.to_box1 h3 {
    font-weight: 500;
    font-size: 1.16em;
    line-height: 1.4;
    text-align: center;
    padding: 1em 0;
    color: #25503c;
    border-top: 2px solid #25503c;
    border-bottom: 2px solid #25503c;
}
.to_box1 p {
    line-height: 1.7;
    margin-top: 1em;
}
.to_box1 section {
    width: 48%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}
.to_box1 section figure {
    width: 47%;
}
.to_box1 section figure ul {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    margin-bottom: -4px;
}
.to_box1 section figure ul li {
    position: relative;
    width: calc(50% - 2px);
    margin-bottom: 4px;
}
.to_box1 section figure ul li:first-child,.to_box1 section:last-child figure ul li:nth-child(2) {
    width: 100%;
}
.to_box1 section figure ul li span {
    position: absolute;
    bottom: 5px;
    right: 5px;
    line-height: 1;
    font-size: 0.6em;
    color: #fff;
    filter: drop-shadow(0 0 3px rgba(0,0,0,1));
}

.to_box2 ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}
.to_box2 img {
    width: 100%;
}
.to_box2 h3 {
    position: relative;
    font-weight: 500;
    font-size: 1.16em;
    line-height: 1.4;
    text-align: center;
    padding: 1em 0;
    background-color: #fff;
    color: #a55d66;
    border-top: 2px solid #a55d66;
    border-bottom: 2px solid #a55d66;
    z-index: 2;
}
.to_box2 figure {
    position: relative;
    line-height: 0;
    margin: 0 auto -10px;
    width: 7%;
    z-index: 1;
}
.to_box2 h4 {
    text-align: center;
    font-size: 1.16em;
    line-height: 1;
    font-weight: 500;
    margin: 1em 0 0.7em;
}
.to_box2 p {
    line-height: 1.7;
}
.to_box2 ul li {
    width: 22%;
}
.to_box2 ul li:nth-child(2) h3 {
    color: #4e7c9a;
    border-top: 2px solid #4e7c9a;
    border-bottom: 2px solid #4e7c9a;
}
.to_box2 ul li:nth-child(3) h3 {
    color: #7d7a3e;
    border-top: 2px solid #7d7a3e;
    border-bottom: 2px solid #7d7a3e;
}
.to_box2 ul li:nth-child(4) h3 {
    color: #25503c;
    border-top: 2px solid #25503c;
    border-bottom: 2px solid #25503c;
}


.lo_tx {
    text-align: center;
    font-size: 1.4em;
    line-height: 1.7;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    margin-top: -1em;
    margin-bottom: 2em;
}
.acmap {
    position: relative;
    z-index: 1;
    margin-bottom: 3em;
}
.acmap img {
    width: 100%;
}
.leaflet-container {
	background: #fff !important;
	outline-offset: 0 !important;
}
.leaflet-left .leaflet-control {
  margin-left: 0 !important;
}
.leaflet-top .leaflet-control {
  margin-top: 0 !important;
}

.life_box {
    text-align: center;
}
.life_box ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}
.life_box h3 {
    display: inline-block;
    font-size: 2em;
    line-height: 1.1;
    font-weight: 400;
    color: #94896e;
    border-bottom: 1px solid #94896e;
    padding: 0 1em;
    margin: 0 auto 1em;
}
.life_box ul li {
    width: 31%;
    margin-bottom: 2em;
}
.life_box ul li img {
    width: 100%;
}


.mdmap {
    position: relative;
    z-index: 1;
    width: 60%;
    margin: 0 auto;
}
.mdmap img {
    width: 100%;
}

.gal_box {
    margin-bottom: 3em;
}
.gal_box ul {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    line-height: 1;
}
.gal_box ul li:nth-child(1) {
    background-color: #333;
    color: #fff;
    padding: 0.5em 1em;
}
.gal_box ul li:nth-child(2) {
    font-size: 1.32em;
    margin-left: 1em;
}

@media screen and (max-width: 1200px) {
.tobata_box ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
}
.tobata_box ul li:first-child {
    width: 100%;
    margin-bottom: 3em;
}
.tobata_box ul li:last-child {
    width: 70%;
}
.tobata_box h3 {
    font-size: 1.4em;
}
.tobata_box h4 {
    font-size: 1.8em;
    margin: 0.3em auto 1em;
}
.to_tx {
    margin: 0 auto 3em;
}
.to_tx ul {
    flex-direction: column-reverse;
}
.to_tx ul li:first-child {
    width: 100%;
}
.to_tx ul li:last-child {
    width: 100%;
}

.to_box1 {
    margin-bottom: 0;
}
.to_box1 h3 {
    font-size: 1.16em;
}
.to_box1 section {
    width: 100%;
    margin-bottom: 3em;
}
.to_box1 section figure {
    width: 47%;
}

.to_box2 ul {
    margin-bottom: -3em;
}
.to_box2 h3 {
    font-size: 1.16em;
}
.to_box2 figure {
    margin: 0 auto -10px;
    width: 7%;
}
.to_box2 h4 {
    font-size: 1.16em;
    margin: 1em 0 0.7em;
}
.to_box2 ul li {
    width: 47%;
    margin-bottom: 3em;
}
}

@media screen and (max-width: 960px) {
.yokoku {
    border-bottom: 1px solid #444;
    font-size: 0.68em;
    color: #ccc;
    line-height: 1.4;
    text-align: left;
    padding: 1em;
}

.mn_tx p {
    width: 40%;
    margin: 0 auto 2em;
}
.mn_tx h2 {
    width: 60%;
    margin: 0 auto 4em;
}
.mn_tx h3 {
    width: 40%;
    margin: 0 auto 4em;
}

.sky_box figure {
    margin-bottom: 4em;
}
.sky_box figure h3 {
    width: 35%;
}
.sky_box figure h4 {
    font-size: 4.5vw;
    margin: 0 auto 1em;
}
.sky_box figure p {
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    font-size: 1em;
    line-height: 2.5;
}

.ph_box ul {

}
.ph_box ul li {
    box-sizing: border-box;
    width: 100%;
    padding-right: 10%;
}
.ph_box ul li:nth-child(even) {
    padding-right: 0;
    padding-left: 10%;
}
.ph_box h3 {
    font-size: 1.8em;
}
.ph_box p {
    
}

.fut_box h3 {
    font-size: 1.16em;
    margin-bottom: 3em;
}
.fut_box ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 5% -3em;
}
.fut_box ul li {
    width: 47%;
    margin-bottom: 3em;
}

.zeh_title {
    aspect-ratio:2 / 1;
}
.zeh_title section {
    width: 90%;
}
.zeh_title section p {
    font-size: 1.4em;
}
.zeh_title section h4 {
    font-size: 3.6em;
}
.zeh_title section h4 span {

}

.zeh_sub {
    font-size: 1.24em;
}

.zeh_tori ul {

}
.zeh_tori ul li:first-child {
    width: 18%;
}
.zeh_tori ul li:last-child {
    width: 77%;
}

.zeh_ori {
    margin-bottom: 2em;
}
.zeh_ori ul {
    flex-wrap: wrap;
}
.zeh_ori ul li:first-child {
    padding-right: 0;
    width: 100%;
    margin-bottom: 1em;
}
.zeh_ori ul li:first-child h3 {
    font-size: 3em;
}
.zeh_ori ul li:first-child p {
}
.zeh_ori ul li:last-child {
}

.zeh_ori2 {

}
.zeh_ori2 ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.zeh_ori2 ul li {
    width: 48%;
}

.zeh_box1 ul {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
}
.zeh_box1 ul li {
    width: 75%;
}
.zeh_box1 ul li:first-child {
    margin-bottom: 2em;
}

.zeh_box2 ul li {
    width: 100%;
}


.lo_tx {
    font-size: 1.24em;
    margin-bottom: 2em;
}
.acmap {
    margin-bottom: 3em;
}

.life_box {
    text-align: center;
}
.life_box ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}
.life_box h3 {
    font-size: 1.6em;
}
.life_box ul li {
    width: 48%;
    margin-bottom: 2em;
}

.gal_box {
    margin-bottom: 3em;
}
.gal_box ul {
    flex-direction: column;
}
.gal_box ul li:nth-child(1) {
    border: 1px solid #666;
    padding: 0.5em 1em;
    margin-bottom: 1em;
}
.gal_box ul li:nth-child(2) {
    font-size: 1.32em;
    margin-left: 0;
}

.mdmap {
    width: 100%;
}
}


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

.mn_tx p {
    width: 60%;
    margin: 0 auto 1em;
}
.mn_tx h2 {
    width: 75%;
    margin: 0 auto 3em;
}
.mn_tx h3 {
    width: 60%;
    margin: 0 auto 3em;
}

.sky_box figure {
    margin-bottom: 3em;
}
.sky_box figure h3 {
    width: 40%;
}
.sky_box figure h4 {
    font-size: 4.5vw;
    margin: 0 auto 1.5em;
}
.sky_box figure p {
    font-size: 0.92em;
    margin-bottom: 2.5em;
}

.fut_box h3 {
    font-size: 1em;
    margin-bottom: 2em;
}
.fut_box ul {
    margin: 0 0 -2em;
}
.fut_box ul li {
    width: 50%;
    margin-bottom: 2em;
}
.fut_box ul li:nth-child(even) {
    border-left-width: 0;
}

.zeh_title {
    aspect-ratio:2 / 1.2;
}
.zeh_title section {
    width: 90%;
}
.zeh_title section p {
    font-size: 1.32em;
}
.zeh_title section h4 {
    font-size: 10vw;
}
.zeh_title section h4 span {

}

.zeh_sub {
    font-size: 1.16em;
}

.zeh_sch section {
    overflow: auto;
}
.zeh_sch section img {
    width: 600px;
}

.swipe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
}
.swipe img {
    width: 70px;
}

.zeh_tori ul {
    align-items: flex-start;
}
.zeh_tori ul li:first-child {
    width: 18%;
}
.zeh_tori ul li:last-child {
    width: 77%;
    font-size: 0.92em;
}

.zeh_ori {
    margin-bottom: 2em;
}
.zeh_ori ul {
    flex-wrap: wrap;
}
.zeh_ori ul li:first-child {
    padding-right: 0;
    width: 100%;
    margin-bottom: 1em;
}
.zeh_ori ul li:first-child h3 {
    font-size: 8vw;
}
.zeh_ori ul li:first-child p {
}
.zeh_ori ul li:last-child {
}

.zeh_ori2 {

}
.zeh_ori2 ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.zeh_ori2 ul li {
    width: 48%;
}

.zeh_box1 ul {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
}
.zeh_box1 ul li {
    width: 100%;
}
.zeh_box1 ul li:first-child {
    margin-bottom: 2em;
}

.zeh_box2 ul li {
    width: 100%;
    align-items: flex-start;
}
.zeh_box2 ul li figure {
    margin-top: 0.3em;    
}


.tobata_box ul li:last-child {
    width: 80%;
}
.tobata_box h3 {
    font-size: 4vw;
}
.tobata_box h4 {
    font-size: 6vw;
    margin: 0.3em auto 1em;
}

.to_box1 {
    margin: 0 10%;
}
.to_box1 h3 {
    font-size: 1.16em;
}
.to_box1 section {
    width: 100%;
    margin-bottom: 3em;
}
.to_box1 section figure {
    width: 100%;
}
.to_box1 section figure:first-child {
    margin-bottom: 1em;
}

.to_box2 {
    margin: 0 10%;
}
.to_box2 ul {
    margin-bottom: -3em;
}
.to_box2 h3 {
    font-size: 1.08em;
}
.to_box2 figure {
    margin: 0 auto -10px;
    width: 6%;
}
.to_box2 h4 {
    font-size: 1.08em;
    margin: 1em 0 0.7em;
}
.to_box2 ul li {
    width: 100%;
    margin-bottom: 3em;
}


.lo_tx {
    font-size: 4vw;
    margin-top: 0;
    margin-bottom: 2em;
}
.acmap {
    margin-bottom: 3em;
}

.life_box {
    text-align: center;
}
.life_box ul {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    flex-wrap: wrap;
}
.life_box h3 {
    font-size: 1.6em;
}
.life_box ul li {
    width: 90%;
    margin-bottom: 2em;
}

.gal_box {
    margin-bottom: 2em;
}

}



.ottx {
    text-align: center;
}
.ottx strong {
    display: inline-block;
    font-size: 1.16em;
    line-height: 1.5;
    font-weight: 500;
    border-bottom: 1px solid #666;
    padding: 0 1em;
}

.update {
    margin-top: 2em;
}
.update ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap
}
.update ul li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-right: 3em;
}
.update ul li span {
    display: inline-block;
    background-color: #bbb;
    color: #fff;
    padding:0 1em;
    line-height: 2em;
    margin-right: 1em;
}

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

}

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

.update ul li {
    margin-right: 0;
}
.update ul li:first-child {
    margin-bottom: 1em;
}

}


