@charset "utf-8";
@font-face {
	font-family: "NotoSerifJP";
	src: url("../../assets/fonts/NotoSerifJP-Regular.woff") format("woff");
}

/******************************/
/*common */
/******************************/
body, html {
	height: 100%;
}
body {
	font-family: "NotoSerifJP";
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	line-height: 1.7;
}

.l-contents {
	padding: 60px 0 120px;
}
@media only screen and (max-width: 768px) {
	.l-contents {
		padding: 60px 0 60px;
	}
}
.l-container {
    max-width: 850px;
    width: 100%;
    margin: auto;
}
@media only screen and (max-width: 850px) {
	.l-container {
		padding: 0 20px;
	}
}
.c-btn {
    text-align: center;
}
.c-btn a {
    display: inline-block;
    color:#fff;
	font-size: 2rem;
    padding: 10px 30px;
	min-width: 230px;
    border-radius:30px;
	background: #000000;
    border: 1px solid #000000;
}
@media only screen and (max-width: 768px) {
	.c-btn a {
		font-size: 1.8rem;
	}
}
.c-breadcrumb ul {
    font-size: 1.3rem;
	display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
}
.c-breadcrumb a {
    color: #000000;
    margin-right: 15px;
    position: relative;
    display: inline-block;
    padding-right: 15px;
}
.c-breadcrumb a:after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 1px #000000;
    border-right: solid 1px #000000;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}
.t_center {
	text-align: center;
}
.t_left {
	text-align: left;
}
.t_right {
	text-align: right;
}
.mb-40 {
	margin-bottom: 40px;
}
.mb-60 {
	margin-bottom: 60px;
}
.mt10 {
	margin-top: 10px;
}
.mt80 {
	margin-top: 80px;
}
img {
	height: auto;
}

/******************************/
/*header */
/******************************/
.header-wrap.show {
	background: #000000;
}
.c-header__nav ul {
    display: flex;
	flex-wrap: wrap;
    justify-content: space-evenly;
    padding: 20px 0;
}
.c-header__nav a {
	color: #ffffff;
	padding: 0 10px 5px 10px;
    border-bottom: 1px solid #ffffff;
}
@media only screen and (max-width: 500px) {
	.c-header__nav a {
		font-size: 1.4rem;
		padding: 0 5px 5px;
	}
}
/******************************/
/* footer */
/******************************/
.footer {
	padding: 10px 0;
}
#copyright {
	font-size: 1.2rem;
	text-align: center;
}

/******************************/
/* TOP */
/******************************/
/*ローディング表示※page-introduction.phpに変更*/
.loading {
  width: 100vw;
  height: 100vh;
  /*transition: all 1s;*/
  background-color: #ffffff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  /*opacity: 1;
  visibility: visible;*/
}

/*.loading.is-active {
  opacity: 0;
  visibility: hidden;
}*/

.loading-animation {
  width: 100vw;
  height: 100vh;
  /*transition: all 1s;*/
  background-color: #ffffff;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  /*opacity: 0;
  visibility: hidden;*/
}

/*.loading-animation.is-active {
  opacity: 1;
  visibility: visible;
}*/

.loading-wrap {
    text-align: center;
}
.bg-loading {
    max-width: 800px;
    height: auto;
    margin: 0 auto 20px;
    padding: 80px;
    background: #FFF1BC;
	display: flex;
	align-content: center;
	align-items: center;
}
.bg-loading p {
    font-size: 1.8rem;
    line-height: 1.8;
}
@media only screen and (max-width: 768px) {
	.loading-wrap {
	    padding: 0 20px;
	}
	.bg-loading {
	    padding: 40px 30px;
	}
	.bg-loading p {
		text-align: left;
	}
}

/*END ローディング表示*/
/**/
.fadein {
	display: none;
}
/**/

.c-header__main img {
    width: 100%;
}

.top-about-wrap {
    max-width: 550px;
    margin: 80px auto 120px;
}
.c-title {
    font-size: 3.2rem;
	font-weight: 900;
    text-align: center;
    margin-bottom: 50px;
}
.c-title-top {
    font-size: 3.2rem;
	font-weight: 900;
    text-align: center;
    margin-bottom: 20px;
}
.top-about__txt {
    font-size: 1.8rem;
	margin-bottom: 60px;
}
.top-audio__item {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
}
.top-audio__item audio {
    margin-top: 10px;
	margin-bottom: 50px;
}

