

body{
	background-color: #f5f5eb;
	color: #003755;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	line-height: 2;
	letter-spacing: 0.1rem
}

a{
	color: #003755;
}

ul{
	margin: 0;
	padding: 0;
}
li{
	list-style: none;
}

h2 {
    font-size: 0;
    margin: 0;
}

.pc-elm{ display: block; }
.sp-elm{ display: none; }


.fadein_item{
	opacity: 0;
	transform:translateY(20vh);
	transition: all 1.0s ease;

}

.fadein_item.show{
	opacity: 1;
	transform:translateY(0);
}

section{
	position: relative;
}

#container{
	opacity: 0;
	transition: all .5s linear;
	padding-top:110px;
}

#container.show{
	opacity: 1;
}

#topics{
	clear:both;
	justify-content: center;
	align-items: center;
}

#topics .title{
	width: 85vh;
	margin-top: -3vh;
}

#topics .title h1 {
	opacity: 0;
	transition: all .5s linear;
}

#topics .title h1.show {
	opacity: 1;
}

#topics .title h2 {
    width: 67%;
    font-size: 0;
    margin: 0 auto;
    margin-bottom: 7vh;
}

#topics .title img{
	width: 100%;
	height: auto;
}



section .inner{
	width: 615px;
	margin: 0 auto;
}

#sec01{
	margin-top: 10vh;
	margin-bottom: 16vh;
}

#sec01 h2{
	margin: 0;
	font-size: 0;
	margin-bottom: 6vh;
}

#sec01 h2 img{
	width: 100%;
	height: auto;
}


#sec01 .bar{
	width: 2px;
	height: 70px;
	font-size: 0;
	background-color: #003755;
	margin: 0 auto;
	margin-bottom: 10vh;
}

#sec01 p.body{
	font-size: 22px;
	margin-bottom: 60px;
}

.btn_anchor{
	position: fixed;
	bottom: 20px;
	right: 20px;
}

#sec02{
	margin-bottom: 16vh;
}

#sec02 h2{
	margin-bottom: 8vh;
}

#sec02 ul.logos{
	display: flex;
    flex-wrap: wrap;
}

#sec02 {
    margin-bottom: 10vh;
}

#sec02 ul.logos li{
	margin-bottom: 3vh;
	margin-right: 60px;
}

#sec02 ul.logos li:nth-of-type(3n){
	margin-right: 0;
}


#sec03{
	margin-bottom: 16vh;
}

#sec03 h2{
	margin-bottom: 4vh;
}

#sec03 p.body{
	font-size: 22px;
	margin-bottom: 60px;
}

#sec03 .form{
	font-size: 22px;
	margin: 16vh auto;
	text-align: center;
}

#sec04{
	margin-bottom: 16vh;
}
#sec04 h2{
	margin-bottom: 4vh;
}
#sec04 ul{
	display: flex;
	justify-content: space-between;
}

#sec04 .logo{
	text-align: center;
}

#sec04 p{
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	width: 458px;
	margin: 0 auto;
}

p.inquiry{
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	text-align: center;
	font-size: 18px;
	margin-bottom: 4vh;
}


.page_top {
    display: block;
    text-align: center;
    margin-bottom: 5vh;
}

footer{
	text-align: center;
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 10px;
    padding-bottom: 5vh;
    font-weight: bold;
}


a img {
	transition: all .3s linear;
}

a img:hover {
	opacity: .6;
}


@keyframes pathmove{
  0%{
  	transform: scaleY(0);
  }
  40%{
  	transform: scaleY(100%);
  }
  80%{
  	transform: translate(0, 100px);
  }
  100%{
  	transform: translate(0, 100px);
  }
}

#complete{
	margin-bottom: 5vh;
}

#complete .title{
	margin-top: 10vh;
	margin-bottom: 5vh;
}

#complete .title img{
	width: 100%;
	height: auto;
}

#complete h2 {
    font-size: 48px;
    margin: 0;
    font-weight: bold;
    text-align: center;
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	letter-spacing: 1.0rem;
	margin-bottom: 5vh;
}

#complete p {
	text-align: center;
	font-size: 22px;
}

#taiken{
	background-color: #FFF;
	padding: 40px;
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	text-align: center;
	margin: 60px auto;
	max-width: 1200px;
}

