/*--------------------------------------------------------------
#dialogue .hero
--------------------------------------------------------------*/
#dialogue.hero {
  position: relative;
  background-image: url(../img/hero_pc.webp);
  background-size: cover;
  background-position:  center;
  height: 80vh;
  background-repeat: no-repeat;
}

#dialogue.hero h1{
  color: #000;
  margin: 0 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  background-color:rgba(255, 255, 255, 0.7);
  padding:20px 20px;
  text-align:center;
  width: 60%;
    max-width: 480px;
    font-size:30px;
}


@media (max-width: 767px) {
#dialogue.hero {
  position: relative;
  background-image: url(../img/hero_sp.webp);
  background-size: cover;
  background-position: top center;
  height: 45vh;
  background-repeat: no-repeat;
}

#dialogue.hero h1{
  font-size:26px;
  padding:20px 10px;
}

}

@media (max-width: 375px) {
 #dialogue.hero h1{
  font-size:24px;
}
}

#dialogue.hero .block-breadcrumb {
    padding: 0.5em 0;
    font-size: 13px;
    color: #fff;
    position: absolute;
    top: 0 ;
    left: 0.3em;
    background-color: transparent;
    filter: drop-shadow(1px 2px 2px rgba(0, 0, 0, 0.9));
    width: 80%;
}

#dialogue.hero .block-breadcrumb a{
   color: #fff;
}

#dialogue.hero .block-breadcrumb a:hover{
  text-decoration:none;
}

@media (max-width: 1199px) {
   #dialogue.hero .block-breadcrumb--body {
        padding: 0 0 0 0;
    }
  #dialogue.hero .block-breadcrumb {
    font-size: 12px;
  }
}



/*--------------------------------------------------------------
article .contents
--------------------------------------------------------------*/
.contents{
  max-width:1200px;
  margin:0 auto;
  padding: 0 10px;
}


/*--------------------------------------------------------------
 lead
--------------------------------------------------------------*/
.lead {
  position: relative;
  padding: 30px 20px 0;
  max-width:980px;
  margin: 0 auto;
}

.lead p{
  margin-bottom: 20px;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 1.8;
}

@media screen and (min-width:768px) and ( max-width:1024px) {
.lead p{
  font-size: 1rem;
}
  }
@media (max-width: 767px) {
  .lead {
  padding: 30px 10px 0;
}

  .lead p{
    font-size: .925rem;
}
}

/*--------------------------------------------------------------
 interview
--------------------------------------------------------------*/
.interview {
  padding: 50px 0 50px;
  display: flex;
  width: 100%;
}
.interview .img{
  width: 30%;
  margin: 0 auto;
  padding: 0 20px;
  text-align:center;
}

.interview .img p{
  margin: 10px 0;
  font-size: .9rem;
}

.interview .text{
  width: 70%;
  padding: 0 20px;
}

.interview .text h2{
  text-align:center;
  font-weight:600;
}

.interview .text p{
  margin-bottom: 20px;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 1.8;
}

@media screen and (min-width:768px) and ( max-width:1024px) {
.interview .text p{
  font-size: 1rem;
}
.interview .img p{
  font-size: .8rem;
}
}

@media (max-width: 767px) {
.interview {
  display: block;
}
.interview .img{
  width: 100%;
  padding: 0 5%;
}
.interview .text{
  width: 100%;
  padding: 10px 5%;
}
.interview .text p{
    font-size: .95rem;
}

.interview .img p{
  font-size: .8rem;
}
}

/*--------------------------------------------------------------
 bg_section_1
--------------------------------------------------------------*/
.bg_section_1{
  position: relative;
  background-image: url(../img/bg_nou.webp);
  background-size: cover;
  background-position:  center;
  background-repeat: no-repeat;
  padding: 50vh 0;
}

.bg_section_1 .interview{
  display:flex;
}

.bg_section_1 .interview .space{
  width:40%;
}

.bg_section_1 .interview .text{
  width:60%;
  color: #fff;
}

.bg_section_1 .interview .text p{
  margin-bottom: 20px;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 1.8;
}

@media screen and (min-width:768px) and ( max-width:1024px) {
  .bg_section_1{
  padding: 15vh 0;
}
}

