html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,a,input,textarea,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video 
{
margin:0;
padding:0;
font-family: 'Noto Sans JP', Osaka,'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, 'MS PGothic', arial, helvetica, sans-serif;
vertical-align:baseline;
list-style-type:none;
box-sizing:border-box;
letter-spacing:0.06em;
color:#555;
word-break: break-all;
}

h1, h2, h3, h4, h5, h6{
font-size:1rem;
}

.mb10{
margin-bottom:10px;
}

.mb30{
margin-bottom:30px;
}

.mb50{
margin-bottom:50px;
}

#luxy{
background-color:#f6f6f6;
}

body{
overflow-x:hidden;
}

a{
color:#555;
text-decoration:none;
outline:none;
}

h1,h2,h3,h4{
font-weight:normal;
}

/* 空間調整用 */
.m-t10{
margin-top:10px;
}

.m-t20{
margin-top:20px;
}

.m-t30{
margin-top:30px;
}

.m-t40{
margin-top:40px;
}

.m-t50{
margin-top:50px;
}

.m-b5{
margin-bottom:5px;
}

.m-b10{
margin-bottom:10px;
}

.m-b20{
margin-bottom:20px;
}

.m-b30{
margin-bottom:30px;
}

.m-b50{
margin-bottom:50px;
}

.m-b80{
margin-bottom:80px;
}

.m-b100{
margin-bottom:100px;
}

.m-b150{
margin-bottom:150px;
}

.m-b200{
margin-bottom:200px;
}

.p-t10{
padding-top:10px;
}

.p-t20{
padding-top:20px;
}

.p-t30{
padding-top:30px;
}

.p-b10{
padding-bottom:10px;
}

.p-b20{
padding-bottom:20px;
}

.p-b30{
padding-bottom:30px;
}

img{
width:100%;
vertical-align:bottom;
}

.wrap-w {
  width: 100%;
  margin-top: -1120px;
}

table{
border-collapse: collapse;
}

table,td,th{
border:none;
}

table{
width:100%;
}

/*ここから個別*/

.visual-w{
width:100%;
min-width:0;
position:relative;
height:2000px;
overflow:hidden;
pointer-events: none;
}

.visual1{
width:100%;
height:800px;
margin:0 auto;
padding-top: 50px;
background-image:url("../image/bg1.png");
background-size:cover;
overflow:hidden;
background-position:center center;
position:absolute;
z-index:100;
}

.visual2{
margin-left:50%;
height:800px;
width:50%;
position:absolute;
z-index:200;
}

.visual3{
width:100%;
height:800px;
margin:0 auto;
padding-top: 50px;
background-image:url("../image/bg3.png");
background-size:cover;
overflow:hidden;
background-position:center center;
position:absolute;
z-index:300;
}

#ufo{
position: absolute;
text-align:center;
width:80px;
left:-900px;
top:0;
}

.h11{
width:50%;
margin: 0 auto;
padding-top:225px;
}

.h11 img{
/*filter: drop-shadow(2px 2px 8px rgba(197, 106, 56, 0.6));*/
filter: drop-shadow(2px 2px 8px rgba(166, 177, 177, 0.74));
}


.q_in2{
width:1000px;
margin:0 auto 130px;
}

.q_in2 {
position: relative;
}

.arrow1{
width: 60px;
z-index: 9999;
height: 60px;
position:fixed;
right:10px;
bottom:50px;
}

.topics{
width:150px;
height:150px;
position:absolute;
right:20px;
top:50px;
z-index:9999;
display:table;
}

.topics-p1 a{
width:150px;
height:150px;
color:#fff;
text-align:center;
vertical-align:middle;
display: table-cell;
background-color: rgba(0, 0, 0, 0.7);
border-radius:75px;
transition-duration: 0.5s;
}

.topics-p1 a:hover{
background-color:rgba(0,0,0,0.341);
}

.map-wrap{
background: #fff;
}

.map-wrap iframe{
filter: grayscale(1);
opacity: 0.8;
vertical-align: bottom;
}

.map-wrap iframe:hover {

}

.container3{
width:90%;
max-width:1200px;
margin:0 auto;
padding:30px 0;
}

.footer-logo {
  width: 150px;
}

.footer-box{
padding-bottom:30px;
}

.footer-box1>p{
font-size:0.8rem;
color:#fff;
}

.bara1 {
  background-color: #d7e6e7;
}

.bara2 {
  background-color: #9ab2b3;
}

.copyright a {
  display: block;
  color: #fff;
  text-align: center;
  font-size: 0.9rem;
}