#taiken h3{
	margin: 0;
	padding: 0;
	font-size: 40px;
	line-height: 1;
	margin-bottom: 20px;
}

#taiken h4{
	margin: 0;
	padding: 0;
	font-size: 24px;
	line-height: 1;
	margin-bottom: 20px;
}

#taiken p.body {
    font-size: 15px;
    margin-bottom: 20px;
    text-align: left;
}

#taiken p.outline {
    font-size: 16px;
    margin-bottom: 20px;
    text-align: left;
}

#taiken p.outline .notes {
    font-size: 13px;
    font-weight: normal;
}

#taiken p.outline span {
    font-size: 14px;
    font-weight: bold;
}

#taiken .acc_btn{
	position: relative;
	background-color: #b3292c;
	line-height: 1;
	color: #FFF;
	font-size: 20px;
	padding: 20px 0;
	cursor: pointer;
	transition: all .3s linear;
}

#taiken .acc_btn:after{
	content: '';
	width: 20px;
	height: 2px;
	background-color: #FFF;
	position: absolute;
	right: 20px;
	top: 30px;
}

#taiken .acc_btn:before{
	content: '';
	width: 20px;
	height: 2px;
	background-color: #FFF;
	position: absolute;
	right: 20px;
	top: 30px;
	transform: rotate(270deg);
	transition: all .3s linear;
}

#taiken .acc_btn.open:before{
	transform: rotate(0);
}

#taiken .acc_btn:hover{
	opacity: .6;
}

#taiken .acc {
    text-align: left;
    max-height: 0;
    overflow: hidden;
	transition: all .5s linear;
}

#taiken .acc.show {
    max-height: 400vh;
}

#taiken .acc p.date{
	font-weight: bold;
	margin-top: 20px;
}

#taiken .acc dl {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0;
    font-size: 14px;
}

#taiken .acc dt {
  width: 15%;
  margin: 0;
}

#taiken .acc dd {
  width: 85%;
  margin: 0;
}







/* SP */
@media screen and (max-width: 767px) {
	#container{
		padding-top:60px;
	}

	img{
		width: 100%;
		height: auto;
	}

	#topics .title {
	    width: 82%;
	}

.pc-elm{ display: none; }
.sp-elm{ display: block; }

.btn_anchor {
    width: 100px;
}

section .inner {
    width: 82%;
    margin: 0 auto;
}

#sec01 p.body {
    font-size: 11px;
    margin-bottom: 30px;
    letter-spacing: .09rem;
}

#sec01 .bar {
    height: 33px;
    margin-bottom: 5vh;
}

#sec01 h2 {
    margin-bottom: 3vh;
}
#sec01 .img01{
	width: 64%;
}

#sec02 ul.logos{
	display: flex;
    flex-wrap: wrap;
}

#sec02 ul.logos li {
    width: 28%;
    margin-right: 8%;
}


#sec03 p.body {
    font-size: 11px;
    margin-bottom: 30px;
    letter-spacing: .09rem;
}

#sec03 p.body a{
    font-size: 13px;
}

#sec04 h2 {
    width: 15%;
}

#sec04 li {
    list-style: none;
    width: 30%;
}

.page_top {
    width: 20%;
    margin: 0 auto;
    margin-bottom: 5vh;
}

#complete .title {
    width: 80%;
    margin: 0 auto;
    margin-top: 15vh;
    margin-bottom: 3vh;
}

#complete h2 {
    font-size: 24px;
    letter-spacing: 0.5rem;
    margin-bottom: 3vh;
}

#complete p {
    text-align: center;
    font-size: 11px;
}

#sec04 p {
    width: 100%;
    font-size: 11px;
}

p.inquiry{
	font-size: 14px;
	margin-bottom: 2vh;
}


footer {
    padding-bottom: 20vh;
}

#sec04 .logo{
	width: 60%;
	margin: 0 auto;
}

#taiken {
    padding: 20px;
    margin-bottom: 30px;
}

#taiken h3 {
    font-size: 30px;
    margin-bottom: 10px;
}

#taiken h4 {
    font-size: 20px;
    line-height: 1.2;
    margin-bottom: 10px;
}

#taiken p.body {
    font-size: 11px;
    margin-bottom: 10px;
}


