
@charset "utf-8";
/*=============================================================
Common Layout
=============================================================*/
html {font-size: 62.5%;}
body,p,ul,ol,dl{ font-size: 1.6rem; line-height: 1.6; }
/* #topicPath
---------------------------------------------------*/
#topicPath li,
#topicPath li a{
}

/* back
---------------------------------------------------*/

.nw{
background-color:#e6e1dc;
width: 100%;
height: auto;
margin-bottom: 0;
padding-bottom: 50px;
padding-top: 50px;
}
.annai{
background-color:#f2eee2;
width: 100%;
height: auto;
margin-bottom: 0;
padding-bottom: 50px;
padding-top: 50px;
}

.kokoro{
background-color:#D1EBF5;
width: 100%;
height: auto;
margin-bottom: 0;
padding-bottom: 50px;
padding-top: 50px;
}


/* box
---------------------------------------------------*/

.boxRound{
background-color:rgba(255,255,255,0);
margin-top:0;
position: relative;
width: 80%;
padding-bottom: 0;
padding-top: 0;
}

/*txt
---------------------------------------------------*/
br.dspbr{display: block;}
br.spbr{display:none;}
.plt{font-feature-settings: "palt";}
.bold{font-weight:600;}
.textBr{ color: #695142;}

/*=============================================================
タイトル
=============================================================*/
#ttlOuter {
}
#ttl {
width: 100%;
max-width: 1040px;
padding:0 20px;
box-sizing:border-box;
margin: 0 auto;
height:140px;
position:absolute;
bottom:35%;
left:50%;
transform:translate(-50%,0);
}
#ttlInner {
position:relative;
width:100%;
height:100%;
color:#fff;
line-height:1.25;
text-shadow:0px 0px 5px #000000,0px 0px 5px #000000;
}
#ttlTxt {
position:absolute;
bottom:0;
left:0;
right:0;
}
#ttlInner h1 {
font-size:60px;
}
@media all and (-ms-high-contrast: none){
#ttlInner h1 {
transform:translateY(30px);
}
}
#ttlLead {
width: 100%;
max-width: 1040px;
padding:0 20px;
box-sizing:border-box;
margin: 0 auto;
height:140px;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,0);
}
#ttlLeadInner {
position:relative;
width:100%;
height:100%;
line-height:1.65;
}
#ttlLeadInner p {
font-size:18px;
position:absolute;
top:0;
left:0;
right:0;
}
@media all and (-ms-high-contrast: none){
#ttlLeadInner p { transform:translateY(30px); }
}

h1{ font-size: 5.2rem; line-height: 1.3; margin-bottom: 0;}
.h1{ font-size: 5.2rem; line-height: 1.3; margin-bottom: 0;}
.h4 {
text-decoration: underline;
text-decoration-thickness: 0.6em;
text-decoration-color: rgba(140, 197, 114, 0.5);
text-underline-offset: -0.1em;
text-decoration-skip-ink: none;
text-align: left;
 }



/*=============================================================
annai
=============================================================*/

