@charset "utf-8";

/*=======================================================
	style
=======================================================*/
.wrap{
  background-color: #f3f3f3;
}
/* Custom cross-browser styles for keyboard :focus overrides defaults. */
a:focus{
  box-sizing: border-box;
  outline: 3px solid #00278c;
  outline-offset: 1px;
}
*:focus{
  box-sizing: border-box;
  outline: 3px solid #00278c;
  outline-offset: 1px;
}
/* Remove focus styles for non-keyboard :focus. */
a:focus:not(.focus-visible),
.ngk_link a:focus:not(.focus-visible){
  outline: 0 !important;
  box-shadow: none !important;
}
.global_header a{
  margin: 0 auto;
  padding: 20px 15px;
  display: inline-block;
  color: rgba(255, 255, 255, 0.473);
}
.global_header a:hover{
  color: #fff;
  text-decoration: none;
}
.header_wrap{
  margin: 0 0 0;
  padding: 0 0 40px;
  background-color: #03818d;
  background: -webkit-linear-gradient(top,  #03818d 65%,#239da4 100%); 
  background: linear-gradient(to bottom,  #03818d 65%,#239da4 100%);
  position: relative;
}
.header_wrap:after{
  content: ' ';
  position: absolute;
  margin: 0 auto;
  width: 100%;
  bottom:-5%;
  height: 300px;
  background: url(../img/header_bg-2.png) no-repeat center bottom;
  background-size: 1254px auto;
}
.header{
  color: #fff;
  text-align: center;
}
.header h1{
  color: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 3.4rem;
  font-weight: normal;
}
.date{
  margin: 10px 0 0;
  font-size: 1.3rem;
}


/*---------------------------------------------
	基本構成
---------------------------------------------*/
.main_cont{
  margin: 0 0 25px;
}
.main{
  box-sizing: border-box;
}
.ttl_lv0{
  margin: 0 0 15px;
  background: url(../img/ttl_lv0_bg.svg) no-repeat center 0.2em;
  background-size: 155px 38px;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  line-height: 40px;
}
.ttl_lv2{
  margin: 70px 0 10px;
  padding: 15px;
  color: #333;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 2.8rem;
  font-weight: normal;
  text-align: center;
  background-color: rgb(63, 63, 63);
  color: #fff;
}
.ttl_lv3{
  margin: 30px 0 2px;
  padding: 10px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 2.4rem;
  font-weight: normal;
  line-height: 1.5;
}
.ttl_lv4{
  margin: 10px 0 5px;
  font-size: 1.7rem;
}
.sub_ttl{
  margin: 50px 0 20px;
  text-align: center;
}

.memo_intro_cont_wrap{
  padding: 30px 0 60px;
  background: url(../img/bg.png) repeat top left;
}
.memo_intro_cont{
  box-sizing: border-box;
}

.lead_ttl{
  margin: 0 0 10px;
  font-family: 'M PLUS 1p', sans-serif;
  font-size: 1.8rem;
  text-align: center;
}
.about{
  font-size: 1.2rem;
  text-align: center;
}
.lead{
  margin: 25px 0 0;
  font-size: 1.6rem;
  line-height: 1.8;
}
.art_info_cont{
  margin: 30px 0 0;
  padding: 25px 35px;
  border: 1px solid #ebebeb;
  background-color: #fff;
}
.art_info_cont .link_arrow::before{
  content: ' ';
  margin: 0 4px 0 0;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 7px;
  height: 18px;
  background: url(../img/arrow.svg) no-repeat left 0.4em;
  background-size: 100% auto;
}
.nav_cont{
  padding: 30px 50px;
  background-color: #fff;
}
.anchor_list a{
  padding-left: 25px;
  display: block;
  position: relative;
}
.anchor_list a:before{
  content: ' ';
  margin: auto 0;
  background: url(../img/anchor_arrow.svg) no-repeat left center;
  background-size: 100% auto;
  width: 13px;
  height: 23px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}
.anchor{
  margin: 30px 0 30px;
}
.anchor_ttl{
  margin: 0 0 15px;
  text-align: center;
}
.art_info_cont_ttl{
  margin: 0 0 10px;
}
.anchor ol{
  margin: 0;
}
.anchor ol li{
  margin: 5px 0;
  padding: 5px 0;
  border-bottom: 1px dotted #333;
  font-size: 1.65rem;
  line-height: 1.5;
}
.basic_section p{
  margin: 10px 0 0;
  font-size: 1.65rem;
  line-height: 1.9;
}

.cookie_cont{
  padding: 35px;
  background-color: #efefef;
  line-height: 1.7;
}
.ttl_cookie{
  margin: 0 0 10px;
  text-align: center;
}

.box{
  margin: 0 0 30px;
  padding: 50px 60px;
  background-color: #fff;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
}
.box .link{
  padding: 0 0 0 40px;
  display: block;
  position: relative;
}
.link:hover{
  opacity: 0.8;
}
.link .ttl_lv3{
  margin: 0;
  padding: 0;
  position: relative;
}
.link:before{
  content: ' ';
  margin: 0 5px 0 0;
  display: block;
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 30px;
  height: 30px;
  background: url(../img/sitettl_arrow.svg) no-repeat left center;
  background-size: 100% auto;
}

.info_list .ttl_lv4:before{
  content: ' ';
  margin: 0 4px 0 0;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 7px;
  height: 18px;
  background: url(../img/arrow.svg) no-repeat left 0.4em;
  background-size: 100% auto;
}
.note_cont .link_arrow:before{
  margin: 0 3px 0 0;
  top: 0;
  background: url(../img/arrow.svg) no-repeat left 0.4em;
}
.basic_section .link .link_ttl{
  margin: 0;
  font-size: 1.6rem;
  vertical-align: middle;
  line-height: 1.4;
}
.outsite{
  vertical-align: middle;
}
.outsite_ico{
  margin: 0 0 0 5px;
  vertical-align: middle;
}
.outsite_ico img{
  margin: 0 0 3px;
  vertical-align: middle;
}
.note_cont{
  margin: 30px -55px 0 ;
  padding: 15px 55px 0;
  border-top: 1px solid #ddd;
}
.note_cont .note_ttl{
  margin: 0 3px 0 0;
  padding: 0 8px;
  display: inline-block;
  border: 1px solid #ccc;
  color: #06c;
  font-size: 0.9em;
  vertical-align: middle;
  line-height: 1.6;
}
.note_cont p{
  font-size: 1.5rem;
  line-height: 1.5;
}
.note_details{
  margin: -10px 0 40px;
}
.note_details p{
  font-size: 1.4rem;
  line-height: 1.6;
}
.info_list_wrap{
  margin: 40px 0 0;
  padding: 0;
}
.info_list_ttl{
  margin-top: 0;
  position: relative;
  text-align: center;
}
.info_list_ttl span{
  padding: 10px;
  display: inline-block;
  position: relative;
  z-index: 10;
  background-color: #fff;
  font-size: 1.5rem;
}
.info_list_ttl:after{
  content: '';
  margin: auto 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  border-top: 1px dotted #333;
}
.info_list{
  position: relative;
}
.info_list li{
  margin: 0 0 15px;
  padding: 0;
}
.info_list li p{
  line-height: 1.5;
  vertical-align: middle;
}
.info_list li .ttl_lv4{
  margin: 0;
  padding-left: 15px;
  font-size: 1.6rem;
  position: relative;
}
.info_list li .link_ttl{
  margin: 0;
  padding-left: 15px;
  font-size: 1.5rem;
}
.info_list li .link_info_text{
  margin: 0 0 5px;
  font-size: 1em;
}
.box .note_cont_ttl{
  margin: 10px 0 -10px;
  padding: 2px 12px 2px 10px;
  display: inline-block;
  background-color: #f1f1f1;
  border-left: 5px solid #7ed2d1;
  font-size: 1.3rem;
}
.note_cont .link_info_text{
  margin: 15px 0 -10px;
  font-size: 1em;
}
.link_arrow.outsite + .link_arrow.outsite{
  margin-top: 0;
}
.ending{
  font-size: 1.4rem;
}



/* ===========================================
	MediaQueries
=========================================== */
/* PC----------------------------- */
@media screen and (min-width: 768px){
   .header_wrap{
    height: 400px;
  }
  .header{
    margin: 0 auto;
    padding: 50px;
    width: 800px;
  }
  .memo_intro_cont{
    margin: 0 auto 0;
    padding: 50px 0 0;
    width: 900px;
  }
  .main{
    margin: 0 auto 0;
    padding: 30px 0;
    box-sizing: border-box;
    width: 900px;
  }
  .ending{
    margin: 0 auto;
    width: 900px;
  }
  .site_info{
    margin-top: 70px;
  }
}
@media screen and (min-width: 1300px){

}
@media screen and (max-width: 1024px) and (orientation: portrait){
  /* ipad 縦 */
}
/* スマホ----------------------------- */
@media screen and (max-width: 767px){
  .global_header a{
    padding: 0 15px;
  }
  .header_wrap{
    padding: 5% 0 25%;
  }
  .header{
    padding: 20px ;
  }
  .header_wrap:after{
    padding: 30% 0;
    width: 100%;
    height: 0;
    background: url(../img/s/header_bg.png) no-repeat 30% bottom;
    background-size: 130% auto;
  }
  .date{
    margin: 10px 0 0;
    font-size: 1.3rem;
  }
  .header h1{
    font-size: 2.3rem;
  }
  .art_info_cont .link_arrow::before{
    top: 1px;
  }
  .memo_intro_cont_wrap{
    padding: 30px 0 20px;
  }
  .memo_intro_cont{
    padding: 15px;
  }
  .nav_cont{
    padding: 10px 25px 30px;
  }
  .lead{
    font-size: 1.4rem;
  }
  .art_info_cont p{
    font-size: 1.4rem;
  }
  .main{
    margin: 15px 10px 0;
  }
  .box{
    margin: 0 0 10px;
    padding: 25px 25px 20px;
  }
  .basic_section p{
    margin: 10px 0 5px;
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .anchor ol li{
    font-size: 1.5rem;
  }
  .ttl_lv2{
    margin: 70px 0 10px;
    font-size: 2.0rem;
    line-height: 1.4;
  }
  .link .ttl_lv3{
    margin: 0 0 5px;
    font-size: 2.2rem;
    line-height: 1.3;
  }
  .link:before{
    width: 24px;
    height: 24px;
    top: 0.2em;
  }
  .box .link{
    margin-left: -5px;
    padding: 0 0 7px 30px;
  }
  .basic_section .link .link_ttl{
    font-size: 1.4rem;
  }
  .basic_section .link .link_ttl .outsite_ico img{
    margin-bottom: 5px;
  }
  .note_cont{
    margin: 20px 0 0 ;
    padding: 10px 0 0;
  }
  .note_cont p{
    margin-bottom: 8px;
    line-height: 1.4;
    font-size: 1.5rem;
  }
  .info_list_wrap{
    margin: 30px 0 0;
  }
  .info_list_ttl span{
    padding: 5px;
    font-size: 1.3rem;
  }
  .box .note_cont_ttl{
    font-size: 1.3rem;
  }
  .note_details{
    margin: 20px 10px 40px;
  }
  .note_details p{
    font-size: 1.4rem;
  }
  .ending{
    padding: 15px;
  }
  .site_info{

    display: flex;
    justify-content: center;
  }
}