@media (max-width: 767px) {
  .bg_section_1{
  padding: 10vh 0;
}
}

/*--------------------------------------------------------------
 bg_section_2
--------------------------------------------------------------*/
.bg_section_2{
  position: relative;
  background-image: url(../img/bg_art.webp);
  background-size: cover;
  background-position:  top center;
  background-repeat: no-repeat;
  padding: 20vh 0;
}

.bg_section_2 .interview{
  display:flex;
  max-width:1200px;
  margin: auto;
  padding: 50px 10px 0;
}

.bg_section_2 .interview .space{
  width:50%;
}

.bg_section_2 .interview .text{
  width:50%;
  color: #000;
  background-color: rgba(255, 255, 255, 0.6);
  padding: 20px;
}

.bg_section_2 .interview .text p{
  margin-bottom: 20px;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 1.8;
}

@media screen and (min-width:768px) and ( max-width:1024px) {
  .bg_section_2{
  background-size: contain;
  padding: 30vh 0 0;
}

.bg_section_2 .interview .space{
  width:20%;
}

.bg_section_2 .interview .text{
  width:80%;
  background-color: rgba(255, 255, 255, 0.8);
}
}

@media (max-width: 767px) {

  .bg_section_2{
  background-size: contain;
  padding: 30vh 0 0;
}

.bg_section_2 .interview{
  margin: -10vh auto 0;
  flex-wrap:wrap;
  padding: 70px 10px 0;
}

.bg_section_2 .interview .space{
  width:100%;
}

.bg_section_2 .interview .text{
  width:100%;
  background-color: rgba(255, 255, 255, 0.7);

}

.bg_section_2 .interview .text p{
  margin-top: 0;
}

}


/*--------------------------------------------------------------
 lead_last
--------------------------------------------------------------*/
.lead_last{
  position: relative;
  background-image: url(../img/bg_dream.webp);
  background-size: cover;
  background-position:  center;
  background-repeat: no-repeat;
  padding: 40vh 0;
}

.lead_last h2{
  color: #000;
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  background-color:rgba(255, 255, 255, 0.6);
  padding:20px 0px;
  text-align:center;
  width: 60%;
  max-width: 520px;
  font-size:28px;
}


@media screen and (min-width:768px) and ( max-width:1024px) {
  .lead_last {
  padding: 20vh 0px ;
}

.lead_last h2{
  top: 80%;
  left: 50%;
  transform: translate(-50%, -80%);
  -webkit-transform: translate(-50%, -80%);
  -ms-transform: translate(-50%, -80%);
  padding:10px 0px;
  max-width: 440px;
  font-size:24px;
}
  }

@media (max-width: 767px) {
  .lead_last {
  padding: 25vh 0px ;
}

.lead_last h2{
  top: 80%;
  left: 50%;
  transform: translate(-50%, -80%);
  -webkit-transform: translate(-50%, -80%);
  -ms-transform: translate(-50%, -80%);
  padding:10px 0px;
  width: 90%;
  font-size:22px;
}
}

@media (max-width: 376px) {
  .lead_last h2{
    font-size:18px;
  }
}

/*--------------------------------------------------------------
ofder
--------------------------------------------------------------*/
.ofder0{
  order: 0;
}

.ofder1{
  order: 1;
}

/*--------------------------------------------------------------
link_area
--------------------------------------------------------------*/
.link_area {
  padding: 50px 10px;
  width: 100%;
  background-color: #d1b166;
}

.link_area h2{
  text-align:center;
}

.link_area h3.text-center{
  text-align:center;
}

.link_area ul.flex_box{
  max-width:900px;
  margin: 0px auto 0;
  padding: 10px 10px 0;
  display:flex;
  flex-wrap:wrap;
}

.link_area ul.flex_box li{
  text-align:center;
}

.link_area ul.flex_box li h4{
  font-size:16px;
  font-weight:600;
}

.link_area ul.flex_box li:nth-child(1),
.link_area ul.flex_box li:nth-child(2){
  width: calc( 100% / 2 );
  padding: 0 20px 20px;
}

