/*
Theme Name: tkms66
Author: yajima
Description: tkms66
Version: 1.0
*/

/* RESET CSS */
article, aside, details, figcaption, figure, footer, header, hgroup, img, menu, nav, section {display: block;}a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {margin: 0;padding: 0;border: 0;font: inherit;vertical-align: baseline;}body {line-height: 1;}ol, ul {list-style: none;width: 100%;}blockquote, q {quotes: none;}blockquote:after, blockquote:before, q:after, q:before {content: '';content: none;}table {border-collapse: collapse;border-spacing: 0;}img {margin: 0 auto;padding: 0;max-width: 100%;}
* {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}input[type="submit"] {-webkit-appearance: none;}* {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
html {font-size: 62.5%;font-family: "YuMincho", "Hiragino Mincho ProN", "MS PMincho", serif;}
body {width: 100%;font-size: 1.2rem;color: #646464;line-height: 1.7;-webkit-font-feature-settings: 'palt'1;font-feature-settings: 'palt'1;letter-spacing: 1px;}
p {line-height: 1.7;}
p + p, img + img {margin-top: 2em;}
table + h3, table + img, table + .map {margin-top: 4em;}
.clearfix:before, .clearfix:after {content: " ";display: table;}
.clearfix:after {clear: both;}
.clearfix {*zoom: 1;}
.pc {display: block;}
.sp {display: none;}
.small{font-size: 80%;}
p + img,img + .map, img + h3 {margin-top: 2em;}
.pt0{padding-top:0;}
/*-----Header------*/
.swiper {width: 100%;height: 600px;}
.swiper-slide {background-size: cover;background-position: center;position: relative;}
/* ドットパターンのオーバーレイ */
.swiper-slide::after {content: "";position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-image: radial-gradient(rgba(0, 0, 0, 0.2) 30%, transparent 30%);background-size: 2px 2px;pointer-events: none;z-index: 2;
}
.swiper-pagination-bullet {background: #fff !important;}
.swiper-pagination-bullet-active {background: #888 !important;}
/*-----Menu------*/
.menu-wrap {display: flex;justify-content: space-between;padding: 1em;position: relative;height: 75px;}
.menu-wrap .logo {width: 300px;margin: 0 .8em;position: absolute;top: 50%;transform: translateY(-50%);}
.menu {position: fixed;top: 0;right: -100%;width: 150px;height: 100%;background-color: #ffffffb0;color: #646464;transition: right 0.6s ease;padding: 20px;box-sizing: border-box;z-index: 10;}
/* メニューが開いているとき */
.menu.open {right: 0;}
/* ボタンのスタイル */
.hamburger {position: fixed;top: 10px;right: 15px;width: 22px;cursor: pointer;z-index: 20;}
.hamburger span {display: block;height: 1px;width: 100%;background-color: #949494;margin: 8px 0;transition: 0.4s;}
/* バツ印に変化するスタイル */
.hamburger.active span:nth-child(1) {transform: rotate(45deg) translate(6.5px, 6.5px);}
.hamburger.active span:nth-child(2) {opacity: 0;}
.hamburger.active span:nth-child(3) {transform: rotate(-45deg) translate(6px, -6px);}
/* メニューリストのスタイル */
.menu ul {list-style-type: none;padding: 0;margin-top: 60px;}
.menu li {padding: 1em 0;border-bottom: 1px solid #949494;font-size: 1.2rem;}
.menu li a {text-decoration: none;display: block;}
section {padding: 2em 0;}
.inner {width: 800px;margin: 0 auto;}
h1 {/*font-size: 3rem;text-align: center;line-height: 1.4;padding: 2em 0 0;color: #333333;*/display: none;}
h3 {font-size: 110%;line-height: 1.4;padding: 0 0 1.5em;}
/* check */
ul.check {margin: 0 auto;}
ul.check li:last-child {border-bottom: none;}
ul.check li {padding: 1em 0 1em 1.5em;border-bottom: 1px dashed #aaa;font-weight: bold;line-height: 1.4;position: relative;}
ul.check li::before {content: 'check_circle';font-family: "Material Icons";color: #ee4141;position: absolute;top: 50%;transform: translateY(-50%);left: 0;}
dt {position: relative;padding: 1rem 0 .2rem;color: #ee4141;font-weight: bold;font-size: 110%;margin: 0 auto 1em;border-bottom: 2px solid;}
dd {padding: 0 0 2rem;margin: 0 auto;line-height: 1.4;}
dd:last-child {border-bottom: none;}
dd ul.check li {font-size: 90%;}
/*-----Table------*/
table {width: 100%;}
table th, table td {padding: .5em 0;text-align: left;}
table th {width: 20%;}
/*-----News------*/
.news_box ul li {padding: 1em 0;border-bottom: 1px solid #eee;}
.news_box ul li:last-child {border-bottom: none;}
.news_box .category {margin: 0 2em;border: 1px solid #818181;color: #818181;padding: .2em 2em;font-size: 80%;}
/*-----News2------*/
.news_box2 ul {display: flex;flex-wrap: wrap;justify-content: space-between;}
.news_box2 li {cursor: pointer;overflow: hidden;width: calc((100% - 2em) / 3);position: relative;font-size: 90%;line-height: 1.4;padding: 0 0 2em;}
.news_box2 li .title {display: block;font-weight: bold;font-size: 110%;padding: 1em 0 0;}
.news_box2 li .date {display: block;font-size: 60%;color: #818181;font-family: system-ui;padding: 0 0 1em;}
.news_box2 li a {display: block;overflow: hidden; /* 念のため */
}
.news_box2 li a img {transition: transform 0.6s, opacity 0.6s;display: block;width: 100%;height: auto;}
.news_box2 li a img:hover {transform: scale(1.2);opacity: 0.5;}
.news_box2 .img_wrap {overflow: hidden;border-radius: 5px;}
.news_box2 p {text-align: center;color: #fff;top: 50%;left: 50%;transform: translate(-50%, -50%);position: relative;}
/*-----works(削除)-------*/
.works_box {display: flex;flex-wrap: wrap;gap: 5px;}
.works_img {cursor: pointer;overflow: hidden;width: calc((100% - 10px) / 3);position: relative;}
.works_img img {height: auto;transition: transform .6s ease;width: 100%;}
.works_img:hover img {transform: scale(1.1);}
.works_img p {text-align: center;color: #fff;top: 50%;left: 50%;transform: translate(-50%, -50%);position: relative;}
.works_img .mask {width: 100%;height: 100%;position: absolute;top: 0;left: 0;opacity: 0;background-color: #2222229c;-webkit-transition: all 0.2s ease;transition: all 0.2s ease;}
.works_img:hover .mask {opacity: 1;}

/*-----Works2(残し)------*/
.works-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 8px;}
.works-item {flex: 0 0 30%;position: relative;}
.works-link {text-decoration: none;color: inherit;display: block;}
.works-thumb {position: relative;overflow: hidden;}
.works-image {width: 100%;height: auto;display: block;transition: transform 0.5s ease;}
/* ズームイン効果（hover） */
.works-thumb:hover .works-image {transform: scale(1.1);}
/* オーバーレイ（黒背景 + タイトル） */
.works-overlay {position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.4);display: flex;align-items: center;justify-content: center;opacity: 0;transition: opacity 0.3s ease;}
.works-thumb:hover .works-overlay {opacity: 1;}
.works-title {color: #ffffff;text-align: center;padding: 0 1rem;}


/*-----Map------*/
.map {position: relative;width: 100%;padding-top: 56.25%;height: 0;}
.map iframe {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
/*-----Footer------*/
footer {width: 100%;margin: 0 auto;padding: 2em 0;}
footer .logo {width: 200px;padding: 3em 0;}
footer p {text-align: center;font-size: 60%;}
a:link, a:visited, a:active {color: #646464;font-style: normal;text-decoration: none;}
a:hover {color: #818181;font-style: normal;text-decoration: none;}

@media screen and (max-width:1024px) {
  p + p {margin-top: 2rem;}
  body {width: 100%;  line-height: 1.7;}
  img {max-width: 100%;}
  .pc {display: none;}
  .sp {display: block;}
  .inner {width: 95%;}
  .xxsmall {font-size: 50%;}
  .xsmall {font-size: 70%;}
  .small {font-size: 80%;}
  .large {font-size: 110%;}
  .xlarge {font-size: 130%;}
  .xxlarge {font-size: 150%;}
  .xxxlarge {font-size: 7vw;}
  /*-----Menu------*/
  .menu-wrap {height: 60px;}
  .menu-wrap .logo {width: 200px;}
  .hamburger {top: 12px;  right: 15px;}
}
@media screen and (max-width:480px) {
  body {width: 100%;  font-size: 2vw;}
  h1,h2 {font-size: 6vw;}
  section {padding: 0;}
  /*-----Menu------*/
  .menu {width: 100px;}
  .menu-wrap {height: 50px;padding: 1em;}
  .menu-wrap .logo {width: 140px;  margin: 0;}
  .hamburger {top: 12px;right: 6px;}
  .hamburger span{width: 70%;margin: 4px 0;}
  .hamburger.active span:nth-child(1) {transform: rotate(45deg) translate(3.5px, 2.5px);}
  .hamburger.active span:nth-child(3) {transform: rotate(-45deg) translate(3px, -2px);}
  /*-----News------*/
  .news_box .category {margin: 0 1em;  padding: .2em 1em;}
  .menu ul {margin-top: 40px;}
  /*-----news------*/
  .news_box2 li {width: calc((100% - 1em) / 2);}
  .news_box2 li {padding: 0 0 2em;  font-size: 80%;}
  /*-----works------*/
  .works-grid{grid-template-columns: repeat(2, 1fr);}
  .works_img {width: calc((100% - 5px) / 2);}
  .works_img .mask {opacity: unset;  background: #00000063;}
  .works_img p {font-size: 2.8vw;}
  /*-----Swiper------*/
  .swiper {height: 50vh;}
  /*-----Footer------*/
  footer .logo {width: 140px;  padding: 2em 0;}
  footer p {text-align: center;  font-size: 1.6vw;}
}