#breadcrumb div, #breadcrumb span {
  color: #ec9f71;
}

.q1 {
  margin-bottom: 10px;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 2;
}

.q2 {
padding-left: 1em;
text-indent: -1em;
line-height:2;
}

.q3{
padding: 0 30px;
}

.q1,.q2,.q3{
font-size: clamp(1rem, 1.2vw, 1.1rem);
}

.h21 {
  text-align: center;
  margin-bottom: 50px;
  font-size: 2.3rem;
  font-weight: bold;
}

.trigger {
  cursor: pointer;
  padding: 0 30px 0;
  position: relative;
}

.drop {
  padding: 30px;
  background-color: #ddd;
}

.h31 {
  padding: 0 30px;
  font-weight:bold;
  font-size:1.1rem;
}

.block-wrap_q{
/*border:solid 2px #666;*/
}

.block_q{
/*border:solid 2px #666;*/
}

.block-inner_q{
/*border:solid 2px #666;*/
  width: 700px;
  max-width: 90%;
  margin: 0 auto;
  padding: 100px 0;
}

.block-wrap_b0{
/*border:solid 2px #666;*/
}

.block_b0{
/*border:solid 2px #666;*/
}

.block-inner_b0{
/*border:solid 2px #666;*/
  width: 1000px;
  max-width: 90%;
  margin: 0 auto;
  padding: 100px 0;
}

.block-wrap_b1{
/*border:solid 2px #666;*/
}

.block_b1{
/*border:solid 2px #666;*/
}

.block-inner_b1{
/*border:solid 2px #666;*/
  width: 1000px;
  max-width: 90%;
  margin: 0 auto;
  padding: 100px 0;
}

.block-wrap_b2{
/*border:solid 2px #666;*/
}

.block_b2{
/*border:solid 2px #666;*/
}

.block-inner_b2{
/*border:solid 2px #666;*/
  width: 1000px;
  max-width: 100%;
  margin: 0 auto;
  padding: 100px 0;
}

.block-wrap_b3{
/*border:solid 2px #666;*/
}

.block_b3{
/*border:solid 2px #666;*/
}

.block-inner_b3{
/*border:solid 2px #666;*/
  width: 1000px;
  max-width: 100%;
  margin: 0 auto;
  padding: 100px 0;
}

.block-wrap_b4{
/*border:solid 2px #666;*/
}

.block_b4{
/*border:solid 2px #666;*/
}

.block-inner_b4{
/*border:solid 2px #666;*/
  width: 1000px;
  max-width: 90%;
  margin: 0 auto;
  padding: 100px 0;
}

.box0{
padding:20px 30px;
border-radius:30px;
}

.box2{
display: flex;
flex-wrap: wrap;
justify-content:space-between;
flex-direction: row;
}

.box2-1{
width:50%;
}

.box2-2{
width:50%;
}

.box2-1 img{
aspect-ratio: 2 / 1;
object-fit: cover;
}




.box3{
background-color:#fff;
}

.boxa{
display: flex;
justify-content:space-between;
}

.boxa-1{
min-height:300px;
width:30%;
}

.boxa-2{
background-color:#fff;
min-height:300px;
width:65%;
border-radius:30px;
}

.box0 p {
line-height: 1.8;
}

table, td, th {
border: 2px solid #888;
border-collapse: collapse;
}

td.tda{
width: 30%;
padding: 20px 20px 16px;
background-color: #adc0c0;
}

td.tdb {
width: 35%;
padding: 20px 20px 16px;
background-color: #bccfcf;
font-weight:bold;
}


.td1{
width: 30%;
padding: 20px 20px 16px;
background-color: rgba(0,0,0,0.1);
}

.td2 {
width: 35%;
padding: 20px 20px 16px;
}

.td3 {
width: 35%;
padding: 20px 20px 16px;
}

.td4{
width: 30%;
padding: 20px 20px 16px;
background-color: #f9c6a8;
}

.td4a{
width: 30%;
padding: 20px 20px 16px;
background-color: #ffe0a5;
}

.td5 {
width: 70%;
padding: 20px 20px 16px;
}


.contact .fbox{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin-bottom:30px;
}

.contact .fbox1-1 {
width: 35%;
padding-right: 2%;
}

.contact .fbox1-2{
width:65%;
}

.contact textarea {
padding: 10px 20px 10px;
font-size: 1rem;
width: 100%;
border:none;
}

.inp1{
margin-bottom:30px;
}