.top-memory {
    padding: 120px 0;
}
.bg-base {
    background: #fff0db;	
}
.top-memory__list:not(:last-child) {
	margin-bottom: 150px;
}
.top-memory__item {
	padding-left: 70px;
	padding-bottom: 80px;
	position: relative;
}
.top-memory__item:before {
    content: '';
    width: 20px;
    height: 20px;
    background: #000;
    border-radius: 20px;
	position: absolute;
	top: 10px;
	left: 0;
}
.top-memory__item:after {
    content: '';
	height: 100%;
	border-left: 2px solid #000;
	position: absolute;
	top: 10px;
	left: 10px;
}
.top-memory__year {
    font-size: 3.5rem;
	line-height: 1;
    margin-bottom: 20px;
}
.top-memory__image img {
    width: 100%;
}
.memory-right dt {
    font-size: 2.8rem;
    margin-bottom: 10px;
}
.memory-right dd {
	margin-bottom: 20px;
}

.top-overview {
    padding-bottom: 120px;
}
.top-overview__wrap h2, 
.top-overview__wrap 3 {
    margin-bottom: 10px;
}
@media only screen and (min-width: 767px) {
	.top-memory__item {
	    display: flex;
	    justify-content: space-between;
	}
	.memory-left {
	    width: 250px;
	}
	.memory-right {
	    width: calc(100% - 300px);
		padding-top: 55px;
	}
}
@media only screen and (max-width: 768px) {
	.c-title {
		font-size: 3rem;
		margin-bottom: 40px;
	}
	.top-about-wrap {
	    margin: 60px auto 60px;
	}
	.top-memory {
	    padding: 60px 0;
	}	
	.top-memory__item {
		padding-left: 50px;
	}
	.memory-right {
		padding-top: 30px;
	}
	.top-memory__year {
		font-size: 3.2rem;
	}
	.memory-right dt {
		font-size: 2rem;
	}
	.top-memory__image {
		max-width: 400px;
		margin: auto;
	}
	.top-overview {
	    padding-bottom: 60px;
	}
}

/******************************/
/*思い出 */
/******************************/
/*詳細*/
.single-memory__image {
	width: 250px;
	margin: 0 auto 30px;
}
.single-memory__image img {
    width: 100%;
    height: auto;
	box-shadow: 4px 8px 4px #ccc;
}
.p-single .c-title {
    margin-bottom: 10px;
}
.single-memory__year {
    text-align: center;
    font-size: 1.8rem;
}
.single-memory__txt {
	margin-bottom: 100px;
    text-align: center;
}
.single-memory__pamphlet-list {
    margin-bottom: 120px;
}
.single-memory__pamphlet-list li {
    margin-bottom: 40px;
}
.single-memory__pamphlet-image img {
    object-fit: contain;
    max-height: 650px;
    width: 100%;
}

.single-memory__photo-list {
    padding: 100px 0 60px;
	margin-bottom: 60px;
}

.single-audio__list {
	margin-bottom: 120px;
}
.single-audio__item {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 30px;
}
.single-audio__item audio {
    margin-top: 10px;
}

.navi-pre-next {
    display: flex;
    justify-content: space-between;
}
.navi-return a {
    display: inline-block;
    color: #000000;
    font-size: 2rem;
    padding: 10px 30px;
    min-width: 230px;
    border-radius: 30px;
    border: 1px solid #000000;
    text-align: center;
}
@media only screen and (max-width: 768px) {
	.single-memory__year {
	    font-size: 1.4rem;
	}
	.single-memory__txt {
		margin-bottom: 60px;
	    text-align: left;
	}
	.p-single .c-title {
	    font-size: 2.4rem;
		line-height: 1.5;
	}
	.single-memory__pamphlet-list {
		margin-bottom: 60px;
	}
	.single-memory__photo-list {
		padding: 60px 0 60px;
	}
	.navi-pre-next li {
		width: calc(100% / 3 - 20px);
	}
	.navi-pre-next .c-btn a, .navi-return a {
		padding: 10px;
	    min-width: auto;
		width: 100%;
	}
}
.center-text {
    text-align: center;
  }