@charset "UTF-8";

/* CSS Document */


/*PC*/
@media print, screen and (min-width: 768px) {

/*
----------------------------*/

.index {}
.index .cont01 {}
.index .cont01 ul { list-style: none; display: flex; justify-content: flex-start; flex-wrap: wrap;}
.index .cont01 ul li { width: 30%; margin: 0 5% 5% 0; position: relative; box-shadow: 0 0 30px rgba(0,0,0,0.5);}
.index .cont01 ul li::after { content: attr(data-en); font-family: 'Spartan', sans-serif; font-weight: 700; color: rgba(255,255,255,0.5); display: inline-block; font-size: 3.4rem; position: absolute; top: 3px; right: 46px; transform: rotate(-90deg); transform-origin: right top; white-space: nowrap;}.index .cont01 ul li:nth-child(3n+3) { margin-right: 0;}
.index .cont01 ul li a { display: block;}
.index .cont01 ul li a::after { content: ""; width: 100px; height: 10px; background: #000; position: absolute; top: 0; right: 50px;}
.index .cont01 ul li a figure {}
.index .cont01 ul li a figure .img { width: 360px; height: 480px; overflow: hidden;}
.index .cont01 ul li a figure .img img { width: 100%; height: auto; transition: all .3s;}
.index .cont01 ul li a:hover figure .img img { transform: scale(1.1); transition: all .3s;}
.index .cont01 ul li a figure figcaption { color: #FFF; font-weight: bold; position: absolute; bottom: 0; left: 0; background: #000; padding: 20px 40px;}



/*ABOUT
----------------------------*/
.about .cont01 table { box-sizing: border-box; border-top: #ccc 1px solid; margin-bottom: 100px; }
.about .cont01 table th { padding: 20px 0px 20px 20px; border-bottom: #ccc 1px solid; vertical-align: middle; }
.about .cont01 table td { padding: 20px 20px 20px 0px; border-bottom: #ccc 1px solid; }
.about .cont01 table td p { display: flex; flex-wrap: wrap; margin: 10px 0; }
.about .cont01 table td span { margin-right: 30px; }

.about .cont01 .map { margin-bottom: 50px; }
.about .cont01 .map:last-child { margin-bottom: 0px; }
.about .cont01 .map .cont_tit { font-size: 1.4em; margin-bottom: 10px; line-height: 1.3; font-weight: 900; }



}



/*sp*/
@media only screen and (max-width: 767px) {

/*
----------------------------*/

.index {}
.index .cont01 {}
.index .cont01 ul { list-style: none; }
.index .cont01 ul li { width: 90%; margin: 0 auto 10%; position: relative; box-shadow: 0 0 20px rgba(0,0,0,0.5);}
.index .cont01 ul li::after { content: attr(data-en); font-family: 'Spartan', sans-serif; font-weight: 700; color: rgba(255,255,255,0.5); display: inline-block; font-size: 3.4rem; position: absolute; top: 3px; right: 52px; transform: rotate(-90deg); transform-origin: right top; white-space: nowrap;}
.index .cont01 ul li a { display: block;}
.index .cont01 ul li a::after { content: ""; width: 100px; height: 10px; background: #000; position: absolute; top: 0; right: 50px;}
.index .cont01 ul li a figure {}
.index .cont01 ul li a figure .img { height: 400px; overflow: hidden;}
.index .cont01 ul li a figure .img img { width: 100%; height: auto; transition: all .3s;}
.index .cont01 ul li a:hover figure .img img { transform: scale(1.1); transition: all .3s;}
.index .cont01 ul li a figure figcaption { color: #FFF; font-weight: bold; position: absolute; bottom: 0; left: 0; background: #000; padding: 20px 40px;}



/*ABOUT
----------------------------*/
.about .cont01 table { box-sizing: border-box; border-top: #ccc 1px solid; margin-bottom: 80px; }
.about .cont01 table th { padding: 20px 0 0; }
.about .cont01 table td { padding: 10px 0 20px; border-bottom: #ccc 1px solid; }
.about .cont01 table td p { display: flex; flex-wrap: wrap; margin: 10px 0; }
.about .cont01 table td span { margin-right: 10px; }

.about .cont01 .map { margin-bottom: 50px; }
.about .cont01 .map:last-child { margin-bottom: 0px; }
.about .cont01 .map .cont_tit { font-size: 1.4em; margin-bottom: 10px; line-height: 1.3; font-weight: 900; }



}