#taiken p.outline {
    font-size: 11px;
    margin-bottom: 10px;
}

#taiken p.outline .notes {
    font-size: 11px;
}


#taiken p.outline span {
    font-size: 11px;
}

#taiken .acc_btn {
    font-size: 12px;
    padding: 20px 0;
}

#taiken .acc dl {
    font-size: 12px;
}

#taiken .acc dt {
  width: 20%;
  margin: 0;
}

#taiken .acc dd {
  width: 80%;
  margin: 0;
}

#taiken .acc_btn:after {
    content: '';
    width: 15px;
    height: 2px;
    background-color: #FFF;
    position: absolute;
    right: 10px;
    top: 25px;
}

#taiken .acc_btn:before {
    content: '';
    width: 15px;
    height: 2px;
    background-color: #FFF;
    position: absolute;
    right: 10px;
    top: 25px;
    transform: rotate(270deg);
    transition: all .3s linear;
}



}

/* SP */
@media screen and (max-width: 768px) {
}



.slick-slide iframe {
  position: relative;
  pointer-events: none;
  width: 100%; /* 任意の横幅を指定 */
  height: auto;
  aspect-ratio: 16/9;
}
.slick-slide figure {
  position: relative;
  height: 100%;
}
.slick-slide .slide-image {
  opacity: 0;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: all 0.8s ease;
}
.slick-slide .slide-image.show {
  opacity: 1;
}
.slick-slide .image-entity {
  width: 100%;
  height: auto;
  opacity: 0;
}
.slick-slide .loading {
  position: absolute;
  top: 44%;
  left: 0;
  width: 100%;
}
.slick-slide .slide-media {
  -webkit-animation: slideOut 0.4s cubic-bezier(0.4, 0.29, 0.01, 1);
          animation: slideOut 0.4s cubic-bezier(0.4, 0.29, 0.01, 1);
}
.slick-slide.slick-active {
  z-index: 1;
}
.slick-slide.slick-active .slide-media {
  -webkit-animation: slideIn 2.4s cubic-bezier(0.4, 0.29, 0.01, 1);
          animation: slideIn 2.4s cubic-bezier(0.4, 0.29, 0.01, 1);
}
.slick-slide.slick-active .caption {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.7s cubic-bezier(0.32, 0.34, 0, 1.62) 0.6s;
}

.caption {
  position: absolute;
  top: 44%;
  left: 5%;
  text-align: center;
  padding: 20px;
  border: 3px solid;
  color: #999;
  margin: 0;
  font-size: 40px;
  font-weight: bold;
  letter-spacing: 0.02em;
  opacity: 0;
  z-index: 1;
  transition: all 0.3s ease;
  transform: translateY(100px);
}

.slick-dots {
  text-align: center;
  padding-top: 15px;
}
.slick-dots li {
  display: inline-block;
  vertical-align: top;
  margin: 0 8px;
}
.slick-dots li button {
  width: 16px;
  height: 16px;
	font-size: 0;
	text-align: left;
	text-indent: -9999em;
	display: inline-block;
	overflow: hidden;
  border: none;
  cursor: pointer;
  border-radius: 50%;
  box-shadow: 0 0 0 0 transparent;
  vertical-align: middle;
  color: #999;
  background-color: #999;
  transition: all 0.3s ease;
  opacity: 0.4;
}
.slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover {
  opacity: 1;
}
.slick-dots li.slick-active button {
  border-color: #999;
  box-shadow: 0 0 0 2px #fff;
  opacity: 1;
}

.container {
  background-color: #f2f2f2;
  color: #444;
  line-height: 1.6;
  padding: 40px 0;
}
.container .content {
  width: 90%;
  max-width: 980px;
  margin: 0 auto;
}
.container p {
  margin-bottom: 40px;
}

@-webkit-keyframes slideIn {
  from {
    filter: blur(15px);
  }
  to {
    filter: blur(0);
  }
}

@keyframes slideIn {
  from {
    filter: blur(15px);
  }
  to {
    filter: blur(0);
  }
}
@-webkit-keyframes slideOut {
  from {
    filter: blur(0);
  }
  to {
    filter: blur(15px);
  }
}
@keyframes slideOut {
  from {
    filter: blur(0);
  }
  to {
    filter: blur(15px);
  }
}
