﻿@charset "UTF-8";

@media screen and (min-width: 768px) {

	body[data-type="RN2024"] main .inner {
		max-width: 1080px;
	}

	.contents {
		border-top: 1px solid #000000;
		padding: var(--px-100) 0;
	}

	.contents p {
		font-size: var(--px-16);
		line-height: 2.1875;
	}

	.contents h2 {
		margin: 0 0 var(--px-36) 0;
	}
	.contents p + h2 {
		margin: var(--px-90) 0 var(--px-36) 0;
	}

	.contents h2 span {
		font-size: var(--px-23);
		font-weight: 700;
		letter-spacing: 0.1em;
		line-height: 1.82;
	}

	.contents p {
		font-size: var(--px-16);
		line-height: 2.1875;
	}

	.contents p a {
		color: #204e84;
		font-weight: 700;
		text-decoration: underline;
	}
	.contents p a::after {
		content: "";
		display: inline-block;
		width: var(--px-8);
		height: var(--px-8);
		background-image: url('/common/img/icon_arrow_navy.svg');
		background-size: contain;
		background-repeat: no-repeat;
		margin: 0 0 0 var(--px-4);
		vertical-align: middle;
    transform: translate(0, 0);
    transition: transform 0.3s;
	}
	.contents p a:hover::after {
    transform: translate(3px, -3px);
	}

	.table_container {
		margin: var(--px-72) 0 var(--px-48) 0;
	}

	.table_container table {
		border: 1px solid #000;
		border-collapse: collapse;
		width: 100%;
	}

	.table_container th,
	.table_container td {
		border: 1px solid #000;
		padding: var(--px-20);
	}
	.table_container th span {
		font-size: var(--px-17);
		font-weight: 700;
	}
	.table_container td span {
		font-size: var(--px-15);
		font-weight: 400;
		line-height: 1.6;
	}
	.table_container th[data-type="center"],
	.table_container td[data-type="center"] {
		vertical-align: middle;
	}
	.table_container th[data-type="center"] span,
	.table_container td[data-type="center"] span {
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	.table_container table th:first-child,
	.table_container table td:first-child {
		width: var(--px-140);
		min-width: var(--px-140);
		max-width: var(--px-140);
		box-sizing: border-box;
	}

	.table_container .table_note {
		font-size: var(--px-16);
		line-height: 2.1875;
		margin: var(--px-36) 0 0 0;
	}

}

@media screen and (max-width: 767px) {

	.headline_ttl span[data-type="main"]{
		font-size: var(--px-32);
	}

	.contents {
		border-top: 1px solid #000000;
		padding: var(--px-72) 0 var(--px-140) 0;
	}

	.contents p {
		font-size: var(--px-16);
		line-height: 1.8125;
	}

	.contents h2 {
		margin: 0 0 var(--px-24) 0;
	}
	.contents p + h2 {
		margin: var(--px-60) 0 var(--px-24) 0;
	}

	.contents h2 span {
		font-size: var(--px-21);
		font-weight: 700;
		letter-spacing: 0.1em;
		line-height: 1.8;
	}

	.contents p {
		font-size: var(--px-16);
		line-height: 1.8125;
	}

	.contents p a {
		color: #204e84;
		font-weight: 700;
		text-decoration: underline;
	}
	.contents p a::after {
		content: "";
		display: inline-block;
		width: var(--px-8);
		height: var(--px-8);
		background-image: url('/common/img/icon_arrow_navy.svg');
		background-size: contain;
		background-repeat: no-repeat;
		margin: 0 0 0 var(--px-4);
		vertical-align: middle;
    transform: translate(0, 0);
    transition: transform 0.3s;
	}
	.contents p a:hover::after {
    transform: translate(3px, -3px);
	}

	.table_container {
		margin: var(--px-72) 0 var(--px-48) 0;
	}

	.table_container .table_outer {
    overflow-x: auto;
    overflow-y: hidden;
    margin: 0 -6vw 0 0 !important;
    padding: 0 6vw 4vw 0 !important;
	}

  .table_container .table_inner{
    display: table;
    min-width: 100%;
  }
  .js_isSafari .table_container .table_inner,
  .js_isFirefox .table_container .table_inner,
  .js_isIe .table_container .table_inner{
    padding: 0 6vw 0 0;
  }
  .js_isSafari.js_isWin .table_container .table_inner,
  .Android.js_isWin .table_container .table_inner,
  .js_isEdge .table_container .table_inner{
    padding: 0;
  }

	.table_container table {
		border: 1px solid #000;
		border-collapse: collapse;
		width: 100%;
    min-width: 206vw;
	}

	.table_container th,
	.table_container td {
		border: 1px solid #000;
		padding: var(--px-18);
	}
	.table_container th span {
		font-size: var(--px-15);
		font-weight: 700;
	}
	.table_container td span {
		font-size: var(--px-13);
		font-weight: 400;
		line-height: 1.6;
	}
	.table_container th[data-type="center"],
	.table_container td[data-type="center"] {
		vertical-align: middle;
	}
	.table_container th[data-type="center"] span,
	.table_container td[data-type="center"] span {
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	.table_container table th:first-child,
	.table_container table td:first-child {
		width: var(--px-120);
		min-width: var(--px-120);
		max-width: var(--px-120);
		box-sizing: border-box;
	}

	.table_container .table_note {
		font-size: var(--px-16);
		line-height: 1.8125;
		margin: var(--px-36) 0 0 0;
	}

}