@charset "UTF-8";
/* CSS Document */

/***
* common_sp.css
*/

@media only print, only screen and (min-width: 18.75em){
	
.tab,
.pc,
.pc_tab{
	display:none;
}

.sp{
	display:block;
}

.hover:hover{
	opacity:1;
	filter:alpha(opacity=100);
}

.hyphen{
  position: relative;
  top: -0.5vw;
}

a{
  color: #000;
  transition-duration: 0.5s;
}

.btn{
  padding: 1px 10px 2px;
  color: #000;
  border: 1px solid #000;
  font-size: 15px;
  display: inline-block;
  border-radius: 50px;
}

.jp{
  font-family: 'NeueHaasGroteskText W01', a-otf-gothic-bbb-pr6n, sans-serif;
  font-feature-settings: "palt" 1;
}

/***
* layout
*/

#wrapper{
  opacity: 0;
}

/* header */

#header{
  width: 100%;
  position: fixed;
  top: 0;
  font-size: 11px;
  line-height: 1.8;
  z-index: 3333;
}

/*
.mainVisualArea a{
  color: #fff;
}
*/

#logo{
  width: 107px;
  position: relative;
  top: 20px;
  left: 20px;
  transition-duration: 0.5s;
}

#logo.open{
  transform: translateX(-300px);
  transition-duration: 0.5s;
}

#logoSvg,
#logoSvgWh{
  position: absolute;
}

.mainVisualArea #logoSvg{
  visibility: hidden;
  opacity: 0;
  transition-duration: 0.5s;
}

#logoSvgWh{
  visibility: hidden;
  opacity: 0;
  transition-duration: 0.5s;
}

.mainVisualArea #logoSvgWh{
  visibility: visible;
  opacity: 1;
  transition-duration: 0.5s;
}

.mainVisualArea nav #logoSvg{
  visibility: visible;
  opacity: 1;
  transition-duration: 0.5s;
}

.mainVisualArea nav #logoSvgWh{
  visibility: hidden;
  opacity: 0;
  transition-duration: 0.5s;
}

.dark #logoSvg{
  visibility: hidden;
  opacity: 0;
  transition-duration: 0.5s;
}

.dark #logoSvgWh{
  visibility: visible;
  opacity: 1;
  transition-duration: 0.5s;
}

#nav{
  display: none;
}

#navMain{
  position: absolute;
  top: 19px;
  left: 232px;
}

#navSub{
  position: absolute;
  top: 19px;
  right: 26px;
}

#navSub li{
  margin-left: 16px;
  display: inline-block;
}

/* footer */

#footer{
  width: 100%;
  padding: 0 0 50px;
  position: relative;
  bottom: 0;
  border-top: 1px solid #000;
  font-size: 13px;
  line-height: 1.923;
}

#btnPageTop{
  position: absolute;
  bottom: 12px;
  left: 20px;
}

#footerCopy{
  position: absolute;
  bottom: 12px;
  right: 20px;
}

#headerNavMain,
#footerNavMain{
  margin: 70px 0 0 20px;
}

#headerNavMain ul,
#footerNavMain ul{
  margin-bottom: 30px;
}

#btnAppSp{
  line-height: 3;
}

#btnAppSp span{
  width: calc(100% - 20px);
  border-bottom: 1px solid #000;
  position: relative;
  display: block;
}

#btnAppSp span::after{
  content: '→';
  position: absolute;
  top: 0;
  right: 0;
}

.dark #footer{
  border-top: 1px solid #fff;
}

.dark #btnAppSp span{
  border-bottom: 1px solid #fff;
}

/* main */

#main{
  padding: 70px 20px 100px;
}

#newsThumb{
  width: 100%;
  overflow: hidden;
  border-top: 1px solid #000;
  padding-top: 7px;
}

#newsThumb ul{
  width: calc(100% + 10px);
  margin-bottom: 80px;
}

#newsThumb li{
  width: calc(100% / 2 - 10px);
  float: left;
  margin: 0 10px 46px 0;
  font-size: 12px;
  line-height: 1.333;
}

.listImg{
  margin-bottom: 18px;
  display: block;
  position: relative;
  overflow: hidden;
}

.listImg img{
  width: 100%;
  height: 30vw;
  object-fit: cover;
  display: block;
}

#newsThumb li a img{
  transform: scale(1);
  transition-duration: 0.5s;
}

#newsThumb li:hover a img{
  transform: scale(1.1);
  transition-duration: 0.5s;
}

#news p span{
  display: block;
}

.newsDate,
.newsTtl{
  float: none;
}

.newsDate{
  margin-right: 40px;
}

.newsTtl{
  height: 44px;
}

#pager{
  font-size: 13px;
  text-align: center;
}

#divider{
  width: 1px;
  height: 10px;
  background: #000;
  margin: 0 20px;
  display: inline-block;
}

#pagerCounter{
  margin-left: 40px;
}

/* article */

#article{
  width: 100%;
  float: none;
}

section{
  padding: 30px 0 60px;
  border-top: 1px solid #000;
}

.sectionInner{
  width: 100%;
}

#article .date{
  margin-bottom: 40px;
  font-size: 11px;
}

#article h2{
  font-family: 'Neue Haas Unica W01 Bold', Helvetica, sans-serif;
  margin-bottom: 26px;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: -0.025em;
}

#article p{
  margin-bottom: 40px;
  font-family: yu-gothic-pr6n, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: subpixel-antialiased;
  font-size: 11px;
  line-height: 2;
}

#article strong{
  font-size: 16px;
  line-height: 1.5;
}

#article p.infomarion{
  padding-left: 22px;
  position: relative;
}

#article p.infomarion::before{
  content:'◯'; 
  position: absolute;
  left: 0;
}

#article img{
  margin-bottom: 20px;
}

#article .port{
  width: 80%;
}

#btnLink{
  width: 100%;
  margin-bottom: 140px;
}

#btnLink ul{
  text-align: center;
}

#btnLink li{
  display: inline-block;
  margin-right: 2px;
}

#btnLink .btn{
  font-size: 20px;
  border-radius: 0;
  padding: 2px 4px 0;
}

#btnBackList{
  width: 100%;
  font-size: 20px;
  text-align: center;
  display: block;
}

#mainContentsTtl{
  margin-bottom: 40px;
}

.sub #article{
  border-top: 1px solid #000;
  padding-top: 20px;
}

#article h2#articleTtl{
  font-size: 17px;
  font-family:'Neue Haas Unica W01 Regular';
  margin-bottom: 10px;
}

#article h3#articleSub{
  font-size: 14px;
  font-family:'Neue Haas Unica W01 Regular';
  margin-bottom: 10px;
}

.sub #article p{
  width: 100%;
  margin-bottom: 20px;
}

.sub #article h4{
  margin-bottom: 20px;
  font-size: 15px;
  font-family:'Neue Haas Unica W01 Regular';
}

#links{
  width: 100%;
  margin-top: 80px;
  text-align: center;
}

#links li{
  display: inline-block;
}

.sub #article .btn{
  padding: 2px 4px 0px;
  border-radius: 0;
  font-family:'Neue Haas Unica W01 Regular';
}


/* swiper */

.swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction{
  bottom: 30px;
}

.swiper-pagination-bullet{
  width: 4px;
  height: 4px;
  background: transparent;
  border: 1px solid #fff;
  border-radius: 0 !important;
  opacity: 1;
}

.swiper-pagination-bullet-active{
  background: #fff !important;
}

}