@charset "UTF-8";
*{
  box-sizing: border-box;
  margin : 0;
  padding: 0;
}
html{
  width : 100%;
  height: 100%;
  font-size: 62.5%;
  font-feature-settings: "palt";
  font-family: fot-tsukuardgothic-std,sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body{
  width : 100%;
  height: 100%;
  color : rgba(35, 24, 21, 1);
}
a{
  text-decoration: none;
  color : inherit;
}
a:hover{
  filter:alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}
.nowrap{
  white-space: nowrap;
}
img{
  max-width: 100%;
  vertical-align: top;
  image-rendering: -webkit-optimize-contrast;
}
img.fit{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
li{
  list-style-type : none;
}
h1{
  width : 100%;
  height: 100%;
  display:flex;
  align-items: center;
}
#wrap{
  width : 100%;
  height: 100%;
}
.inner{
  margin : auto;
  width : 100%;
  height: 100%;
  max-width : 1100px;
}
section .inner{
  padding: 2rem 1rem 0;
  display:flex;
  flex-wrap:wrap;
  gap : 1.5rem;
}
#top_pic{
  margin-top : 1rem;
  background-image : url(../img/pic_top2.webp);
  background-repeat : no-repeat;
  background-position : center center;
  background-size : cover;
}
#top_pic .inner{
  aspect-ratio: 16 / 7;
  position: relative;
}
#top_pic h3{
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display:flex;
  align-items: center;
  justify-content: center;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size : clamp(1.8rem, 1.8vw, 3rem);
  font-weight : 900;
  color : #ffffff;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.9);
}
@media screen and (max-width:980px){
  #top_pic .inner{
  padding:0;
  aspect-ratio: 3 / 2;
}
}
h4{
  position: relative;
  padding: .3em 0 .2em 1em;
  width : 100%;
  border-bottom : 3px solid #969696;
  font-size : clamp(1.8rem, 1.8vw, 2.2rem);
  font-weight : 700;
  line-height : 1.2;
  clear : both;
}
h4::before{
  position: absolute;
  top: 0;
  left: .3em;
  transform: rotate(55deg);
  height: 11px;
  width: 12px;
  background: #969696;
  content: '';
}
h4::after{
  position: absolute;
  transform: rotate(15deg);
  top: .6em;
  left: 0;
  height: 8px;
  width: 8px;
  background: #969696;
  content: '';
}
.txt_box img.left{
  width : 35%;
  max-width : 30rem;
  padding : 0 1.5rem 1.5rem 0;
  float : left;
}
.txt_box img.right{
  width : 35%;
  max-width : 30rem;
  padding : 0 0 1.5rem 1.5rem;
  float : right;
}
@media screen and (max-width:500px){
  .txt_box img.right{
  width : 100%;
  max-width : 100%;
  padding : 0 0 1.5rem 0;
}
}
.txt_box{
  width : 100%;
  padding : 0 1rem;
  font-size : 1.6rem;
  display:flex;
  flex-wrap:wrap;
  gap : .5rem;
}
.txt_box p{
  margin : 0;
}
.txt_box p span{
  font-weight : 700;
  padding : 1rem;
  display : block;
}
.txt_box p label{
  padding:2rem 0 0;
  font-weight : 700;
  display : block;
  text-align : right;
  letter-spacing : 0.5rem;
}
.txt_box p label ruby{
  font-size : 2rem;
}
.footer_inner{
  max-width : 100%;
  background-color : #f5e4f3;
  color : #a43c99;
}
.footer_inner2{
  max-width : 100%;
  background-color : #a43c99;
  color : #ffffff;
  text-align : center;
}
footer .inner{
  padding : 2rem;
}
.footer_inner .inner{
  height:25rem;
  max-width : 800px;
  background-image : url(../img/img_telp.webp);
  background-repeat : no-repeat;
  background-position : right center;
  background-size : contain;
  display:flex;
  flex-wrap:wrap;
  gap : 1rem;
  align-content: flex-end;
  justify-content: center;
}
h5{
  font-size : 1.6rem;
  line-height : 1.2;
  padding : 1rem 0;
}
.fot_log{
  max-width : 40rem;
}
.t_1{
  width : 100%;
  font-weight : 900;
  font-size : 2.4rem;
}
.t_2{
  width : 100%;
  font-weight : 700;
  font-size : 1.8rem;
}
.tel5{
  width : 100%;
  font-weight : 900;
  font-size : 3.6rem;
}
.tel5 i{
  padding:0 0 0 3.6rem;
  background-size: auto 3.4rem;
  background-position: left .5rem;
  background-image: url(../img/tel2.svg)!important;
}
.pan{
  padding : 0 1rem 1rem 0;
  font-size : 1.3rem;
  font-weight : 700;
  text-align : right;
  width : 100%;
}
.pan a{
  text-decoration : underline;
  color : #0080c0;
}
h6{
  font-size:1.6rem;
  padding : 0.5rem 3rem 0.5rem 1rem;
  color : #ffffff;
  background-color : #555555;
}
#main{
  padding-bottom:2rem;
}