@charset "UTF-8";
/* CSS Document */

:root {
	--color-base: #1f4fd1;
	--color-notice: red;
}

body {
	background-color:#FFF;
	font-family: 'Noto Sans JP', sans-serif;
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 18px;
	color: #0a0f14;
	min-width: 320px;
}

a {
	text-decoration: none;
}

/* ------------------------------------------
* text
--------------------------------------------- */
.textArea {
	line-height: 1.6em;
	text-align: justify;
	padding: 5px 20px;
}

.text-s {
	font-size: 0.9em;
}
.text-ss {
	font-size: 0.7em;
}
.text-bold {
	font-weight: bold;
}
.text-red {
	color: #e4655f;
}
.text-blue {
	color: #0C7ED4;
}

h2 {
	margin-top: 20px;
	text-align: center;
}
h3 {
	text-align: center;
	font-weight: normal;
}
h2 span {
	font-size: 1.4em;
	display: inline-block;
}
h3 span {
	font-size: 1.0em;
	display: inline-block;
}


header{
	background-color: var(--color-base);
	text-align: center;
	padding: 6px;
}

.title {
	font-size: 1.2em;
	font-weight: bold;
	color: #FFF;
}

footer {
	background-color:var(--color-base);
	text-align: center;
	padding: 6px;
}

.copyright{
	font-size: 0.6em;
	color: #FFF;
}

.sec-1 {
	max-width: 720px;
	margin: 0 auto;
	padding: 0;
}

.mainVisual {
	width: 100%;
	text-align: center;
}

.mainVisual img {
	width: 100%;
}

.menuList {
	padding: 12px;
}

.menuList li {
	position: relative;
	border: 3px solid  var(--color-base);
	border-radius: 10px;
	height: 55px;
	margin-bottom: 12px;
	overflow:hidden;
}

.menuList li a {
	width: 93%;
	position: absolute;
	display: block;
	top: 50%;
	line-height: 1.0;
	color: #444;
	font-weight: bold;
	transform: translateY(-50%);
	padding: 4px 4px 4px 24px;
}

.menuList li::after {
	position: absolute;
	top: 40%;
	left: 5px;
	width: 6px;
	height: 6px;
	content: '';
	border-right: 3px solid var(--color-base);
	border-bottom: 3px solid var(--color-base);
	transform: rotate(-45deg);
}

.menuSmall {
	font-size: 0.9em;
}

.imgArea {
	width: 100%;
	text-align: center;
}

.imgArea img {
	width: 100%;
	max-width: 640px;
}

.imgArea img.is-small {
	width: 50%;
	max-width: 480px;
}

.navi {
	display: flex;
	justify-content: space-between;
	padding: 20px;
 }
 
 .back,
 .next {
 	background-color: #0a0f14 ;
 	box-shadow: 0px 3px 3px rgba(0,0,0,0.2);
 	border-radius: 5px;
 	padding: 5px 20px;
 }
 
 .back span,
 .next span {
 	color: #FFF;
	font-weight: bold;
	font-size: 0.8em;
 }

.card {
	background-color: #d7faf9;
	margin: 18px 10px;
	padding: 10px;
}

.cardTitle {
	font-size: 1.3em;
	font-weight: bold;
	color: var(--color-base);
	border-bottom: 3px dotted var(--color-base);
}

.caption {
	font-size: 12px;
	color: #444;
	text-align: center;
	margin-bottom: 10px;

 	line-height: 1.2;
 	max-width: 420px;
 	margin-right: auto;
 	margin-left: auto;
}
.caption p {
	margin-bottom: 6px;
}

.caption a {
	text-decoration: underline;
}

 .notice {
	width: 90%;
	border: 2px solid  #0C7ED4;
	border-radius: 12px;
	padding: 12px;
	margin: 0 auto;
}
.notice p {
	text-align: center;
}
.notice a {
	color: #FF0000;
	text-decoration: underline;
}


.bg-red,
.bg-blue,
.bg-green,
.bg-yellow {
	width: 90%;
	padding: 12px;
	border-radius: 20px;
	 margin: 0 auto;
	 margin-bottom: 40px;
}

.bg-red {
	background-color:#fae3f1;
}
.bg-blue {
	background-color:#dceffc;
}
.bg-green {
	background-color:#eafae8;
}
.bg-yellow {
	background-color:#fdffcf;
}

/* ------------------------------------------
* インタビュー
--------------------------------------------- */
.interview p {
	margin: 12px 0;
}

.interview__mc {
	color: #0C7ED4;
	padding-top: 24px;
}

.interview__racer-2 .name,
.interview__joshimc .name {
	color: #2cb897;
	font-weight: 700;
}
.interview__racer-1 .name,
.interview__joshi .name {
	color: #e4655f;
	font-weight: 700;
}

.interview__digest .name {
	color: orange;
	font-weight: 700;
}


/* ------------------------------------------
* 枠
--------------------------------------------- */
.wrap article {
 margin: 12px;
 padding: 0 0 12px 0;
 border-radius: 12px;
 background-color:#dceffc;
}

/* ------------------------------------------
* ボタン
--------------------------------------------- */
.btn-container {
    text-align: center;
}
.btn {
    display: block;
    display: table;
    width: 90%;
    height: 46px;
    max-width: 480px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 1em;
    padding: 0 12px;
    font-weight: 700;
    line-height: 1.2;
    vertical-align: middle;
    -webkit-box-shadow: none;
    box-shadow: none;
    background-color: #FFF;
    border-radius: 6px;
    overflow: hidden;
}
.btn a {
    color: var(--color-base);
    display: block;
}
.btn-totop {
	border: 2px solid  var(--color-base);
}