.link_area ul.flex_box li:nth-child(3),
.link_area ul.flex_box li:nth-child(4),
.link_area ul.flex_box li:nth-child(5){
  width: calc( 100% / 3 );
  padding: 0 20px 20px;
}

@media (max-width: 640px) {
  .link_area ul.flex_box li:nth-child(1),
  .link_area ul.flex_box li:nth-child(2){
  width: calc( 100% / 2 );
  padding: 0 5px 20px;
}

.link_area ul.flex_box li:nth-child(3),
.link_area ul.flex_box li:nth-child(4),
.link_area ul.flex_box li:nth-child(5){
  width: calc( 100% / 3 );
  padding: 0 5px 20px;
}
}

.link_area .flex_box__btn_area{
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center; /** 真ん中寄せ **/
  margin-top: 20px;
  justify-content: center;
  flex-wrap: wrap;
}

.link_area .button_newspaper {
  position: relative;
  display: inline-block;
  padding: .5em 4em;
  margin: 0 5px 20px;
  color: #000;
  text-align: center;
  text-decoration: none;
  outline: none;
  overflow: hidden;
  transition: all .5s;
  min-width: 280px;

  min-height: 64px;
  display: -webkit-box;
  display: -ms-flexbox;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.link_area .flex_box__btn_area span{
  font-size: 12px;
}
.link_area .button_newspaper::before,
.link_area .button_newspaper::after {
  position: absolute;
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  transition: all .5s;
}
.link_area .button_newspaper::before {
  top: 0;
  left: 0;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
}
.link_area .button_newspaper::after {
  right: 0;
  bottom: 0;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
}
.link_area .button_newspaper:hover {
  background-color: rgba(255, 255, 255, .3);
  color: #000;
  font-weight: bold;
  transition: all .7s;
}
.link_area .button_newspaper:hover::before,
.link_area .button_newspaper:hover::after {
  width: 0;
  height: 0;
  opacity: 0;
  transition: all .7s;
}

@media (max-width: 580px) {
  .link_area {
  padding: 30px 0;
}
.link_area .flex_box__btn_area{
  padding: 0px 20px;
  display: block;
  text-align: center;
}
}

.flex_box__btn_area{
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center; /** 真ん中寄せ **/
  margin-top: 80px;
  justify-content: center;
  flex-wrap: wrap;
}

.button_newspaper {
  position: relative;
  display: inline-block;
  padding: .5em 4em;
  margin: 0 5px 20px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  outline: none;
  overflow: hidden;
  transition: all .5s;
  min-width: 280px;

  min-height: 64px;
  display: -webkit-box;
  display: -ms-flexbox;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.flex_box__btn_area span{
  font-size: 12px;
}
.button_newspaper::before,
.button_newspaper::after {
  position: absolute;
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  transition: all .5s;
}
.button_newspaper::before {
  top: 0;
  left: 0;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
}
.button_newspaper::after {
  right: 0;
  bottom: 0;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.button_newspaper:hover {
  background-color: rgba(255, 255, 255, .6);
  color: #000;
  font-weight: bold;
  transition: all .7s;
}
.button_newspaper:hover::before,
.button_newspaper:hover::after {
  width: 0;
  height: 0;
  opacity: 0;
  transition: all .7s;
}

@media (max-width: 580px) {
.flex_box__btn_area{
  display: block;
  text-align: center;
}
}

/*--------------------------------------------------------------
フェードインアニメーションの指定
--------------------------------------------------------------*/

.scrollanime {opacity: 0;} /*一瞬表示されるのを防ぐ*/
.fadeInDown {
    animation-name: fadeInDown;
    animation-duration: 5s;
    animation-fill-mode: forwards;
}
@keyframes fadeInDown {
    0% {
        opacity: 0;         
    }
    100% {
    opacity: 1;
    transform: translate(0);
    }
}
 
/*2.上下の動きを指定*/
.updown {transform: translateY(-100px);}
.downup {transform: translateY(100px);}
 
/*3.左右の動きを指定*/
.sect02{overflow: hidden;} /*横スクロールバーを隠す*/
.slide-right {transform: translateX(200px);}
.slide-left {transform: translateX(-200px);}
