* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
	/* sets the base font to 10px for easier math */
}

body {
	font-family: 'Lato', 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-style: normal;
	font-weight: 300;
	font-size: 1.6rem;
	color: #444444;
	width: 100%;
	line-height: 1.44;
	letter-spacing: 0.01em;
}

a,
a:hover,
a:visited {
	color: #333;
}

a {
	outline: none;
}

a:focus {
	outline: none;
}

h1,
h2,
h3,
h4,
h5 {
	font-weight: bold;
}

/* ---------- 要素の遅延表示 ---------- */

.effect-fade {
	opacity: 0;
	transform: translate(0, 60px);
	transition: all 1500ms;
}

.effect-fade.effect-scroll {
	opacity: 1;
	transform: translate(0, 0);
}

/*
.box-fadein img {
	opacity: 0;
	-webkit-transition: opacity 3s;
	transition: opacity 1s;
}
.box-fadein.lazyloaded img.lazyloaded {
	opacity: 3;
}

.lazyload-box {
	background-color:rgba(255,255,255,1.0);
	background-blend-mode:lighten;
	transition: all 1s ease;
}

.lazyload-box.lazyloaded {
	background-color:rgba(255,255,255,0);
}
*/

@media print,
screen and (min-width:0px) {

	/* ---------- メインエリア ---------- */

	#marathon .top-image-box {
		width: 100%;
		padding-top: 26%;
		background: url(images/marathon_top.png) center center no-repeat;
		background-size: 100%;
		position: relative;
	}

	#marathon .top-year02 {
		font-size: 2.5vw;
		font-weight: bold;
		position: absolute;
		top: 38.5%;
		left: 32.3%;
		color: #fff;
		-webkit-text-stroke: 0.4vw #0098df;
		text-shadow: 0.3vw 0.3vw 2px #106ed5;
	}
	#marathon .top-year {
		font-size: 2.5vw;
		font-weight: bold;
		position: absolute;
		top: 38.5%;
		left: 32.3%;
		color: #fff;
	}

	#marathon .top-image-box h2 {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: auto;
		text-align: center;
		padding: 2rem;
		background-color: rgba(0, 0, 0, 0.0);
		font-size: 3rem;
		letter-spacing: 0.5rem;
		color: #fff;
		text-shadow: rgba(0, 0, 0, 0.3) 2px 2px 4px, rgba(0, 0, 0, 0.3) -2px 2px 4px;
	}

	#marathon .content-box {
		width: 100%;
		height: auto;
	}

	#marathon .content-box .marathon-box {
		width: 1200px;
		height: auto;
		margin: 0 auto;
		padding: 4rem 0;
	}

	#marathon .content-box .marathon-box h2 {
		width: 100%;
		height: auto;
		padding: 1rem;
		font-size: 3.4rem;
		text-align: center;
		border-bottom: solid 1px #ff6c1b;
	}

	#marathon .content-box .marathon-box h2 span {
		font-size: 5rem;
		color: #ff6c1b;
		margin-left: 2rem;
	}

	#marathon .content-box .marathon-box .text-box {
		width: 100%;
		height: auto;
		margin-top: 2rem;
		margin-bottom: 4rem;
		text-align: justify;
	}

	#marathon .content-box .marathon-box .photo-box {
		width: 100%;
		height: auto;
	}

	#marathon .content-box .marathon-box .photo-box .swiper-container {
		width: 100%;
		height: auto;
	}

	#marathon .content-box .marathon-box .photo-box .swiper-slide img {
		width: 100%;
		height: auto;
	}

	#marathon .content-box .marathon-box .photo-box .swiper-slide span {
		display: block;
		width: 100%;
		height: auto;
		text-align: center;
		padding: 0.5rem;
	}

	#marathon .swiper-button-prev,
	#marathon .swiper-button-next {
		color: #ffffff;
	}

	#marathon .swiper-pagination-bullet-active {
		background-color: rgba(255, 255, 255, 0.8);
	}

	#marathon .swiper-container-horizontal>.swiper-pagination-bullets,
	#marathon .swiper-pagination-custom,
	.swiper-pagination-fraction {
		bottom: 15%;
	}


	/* ---------- PC用設定ここまで ---------- */
}

/* ---------- 画面サイズが767px以下の場合読み込む---------- */

@media screen and (max-width:767px) {

	#marathon #main {
		margin-top: 0;
	}

	#marathon .top-image-box {
		width: 100%;
		height: 500px;

		background-position: center center;
		background-size: cover;
		position: relative;
	}

	#marathon .top-image-box {
		height: 0;
		padding-top: 65%;
		background: url(images/marathon_topsp.png) center center no-repeat;
		background-size: 100% auto;
		margin-bottom: 10%;
	}

	#marathon .top-year02 {
		font-size: 6vw;
		top: 9.7%;
		left: 52.5%;
		-webkit-text-stroke: 1vw #038bd4;
		text-shadow: 0.8vw 0.8vw 2px #085dda;
	}
	#marathon .top-year {
		font-size: 6vw;
		top: 9.7%;
		left: 52.5%;
	}

	#marathon .top-image-box h2 {
		top: 100%;
		color: #03a0e8;
		text-shadow: none;
		font-size: 2rem;
	}

	#marathon .content-box .marathon-box {
		width: 100%;
	}

	#marathon .content-box .marathon-box .text-box {
		width: 94%;
		margin: 2rem auto;
	}

	.swiper-button-next,
	.swiper-button-prev {
		top: 36%;
	}

	.swiper-pagination {
		bottom: -10% !important;
	}

	#marathon .content-box .marathon-box .photo-box .swiper-slide span {
		text-align: left;
	}


	/* ---------- スマホ用ここまで ---------- */
}