.cl2 ul{
display: flex;
align-items: stretch;
flex-wrap:nowrap;
margin: 0 auto;
width: auto;
justify-content:center;
font-size: 1.6rem;
}
.cl2 li{
border: 2px solid #1D7337;
background-color: rgba(255, 255, 255, 0.8);
flex-grow: 1;
border-radius: 10px;
padding: 1em;
margin: 8px;
}
.cl2 dt{ font-size: 2rem; font-weight: 600;}
.cl2 dt.gr{color: #105224;}
.cl2 li.br{
border: 2px solid #695142;
color: #503023;
}
.annai ul {margin-left:1em; font-feature-settings: "palt";}
.annai .ul li {margin-bottom:0.5em;} 

/*=============================================================
repo
=============================================================*/
.repo {  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 0.9fr 1.1fr;
  gap: 0px 0px;
  grid-auto-flow: row;
  grid-template-areas:
    "repo01 repo01"
    "repo02 repo03";
}

.repo01 { grid-area: repo01; }

.repo02 {  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 0px 0px;
  grid-auto-flow: row;
  grid-template-areas:
    "repo02A"
    "repo02B";
  grid-area: repo02;
}

.repo02A { grid-area: repo02A; }

.repo02B { grid-area: repo02B; }

.repo03 { grid-area: repo03; }

.event table{
width: 100%;
border-collapse: collapse;
margin-top:30px;
table-layout: fixed;

}

.event table tr{
  border-bottom: solid 2px #B1CCF0;
}

.event table td:nth-of-type(2n) {
background: #EDF5EA;
border-left: solid 2px #B1CCF0;
border-right: solid 2px #B1CCF0;
}

.event table tr:last-child{
  border-bottom: none;
}

.event table th{
  position: relative;
  text-align: left;
  width: 14%;
  background-color: #D9E8FC;
  color: #3F190C;
  text-align: center;
  padding: 5px 0;
font-weight:normal;
}

.event table th:after{
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top:calc(50% - 10px);
  right:-10px;
  border-left: 10px solid #D9E8FC;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

.event table td{
  text-align: left;
  width: 40%;
  text-align: center;
  background-color: #F2F5FF;
  padding: 10px 0;
}

/*=============================================================
Smartphones
=============================================================*/

@media all and (-ms-high-contrast: none){
#ttlInner h1{
transform:translateY(10px);
}
}

@media only screen and (max-width:1024px), only screen and (max-device-width:1024px){
#ttlOuter{
position:relative;
}

#ttlOuter > picture {
width: 100%;
max-width: 336px; padding-top:50px;
display: block;
margin: 0 auto 50px;
}
. figure img {
width: 90px;
border-radius: 30px;
margin: 8px 0 5px 10px;
}
.cpMsg figure img {
width: 90px;
border-radius: 30px;
margin: 40px 0 5px 10px;
}
. figcaption{text-align: center;}

#ttl{
width:100%;
height:auto;
background:none;
border-radius:0px;
position:absolute;
bottom:50%;
left:0;
transform:translate(0,0);
}
#ttlInner::after{
display:none;
}
#ttlTxt{
padding:0px;
position:absolute;
bottom:0;
left:0;
right:0;
transform:translate(0,50%);
}
#ttlLead{
width:100%;
height:auto;
background:none;
border-radius:0px;
position:static;
transform:translate(0,0);
padding-top:10px;
}
br.dspspbr{display: none;}
.dsp-inlineBlock{ display:inline;}
.boxRound{max-width:82%;}
}

@media only screen and (max-width:767px){
.event{
  overflow-x: auto; 
  width: 550px;
}
.event table{  width: 1200px;}

@media only screen and (max-width:599px){
.boxContents{padding:60px 0;}
.boxRound{padding: 16px; width:96%;}

#ttlOuter{
}
#ttlOuter > picture {
padding-top:50px;
margin: auto;
max-width: 220px;
}
.h2{font-size: 22px;}
br.dspspbr{display: none;}
}

@media only screen and (max-width:425px){
#ttlOuter > picture {
width: 100%;
max-width: 300px; padding-top:20px;
display: block;
margin: 0 auto 20px;
}
.boxContents{padding:30px 16px 20px; }
h1{font-size:3.8rem;}
.h1{font-size:3.8rem;}
.h3{font-size:2rem;}
.textLL{ font-size:2rem;}
br.dspspbr{display: block;}
.boxRound{padding: 16px; max-width:100%; }
.nw, .annai{
padding-bottom: 20px;
padding-top: 20px;
}
}

.cl2 ul{ flex-wrap:wrap; }
.cl2 li{
padding:0.8rem;
margin:10px 8px 0;
width: 100%;
}
.repo {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto 1fr;
grid-template-areas:
"repo01"
"repo02"
"repo03"
"repo04";
}
.event{
  overflow-x: auto; 
  width: 360px;
}
.event table{  width: 700px;}
}

.btn{ max-width:18em;}


