/*--------------------
top.css
--------------------*/

.l-mv{
  padding:1.6rem 0;
  background: url("../images/top/mv-bg01_pc.jpg") center center no-repeat transparent;
  background-size: cover;
  min-height:70.0rem;
}
.l-mv-inner{
  max-width:150.0rem;
  width:100%;
  margin:0 auto;
}
.l-mv-table{
  width:100%;
  display:table;
  margin:0 auto;
}
.l-mv-table > div{
  display:table-cell;
  vertical-align: middle;
}
.l-mv-table-left{
  width:50%;
  text-align: center;
}
.l-mv-table-left picture{
  text-align: center;
}
.l-mv-table-left picture img{
  width:65.0rem;
  aspect-ratio: 325 / 334;
}
.l-mv-table-right{
  width:auto;
  text-align: left;
  padding-left:15.0rem;
}
.l-mv-table-right h2{
  color:#424242;
  text-align: left;
  
  font-size:clamp(17px, 3.5rem, 35px);
  font-weight:900;
  line-height:1.75;
  letter-spacing: 0.1em;
}
.l-mv-table-right p{
  padding-top:1.0rem;
  background: linear-gradient(90deg, #fc8014 0%, #f7ab0a 100%); 
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: left;
  
  font-size:clamp(10px, 2.1rem, 21px);
  font-weight:500;
  line-height:1.5;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767.5px) {  
  .l-mv{
    padding:4.5rem 3.0rem 9.0rem;    
    background: url("../images/top/mv-bg01_sp.jpg") left top no-repeat transparent;
    background-size: cover;
    min-height:70.0rem;
  }
  .l-mv-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-mv-table{
    width:100%;
    margin:0 auto;
    display:-webkit-box;
    display: -webkit-flex;
    display:-ms-flexbox;
    display: flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
  }
  .l-mv-table > div{
    width:100%;
    display:block;
  }
  .l-mv-table-left{
    width:100%;
    display:block;
    text-align: left;
    padding-top:0;
    -webkit-box-ordinal-group:1;
    -ms-flex-order:1;
    -webkit-order:1;
    order:1;
  }
  .l-mv-table-left h2{
    color:#222222;
    text-align: center;

    font-size:4.0rem;
    font-weight:900;
    line-height:2.0;
    letter-spacing: 0.05em;
  }
  .l-mv-table-left p{
    padding-top:1.0rem;
    color:#222222;
    text-align: center;

    font-size:2.5rem;
    font-weight:500;
    line-height:1.5;
    letter-spacing: 0.05em;
  }
  .l-mv-table-left picture{
    display:block;
    padding-top:0;
    padding-left:0;
    text-align: center;
  }
  .l-mv-table-left picture img{
    width:50.0rem;
    aspect-ratio: 325 / 334;
  }
  .l-mv-table-right{
    width:100%;
    display:block;
    padding-top:3.0rem;
    padding-left:0;
    text-align: center;
    -webkit-box-ordinal-group:2;
    -ms-flex-order:2;
    -webkit-order:2;
    order:2;
  }
  .l-mv-table-right h2 {
    color: #424242;
    text-align: left;
    
    font-size: 4.2rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-mv-table-right p {
    padding-top: 1.0rem;
    background: linear-gradient(90deg, #fc8014 0%, #f7ab0a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-align: left;
    
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}

.l-block01{
  padding:8.0rem 0 10.0rem; 
}
.l-block01-inner{
  max-width:114.0rem;
  width:100%;
  margin:0 auto;
}
.l-block01-table{
  width:100%;
  display:table;
  margin:0 auto;
}
.l-block01-table > div{
  display:table-cell;
  vertical-align: top;
}
.l-block01-table-left{
  width:24.0rem;
  padding-top:2.0rem;
  padding-right:4.0rem;
}
.l-block01-table-left > p{
  text-align: left;
  color:#222222;
  
  font-size:clamp(17px, 3.4rem, 34px);
  font-weight:800;
  line-height:1.17;
  letter-spacing: 0.05em;
}
.l-block01-table-left > h2{
  text-align: left;
  color:#222222;
  
  font-size:clamp(10px, 2.0rem, 20px);
  font-weight:400;
  line-height:2.0;
  letter-spacing: 0.05em;
}
.l-block01-table-left-btn{
  padding-top:5.0rem;
  text-align: left;
}
.l-block01-table-right{
  width:auto;
}
.l-block01-table-right-table{
  width:100%;
  display:table;
  border-bottom:1px solid rgba(220,221,221,0.5);
  padding: 2.5rem;
}
.l-block01-table-right-table-date,
.l-block01-table-right-table-category,
.l-block01-table-right-table-title {
  display:table-cell;
  vertical-align: top;
  text-align: left;
}
.l-block01-table-right-table-date{
  width:14.0rem;
  padding-left:2.2rem;
  color:#9e9e9e;
  font-size:clamp(10px, 1.6rem, 16px);
  font-weight:400;
  line-height:1.5;
  letter-spacing: 0.05em;
}
.l-block01-table-right-table-category{
  width:12.5rem;
  padding:0px 1rem;
}
.l-block01-table-right-table-category-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 4px;
}
.l-block01-table-right-table-category-list-item {
  display:inline-block;
  border-radius:1.5rem;
  background:#fff6eb;
  padding:0.3rem 1.5rem;
  text-align:center;
  color:#fc7e15;
  font-size:clamp(10px, 1.6rem, 16px);
  font-weight:400;
  line-height:1.33;
  letter-spacing: 0.05em;
}
.l-block01-table-right-table-title{
  padding-left:2.2rem;
  width:auto;
  color:#222222;
  
  font-size:clamp(10px, 1.6rem, 16px);
  font-weight:400;
  line-height:1.75;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767.5px) {
  .l-block01{
    padding:9.0rem 3.0rem; 
  }
  .l-block01-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-block01-table{
    width:100%;
    display:block;
    margin:0 auto;
  }
  .l-block01-table > div{
    width:100%;
    display:block;
    vertical-align: top;
  }
  .l-block01-table-left{
    width:100%;
    display:block;
    padding-top:0;
    padding-right:0;
    padding-bottom:4.0rem;
  }
  .l-block01-table-left > p{
    text-align: left;
    color:#222222;

    font-size:3.4rem;
    font-weight:900;
    line-height:1.5;
    letter-spacing: 0.05em;
  }
  .l-block01-table-left > h2{
    text-align: left;
    color:#222222;

    font-size:2.8rem;
    font-weight:900;
    line-height:1.5;
    letter-spacing: 0.05em;
  }
  .l-block01-table-left-btn{
    padding-top:5.0rem;
    text-align: center;
    display:block;
    width:40.0rem;
    margin:0 auto;
  }
  .l-block01-table-right{
    width:auto;
  }
  .l-block01-table-right-table{
    width:100%;
    display:block;
    border-bottom:1px solid rgba(220,221,221,0.5);
    display:inline-block;
    vertical-align: top;
    padding-top:2.5rem;
    padding-bottom:1.5rem;
    text-align: left;
  }
  .l-block01-table-right-table-date,
  .l-block01-table-right-table-category,
  .l-block01-table-right-table-title {
    display:table-cell;
    vertical-align: top;
    text-align: left;
  }
  .l-block01-table-right-table-date{
    width:20.0rem;
    padding-left:2.0rem;
    color:#9e9e9e;

    font-size:2.6rem;
    font-weight:400;
    line-height:1.5;
    letter-spacing: 0.05em;
  }
  .l-block01-table-right-table-category{
    width:auto;
  }
  .l-block01-table-right-table-category-list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 4px;

  }
  .l-block01-table-right-table-category-list-item {
    white-space:pre;
  }
  .l-block01-table-right-table-category-お知らせ{
    background:#fff6eb;
  }
  .l-block01-table-right-table-title{
    display:block !important;
    padding:0 2.0rem 2.5rem !important;
    width:auto;
    color:#222222;

    font-size:2.6rem;
    font-weight:400;
    line-height:1.75;
    letter-spacing: 0.05em;
  }
}

.l-block02{
  padding:9.0rem 0 5.5rem;
  background: url("../images/top/block02-bg01_pc.jpg") center center no-repeat transparent;
  background-size: cover;
}
.l-block02-inner{
  max-width:114.0rem;
  width:100%;
  margin:0 auto;
}
.l-block02-inner > p{
  text-align: left;
  color:#FFFFFF;
  
  font-size:3.4rem;
  font-weight:800;
  line-height:1.17;
  letter-spacing: 0.05em;
}
.l-block02-inner > h2{
  text-align: left;
  color: #FFFFFF;
  
  font-size: 2.0rem;
  font-weight: 400;
  line-height: 2.0;
  letter-spacing: 0.05em;
}
.l-block02-block01{
  padding:7.0rem 0;
  border-bottom:1px solid #fff6eb;
}
.l-block02-block01:last-of-type{
  border-bottom:none;
}
.l-block02-block01-table{
  width:100%;
  display:table;
}
.l-block02-block01-table > div{
  display:table-cell;
  vertical-align: top;
}
.l-block02-block01-left{
  width:22.5rem;
  text-align: left;
}
.l-block02-block01-left h3{
  padding-top:0.5rem;
  text-align: left;
  color: #FFFFFF;
  
  font-size: 2.0rem;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-block02-block01-left h3.type02{
  padding-top:1.2rem;
}
.l-block02-block01-right{
  width:auto;
  text-align: left;
}
.l-block02-block01-right p{
  background: url("../images/top/block02-icon01_pc.png") left center no-repeat transparent;
  background-size: 1.6rem auto;
  min-height:3.2rem;
  margin-top:3.4rem;
  padding-left:8.5rem;
  text-align: left;
  color: #FFFFFF;
  
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.005em;
}
.l-block02-block01-right p:first-of-type{
  margin-top:0;
}
.l-block02-block01-right p.type02{
  text-align: left;
  color: #FFFFFF;
  
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block02-block01-right p.row2{
  background: url("../images/top/block02-icon02_pc.png") left center no-repeat transparent;
  background-size: 2.6rem auto;
  min-height:7.0rem;
}

@media screen and (max-width: 767.5px) {
  .l-block02{
    padding:9.0rem 3.0rem;
    background: url("../images/top/block02-bg01_sp.jpg") center center no-repeat transparent;
    background-size: cover;
  }
  .l-block02-inner{
    max-width:114.0rem;
    width:100%;
    margin:0 auto;
  }
  .l-block02-inner > p{
    text-align: left;
    color:#FFFFFF;

    font-size:3.4rem;
    font-weight:800;
    line-height:1.17;
    letter-spacing: 0.05em;
  }
  .l-block02-inner > h2{
    text-align: left;
    color: #FFFFFF;

    font-size: 2.8rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0.05em;
  }
  .l-block02-block01{
    padding:7.0rem 0 2.0rem;
    border-bottom:1px solid #fff6eb;
  }
  .l-block02-block01:last-of-type{
    border-bottom:none;
  }
  .l-block02-block01-table{
    width:100%;
    display:table;
  }
  .l-block02-block01-table > div{
    display:table-cell;
    vertical-align: top;
  }
  .l-block02-block01-left{
    width:22.5rem;
    text-align: left;
  }
  .l-block02-block01-left h3{
    padding-top:0.5rem;
    text-align: left;
    color: #FFFFFF;

    font-size: 3.0rem;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .l-block02-block01-left h3.type02{
    padding-top:1.2rem;
  }
  .l-block02-block01-right{
    width:auto;
    text-align: left;
  }
  .l-block02-block01-right p{
    background: url("../images/top/block02-icon01_pc.png") left 2.0rem top 1.0rem no-repeat transparent;
    background-size: 1.6rem auto;
    min-height:3.2rem;
    margin-top:3.4rem;
    padding-left:8.5rem;
    text-align: left;
    color: #FFFFFF;

    font-size: 3.2rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.005em;
  }
  .l-block02-block01-right p:first-of-type{
    margin-top:0;
  }
  .l-block02-block01-right p.type02{
    text-align: left;
    color: #FFFFFF;

    font-size: 3.2rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block02-block01-right p.row2{
    background: url("../images/top/block02-icon02_pc.png") left 2.0rem top 1.0rem no-repeat transparent;
    background-size: 2.6rem auto;
    min-height:7.0rem;
  }
}

.l-block02-2{
  padding:9.0rem 0;
  background: url("../images/top/block02-bg02_pc.jpg") top center no-repeat transparent;
  background-size: 100% auto;
  min-height:102.8rem;
}
.l-block02-2-inner{
  max-width:114.0rem;
  width:100%;
  margin:0 auto;
}
.l-block02-2-inner > p{
  text-align: left;
  color:#FFFFFF;
  
  font-size:clamp(17px, 3.4rem, 34px);
  font-weight:800;
  line-height:1.17;
  letter-spacing: 0.05em;
}
.l-block02-2-inner > h2{
  text-align: left;
  color: #FFFFFF;
  
  font-size:clamp(10px, 2.0rem, 20px);
  font-weight: 400;
  line-height: 2.0;
  letter-spacing: 0.05em;
}
.l-block02-2-message{
  padding-top:3.5rem;
}
.l-block02-2-message p{
  text-align: center;
  color: #FFFFFF;
  
  font-size:clamp(10px, 1.6rem, 16px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block02-2-block{
  
}
.l-block02-2-block h3{
  padding-top:10.0rem;
  text-align: center;
  color: #FFFFFF;
  
  font-size:clamp(12px, 2.4rem, 24px);
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-block02-2-block h3:first-of-type{
  padding-top:13.0rem;
}
.l-block02-2-block p{
  padding-top:1.5rem;
  text-align: center;
  color: #FFFFFF;
  
  font-size:clamp(12px, 2.4rem, 24px);
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block02-2-block ul{
  
}
.l-block02-2-block ul li{
  text-align: center;
  color: #FFFFFF;
  
  font-size:clamp(10px, 2.0rem, 20px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 767.5px) {
  .l-block02-2{
    padding:9.0rem 3.0rem;
    background: url("../images/top/block02-bg02_sp.jpg") bottom center no-repeat transparent;
    background-size: 100% auto;
    min-height:128.6rem;
  }
  .l-block02-2-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-block02-2-inner > p{
    text-align: left;
    color:#FFFFFF;

    font-size:3.4rem;
    font-weight:800;
    line-height:1.17;
    letter-spacing: 0.05em;
  }
  .l-block02-2-inner > h2{
    text-align: left;
    color: #FFFFFF;

    font-size: 2.8rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0.05em;
  }
  .l-block02-2-message{
    padding-top:3.5rem;
  }
  .l-block02-2-message p{
    text-align: center;
    color: #FFFFFF;

    font-size: 2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block02-2-block{
    
  }
  .l-block02-2-block h3:first-of-type{
    padding-top:13.0rem;
  }
  .l-block02-2-block h3{
    padding-top:8.0rem;
    text-align: center;
    color: #FFFFFF;

    font-size: 3.0rem;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .l-block02-2-block p{
    padding-top:1.5rem;
    text-align: center;
    color: #FFFFFF;

    font-size: 3.0rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block02-2-block ul{

  }
  .l-block02-2-block ul li{
    text-align: center;
    color: #FFFFFF;

    font-size: 2.8rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
}

.l-block03{
  padding:12.5rem 0;
  background:#fff6eb;
}
.l-block03-inner{
  max-width:114.0rem;
  width:100%;
  margin:0 auto;
}
.l-block03-block{
  width:100%;
  display:table;
}
.l-block03-block > div{
  display:table-cell;
  vertical-align: top;
}
.l-block03-block-left{
  width:auto;
  text-align: left;
}
.l-block03-block-left > p{
  text-align: left;
  color: #222222;
  
  font-size:clamp(17px, 3.4rem, 34px);
  font-weight: 800;
  line-height: 1.17;
  letter-spacing: 0.05em;
}
.l-block03-block-left > h2{
  text-align: left;
  color: #222222;
  
  font-size:clamp(10px, 2.0rem, 20px);
  font-weight: 400;
  line-height: 2.0;
  letter-spacing: 0.05em;
}
.l-block03-block-right{
  width:20.0rem;
  text-align: right;
}

.l-block03-table02{
  width:100%;
  display:table;
  margin-top:6.0rem;
}
.l-block03-table02-list{
  width:35.0rem;
  display:table-cell;
  vertical-align: top;
}
.l-block03-table02-list:nth-of-type(1){
  padding-right:3.0rem;
}
.l-block03-table02-list:nth-of-type(2){
  padding-top:7.8rem;
  padding-left:1.5rem;
  padding-right:1.5rem;
}
.l-block03-table02-list:nth-of-type(3){
  padding-left:3.0rem;
}
.l-block03-table02-list-box{
  display:block; 
  background:#FFFFFF;
  background: url("../images/common/common-icon05_pc.png") right 3.0rem bottom 2.2rem no-repeat #FFFFFF;
  background-size: 10.2rem auto;
  min-height:1.4rem;
  border-radius:1.0rem;
  padding:4.0rem 5.0rem 4.5rem;
}
.l-block03-table02-list-box picture{
  display:block;
  text-align: center;
}
.l-block03-table02-list-box picture img{
  width:11.2rem;
  aspect-ratio: 28 / 27;
}
.l-block03-table02-list-box h3{
  padding-top:2.0rem;
  text-align: center;
  color: #fc7e15;
  
  font-size:clamp(10px, 2.0rem, 20px);
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block03-table02-list-box p{
  padding-top:1.0rem;
  text-align: left;
  color: #222222;
  
  font-size:clamp(10px, 1.6rem, 16px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  overflow: hidden;
}

.l-block03-table{
  width:100%;
  display:table;
  margin:5.5rem auto 0;
}
.l-block03-table-list{
  width:33.3%;
  display:table-cell;
  vertical-align: top;
}
.l-block03-table-list:nth-of-type(3n+1){
  padding-right:6.0rem;
}
.l-block03-table-list:nth-of-type(3n+2){
  padding-left:3.0rem;
  padding-right:3.0rem;
}
.l-block03-table-list:nth-of-type(3n){
  padding-left:6.0rem;
}
.l-block03-table-list.type02{
  padding-top:8.0rem;
}
.l-block03-table-list a{
  display:block;
  position:relative;
}
.l-block03-table-list a:hover{
  opacity:1.0;
}
.l-block03-table-list a picture{
  display:block;
  text-align: center;
  border:0.5rem solid transparent;
  transition: 0.3s;
  position:relative;
}
.l-block03-table-list a picture:after{
  content:"";
  display:none;
  position:absolute;
  z-index:2;
  top:0;
  left:0;
  background-color:rgba(227,197,166,0.65);
  width:31.1rem;
  height:33.8rem;
  transition: 0.3s;
}
.l-block03-table-list a:hover picture{
  border:0.5rem solid #284b7d;
}
.l-block03-table-list a:hover picture:after{
  display:inline-block;
}
.l-block03-table-list a picture img{
  width:35.0rem;
}
.l-block03-table-list a p{
  visibility:hidden;
  position:absolute;
  z-index:3;
  left:4.0rem;
  bottom:7.0rem;
  width:25.0rem;
  text-align: left;
  color: #284b7d;
  
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-block03-table-list a:hover p{
  visibility:visible;
}
.l-block03-table-list a h3{
  padding-top:0.5rem;
  text-align: left;
  color: #222222;
  
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-block03-table-list a:hover h3{
  color: #284b7d;
}

@media screen and (max-width: 767.5px) {
  .l-block03{
    padding:9.0rem 3.0rem 0;
  }
  .l-block03-inner{
    padding-bottom:9.0rem;
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-block03-block{
    width:100%;
    display:table;
  }
  .l-block03-block > div{
    display:table-cell;
    vertical-align: top;
  }
  .l-block03-block-left{
    width:auto;
    text-align: left;
  }
  .l-block03-block-left > p{
    text-align: left;
    color: #222222;

    font-size: 3.4rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .l-block03-block-left > h2{
    text-align: left;
    color: #222222;

    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .l-block03-block-right{
    padding-top:5.0rem;
    width:40.0rem;
    text-align: center;
    margin:0 auto;
  }
  .l-block03-block .l-block03-block-right{
   display:none !important;
  }

  .l-block03-table02{
    width:100%;
    display:block;
    margin-top:0;
  }
  .l-block03-table02-list{
    width:100%;
    display:block;
    vertical-align: top;
    padding-top:6.0rem;
  }
  .l-block03-table02-list:nth-of-type(1){
    padding-right:0;
  }
  .l-block03-table02-list:nth-of-type(2){
    padding-top:6.0rem;
    padding-left:0;
    padding-right:0;
  }
  .l-block03-table02-list:nth-of-type(3){
    padding-left:0;
  }
  .l-block03-table02-list-box{
    display:block; 
    background:#FFFFFF;
    background: url("../images/common/common-icon05_pc.png") right 3.0rem bottom 2.2rem no-repeat #FFFFFF;
    background-size: 16.0rem auto;
    min-height:2.2rem;
    border-radius:1.0rem;
    padding:6.0rem 6.0rem;
  }
  .l-block03-table02-list-box picture{
    display:block;
    text-align: center;
  }
  .l-block03-table02-list-box picture img{
    width:16.0rem;
    aspect-ratio: 28 / 27;
  }
  .l-block03-table02-list-box h3{
    padding-top:3.0rem;
    text-align: center;
    color: #fc7e15;

    font-size: 2.8rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block03-table02-list-box p{
    padding-top:2.0rem;
    text-align: left;
    color: #222222;

    font-size: 2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  
  
  
  .l-block03-table{
    width:100%;
    display:block;
    margin:1.5rem auto 0;
    text-align: left;
    font-size:0;
  }
  .l-block03-table-list{
    width:50%;
    display:inline-block;
    vertical-align: top;
    padding-top:4.0rem !important;
  }
  .l-block03-table-list:nth-of-type(3n+1){
    padding-right:0;
  }
  .l-block03-table-list:nth-of-type(3n+2){
    padding-left:0;
    padding-right:0;
  }
  .l-block03-table-list:nth-of-type(3n){
    padding-left:0;
  }
  .l-block03-table-list:nth-of-type(2n+1){
    padding-right:1.5rem;
  }
  .l-block03-table-list:nth-of-type(2n){
    padding-left:1.5rem;
  }
  .l-block03-table-list.type02{
    padding-top:0;
  }
  .l-block03-table-list a{
    display:block;
    position:relative;
  }
  .l-block03-table-list a:hover{
    opacity:1.0;
  }
  .l-block03-table-list a picture{
    display:block;
    text-align: center;
    border:0.5rem solid transparent;
    transition: 0.3s;
    position:relative;
  }
  .l-block03-table-list a picture:after{
    content:"";
    display:none;
    position:absolute;
    z-index:2;
    top:0;
    left:0;
    background-color:rgba(227,197,166,0.65);
    width:32.3rem;
    height:35.1rem;
    transition: 0.3s;
  }
  .l-block03-table-list a:hover picture{
    border:0.5rem solid #284b7d;
  }
  .l-block03-table-list a:hover picture:after{
    display:inline-block;
  }
  .l-block03-table-list a picture img{
    width:35.0rem;
    aspect-ratio: 35 / 38;
  }
  .l-block03-table-list a p{
    visibility:hidden;
    position:absolute;
    z-index:3;
    left:3.0rem;
    bottom:7.0rem;
    width:27.0rem;
    text-align: justify;
    color: #284b7d;

    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .l-block03-table-list a:hover p{
    visibility:visible;
  }
  .l-block03-table-list a h3{
    padding-top:0.5rem;
    text-align: left;
    color: #222222;

    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .l-block03-table-list a:hover h3{
    color: #284b7d;
  }
}

.l-block04{
  padding:12.0rem 0 17.0rem;
}
.l-block04-inner{
  max-width:114.0rem;
  width:100%;
  margin:0 auto;
}
.l-block04-table{
  width:100%;
  display:table;
}
.l-block04-table > div{
  display:table-cell;
  vertical-align: top;
}
.l-block04-table-left{
  width:auto;
  padding-right:6.5rem;
  text-align: left;
}
.l-block04-table-left-title{
  text-align: left;
  color: #222222;
  
  font-size:clamp(17px, 3.4rem, 34px);
  font-weight: 800;
  line-height: 1.17;
  letter-spacing: 0.05em;
}
.l-block04-table-left h2{
  text-align: left;
  color: #222222;
  
  font-size:clamp(10px, 2.0rem, 20px);
  font-weight: 400;
  line-height: 2.0;
  letter-spacing: 0.05em;
}
.l-block04-table-left-message{
  padding-top:3.5rem;
  text-align: justify;
  color: #222222;
  
  font-size:clamp(10px, 1.6rem, 16px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block04-table-left-btn{
  padding-top:9.0rem;
  display:inline-block;
  width:20.0rem;
  text-align:left;
}
.l-block04-table-right{
  width:55.0rem;
  text-align: right;
  padding-right:11.0rem;
}
.l-block04-table-right picture{
  text-align: left;
}
.l-block04-table-right picture img{
  width:33.6rem;
  aspect-ratio: 28 / 33;
}
@media screen and (max-width: 767.5px) {
  .l-block04{
    padding:9.0rem 3.0rem;
  }
  .l-block04-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-block04-table{
    width:100%;
    display:-webkit-box;
    display: -webkit-flex;
    display:-ms-flexbox;
    display: flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
  }
  .l-block04-table > div{
    width:100%;
    display:block;
    vertical-align: top;
    text-align: left;
  }
  .l-block04-table-left{
    width:100%;
    display:block;
    padding-top:4.0rem;
    padding-right:0;
    -webkit-box-ordinal-group:2;
    -ms-flex-order:2;
    -webkit-order:2;
    order:2;
  }
  .l-block04-table-left-title{
    text-align: left;
    color: #222222;

    font-size: 3.4rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .l-block04-table-left h2{
    text-align: left;
    color: #222222;

    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .l-block04-table-left-message{
    padding-top:5.0rem;
    text-align: justify;
    color: #222222;

    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block04-table-left-btn{
    padding-top:5.0rem;
    display:block;
    width:40.0rem;
    text-align:center;
    margin:0 auto;
  }
  .l-block04-table-right{
    width:100%;
    display:block;
    padding-top:0;
    padding-right:0;
    -webkit-box-ordinal-group:1;
    -ms-flex-order:1;
    -webkit-order:1;
    order:1;
  }
  .l-block04-table-right picture{
    display:block;
    text-align: center;
  }
  .l-block04-table-right picture img{
    width:40.0rem;
    aspect-ratio: 28 / 33;
  }
}



@media screen and (max-width: 767.5px) {
  
}



@media screen and (max-width: 767.5px) {
  
}