.soushin{
  width: 209px;
  padding: 14px 0 16px 0;
  font-size: 16px;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: block;
  margin: 0 auto;
margin-top: 0px;
  color: #fff;
  background: #444;
  line-height: 1;
  border-radius: 5px;
  transition: all .2s;
  margin-top: 50px;
  border:none;
}

.soushin:hover{
background-color:#9ab2b3;
}

input[type="checkbox"] {
margin-right: 10px;
}

.att{
font-size:0.9rem;
}

.att a{
color:#9ab2b3;
}

.att a:hover{
color:#df5e12;
}

.hissu{
color:#df5e12;
}

.contact input[type="text"] {
  /* ここに適用したいCSSスタイルを記述 */
width:100%;
height:45px;
padding: 10px 20px 7px;
font-size: 1rem;
border:none;
}

.container_b4{
width:700px;
max-width:100%;
margin:0 auto;
}




    /* ========== TIMELINE WRAP ========== */
    .tl-wrap {
      margin: 0 auto;
      padding: 3rem 2rem;
    }

    .tl-title {
      font-size: 26px;
      font-weight: 500;
      text-align: center;
      margin-bottom: 3rem;
      color: #1a1a1a;
    }

    /* ========== ROWS CONTAINER ========== */
    .tl-rows {
      position: relative;
    }

    /* 縦ライン：JSが --line-x と --line-top を計算してセット */
    .tl-rows::before {
      content: '';
      position: absolute;
      top: var(--line-top, -9999px);
      bottom: var(--line-bottom, 0);
      left: var(--line-x, -9999px);
      width: 2px;
      margin-left: -1px;
      background: #c8c8c4;
      z-index: 0;
    }

    /* ========== EACH ROW ========== */
    .tl-row {
      display: flex;
      align-items: flex-start;
      margin-bottom: 2rem;
      position: relative;
      z-index: 1;
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 0.5s ease, transform 0.5s ease;
    }

    .tl-row.visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* ========== LEFT: 西暦 ========== */
    .tl-left {
      width: 80px;
      flex-shrink: 0;
      text-align: right;
      padding-right: 18px;
      padding-top: 10px;
      font-size: 16px;
      font-weight: 500;
      color: #6f8b8c;
    }

    /* ========== CENTER: ドット ========== */
    .tl-dot-col {
      width: 28px;
      flex-shrink: 0;
      display: flex;
      justify-content: center;
      padding-top: 7px;
    }

    .tl-dot {
      width: 28px;
      height: 28px;
      border-radius: 50%;
      background: #6f8b8c;
      border: 4px solid #f5f5f3;
      flex-shrink: 0;
    }

    /* ========== RIGHT: カード ========== */
    .tl-right {
      flex: 1;
      padding-left: 18px;
    }

    .tl-card {
      background: #ffffff;
      border: 2px solid #e0e0dc;
      border-radius: 12px;
      padding: 1rem 1.25rem;
      transition: border-color 0.2s, box-shadow 0.2s;
    }

    .tl-tag {
      display: inline-block;
      font-size: 11px;
      padding: 2px 10px;
      border-radius: 6px;
      background: #e2ebec;
      color: #6f8b8c;
      margin-bottom: 6px;
      font-weight: 500;
    }

    .tl-card-title {
      font-size: 15px;
      font-weight: 500;
      color: #1a1a1a;
      margin-bottom: 4px;
    }

    .tl-card-body {
      font-size: 14px;
      color: #6b6b67;
      line-height: 1.7;
    }

.sub1{
font-size:0.8rem;
padding-top:8px;
padding-left:1em;
text-indent:-1em;
}











/*タブレット用*/
@media all and (max-width:1000px) {

.q_in2{
width: 100%;
}

.h11{
width:70%;
}

}


/*モバイル用*/
@media all and (max-width:700px) {

.topics{
display:none;
}

.visual-w{
width:100%;
min-width:0;
}

.h11{
width:80%;
}

.visual3{
height:400px;
background-image:url("../image/bg3.png");
}

.visual1{
height:400px;
}

.visual2{
height:400px;
position:absolute;
}

#ufo{
position: absolute;
text-align:center;
width:50px;
left:-120%;
top:80px;
}

.wrap-w {
margin-top: -1600px;
}

.h11{
padding-top:113px;
}

    @media (max-width: 700px) {
      .tl-wrap {
        padding: 2rem 0;
      }
      .tl-left {
        width: 60px;
        font-size: 13px;
        padding-right: 10px;
      }
    }




}


