@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Poppins:wght@500;600&family=Roboto:wght@500&display=swap');
* {
		margin: 0;
		padding: 0;
}
html {
		overflow-y: scroll;
		-webkit-font-smoothing: antialiased;
		-webkit-overflow-scrolling: touch;
}
img {
		vertical-align: top;
		border: none;
}
body {
		font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		font-size: 15px;
		color: #1e1e1e;
		-webkit-text-size-adjust: 100%;
		-webkit-font-smoothing: antialiased;
		background: #fff;
}
h1, h2, h3, h4, h5, h6 {
		font-family: 'Noto Sans JP', sans-serif;
}
section {
		padding: 0 40px;
}
.section_inner {
		max-width: 1080px;
		margin: 0 auto;
		display: flex;
		align-items: flex-start;
}
.section_inner_left {
		width: 300px;
}
.template_section .section_inner_left {
		width: 240px;
		margin-right: 60px;
}
.section_inner_right {
		flex: 1;
}
.section_title {
		padding-left: 27px;
		position: relative;
}
.section_title::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 7px;
		height: 100%;
		background: #95BFBE;
		border-radius: 20px;
}
.section_title h2 {
		line-height: 1.4;
		font-size: 28px;
		font-weight: 700;
		margin: 0 0 13px;
}
.title_en {
		font-family: 'Poppins', sans-serif;
		font-size: 26px;
		font-weight: 600;
		line-height: 1;
		color: #95BFBE;
}
.title_caption {
		font-size: 14px;
		margin-top: 22px;
		font-weight: 500;
}
/* ===== HEADER  ===== */
header {
		width: 100%;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1000;
		height: 145px;
		background: #F7F5F5;
		transition: height 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
header.isFixed {
		height: 100px;
		box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);
}
.header_inner {
		padding: 24px 40px 0;
		max-width: 1080px;
		margin: 0 auto;
		display: flex;
		align-items: center;
		justify-content: space-between;
}
.header_logo {
		width: 250px;
}
.header_logo img {
		width: 100%;
		height: auto;
}
.header_inner_right {
		display: flex;
		align-items: center;
}
.header_btn a, .fv_section_item_inner_right a {
		width: 174px;
		height: 50px;
		display: flex;
		justify-content: center;
		align-items: center;
		text-decoration: none;
		color: #fff;
		box-sizing: border-box;
		border-radius: 40px;
		font-weight: 700;
		transition: background 0.3s;
}
.header_btn_login a, .left_login .fv_section_item_inner_right a {
		background: #1D3182;
		border: 2px solid #1D3182;
}
.header_btn_first a, .right_first .fv_section_item_inner_right a {
		background: #13AAAA;
		border: 2px solid #13AAAA;
}
@media (hover: hover) {
		.header_btn_login a:hover, .left_login .fv_section_item_inner_right a:hover {
				background: #fff;
				color: #1D3182;
		}
		.header_btn_first a:hover, .right_first .fv_section_item_inner_right a:hover {
				background: #fff;
				color: #13AAAA;
		}
}
.header_btn_flex {
		width: 360px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-right: 30px;
}
.header_tel_flex {
		display: flex;
		align-items: center;
		color: #13AAAA;
		margin: 0
}
.header_tel_flex_hd {
		font-size: 14px;
		font-weight: 700;
}
.header_tel_flex_hd_no {
		font-family: 'Roboto', sans-serif;
		font-weight: 500;
		font-size: 28px;
		margin-left: 38px;
		position: relative;
}
.header_tel_flex_hd_no a {
		color: #13AAAA;
		text-decoration: none;
}
.header_tel_flex_hd_no::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: -27px;
		width: 20px;
		height: 31px;
		background: url("../images/icon_tel.png") no-repeat 0 0;
		background-size: 20px;
}
.header_tel_notes {
		font-size: 13px;
		font-weight: 500;
		text-align: center;
}
.global_nav {
		position: relative;
		z-index: 2000;
		top: 105px;
		padding: 0 20px;
}
.global_nav nav {
		max-width: 1080px;
		height: 85px;
		border-radius: 18px;
		background: #fff;
		box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);
		margin: 0 auto;
		display: flex;
		align-items: center;
		box-sizing: border-box;
		padding: 0 20px;
}
.global_nav nav ul {
		display: flex;
		justify-content: space-between;
		list-style: none;
		width: 830px;
		margin: 0 auto;
}
.global_nav nav ul li {
		list-style: none;
		font-weight: 700;
}
.global_nav nav ul li a {
		color: #1e1e1e;
		text-decoration: none;
}
.global_nav ul li span {
		position: relative;
		display: inline-block;
}
.global_nav nav ul li span::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -15px;
		left: calc(50% - 14px);
		width: 28px;
		height: 6px;
		background: #13AAAA;
		border-radius: 6px;
		opacity: 0;
		transition: opacity 0.3s;
}
.global_nav ul li a.current {
		color: #13AAAA;
}
.global_nav ul li a.current span::after {
		opacity: 1;
}
@media (hover: hover) {
		.global_nav ul li a:hover {
				color: #13AAAA;
		}
}
/* ===== FV  ===== */
.fv_section {
		height: 380px;
		background: linear-gradient(#1d3182 0%, #7db4db 100%);
		padding: 0 40px;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 60px 0 0;
}
.fv_section_inner {
		max-width: 1060px;
		margin: 0 auto;
}
.fv_section_col h1 {
		font-size: 26px;
		font-weight: 700;
		margin: 0 0 10px;
		color: #fff;
		text-align: center;
}
.fv_section_col h1 + p {
		color: #fff;
		font-size: 16px;
		font-family: 'Poppins', sans-serif;
		font-weight: 600;
		margin-bottom: 35px;
		text-align: center;
}
.fv_section_item_flex {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 1080px;
}
.fv_section_item {
		width: calc(50% - 18px);
		height: 106px;
		background: #fff;
		border-radius: 24px;
		box-shadow: rgba(0, 0, 0, 0.16) 0px 0px 6px;
		display: flex;
		align-items: center;
}
.fv_section_item_inner {
		padding: 0 23px;
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
}
.fv_section_item_inner_left {
		display: flex;
		align-items: center;
}
.fv_section_item_icon {
		width: 76px;
		margin-right: 25px;
}
.fv_section_item_icon img {
		width: 100%;
		height: auto;
		border-radius: 50%;
}
.left_login .fv_section_item_icon img {
		border: 3px solid #1D3182;
}
.right_first .fv_section_item_icon img {
		border: 3px solid #13AAAA;
}
.fv_section_item_inner_left h3 {
		font-size: 18px;
		font-weight: 700;
		margin: 0 0 3px;
}
.left_login h3 {
		color: #1D3182;
}
.right_first h3 {
		color: #13AAAA;
}
.fv_section_item_inner_left p {
		font-size: 15px;
		font-weight: 500;
		line-height: 1.6;
}
/* ===== TOPICS  ===== */
.topics_section {
		background: #fff;
		padding: 80px 40px;
}
.topics_col {
		height: 730px;
		overflow: auto;
}
.topics_col::-webkit-scrollbar {
		width: 15px;
}
.topics_col::-webkit-scrollbar-track {
		background-color: #F7F5F5;
}
.topics_col::-webkit-scrollbar-thumb {
		border-radius: 5px;
		background: linear-gradient(#439191 0%, #7db4db 100%);
}
.topics_col_inner {
		padding-right: 18px;
}
.topics_col_inner dl:nth-child(odd) {
		background: #EFF5F5;
}
dl.topics_line {
		padding: 25px 20px;
}
.topics_line dt {
		display: flex;
		align-items: center;
		margin: 0;
}
.topics_date {
		margin-right: 20px;
}
.topics_line a {
		color: #1e1e1e;
		text-decoration: none;
		display: block;
		padding: 10px 0;
}
@media (hover: hover) {
		.topics_line a:hover {
				text-decoration: underline;
		}
}
.topics_cate {
		font-size: 12px;
		height: 28px;
		display: flex;
		align-items: center;
		border-radius: 20px;
		background: #fff;
		border: 2px solid #7db4db;
		padding: 0 15px;
}
.topics_cate span {
		position: relative;
		display: inline-block;
		transform: translateY(-1px);
}
/* ===== LINK  ===== */
.link_section {
		background: #EFF5F5;
		padding: 80px 40px;
		box-sizing: border-box;
}
.link_item {
		margin: 0 0 20px;
}
.link_item a {
		display: block;
		border-radius: 16px;
		background: #fff;
		box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);
		padding: 20px 50px;
		text-decoration: none;
		position: relative;
		transition: background 0.3s;
}
.link_item a::before, .link_item a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 19px);
		right: 26px;
		width: 38px;
		height: 38px;
		border-radius: 50%;
		pointer-events: none;
}
.link_item a::before {
		background: #4DB1B1;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s;
}
.link_section .link_item a::before {
		background: #4A5EAD;
}
.link_item a::after {
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		background-image: url("../images/icon_blank_wht.png");
}
.link_item h5 {
		font-size: 18px;
		font-weight: 700;
		margin: 0 0 10px;
}
.link_item p {
		line-height: 1.8;
}
.link_item a h5 {
		color: #4DB1B1;
		text-decoration: none;
}
.link_item a p {
		color: #1e1e1e;
}
@media (hover: hover) {
		.link_item a:hover {
				background: #4DB1B1;
				color: #fff;
		}
		.link_item a:hover h5, .link_item a:hover p {
				color: #fff;
		}
		.link_item a:hover::before {
				transform: scale(1.3);
				background: #fff;
		}
		.link_item a:hover::after {
				background-image: url("../images/icon_blank_grn.png");
		}
		.link_section .link_item a:hover::after {
				background-image: url("../images/icon_blank_blu.png");
		}
}
/* ===== CALENDAR  ===== */
.calendar_section {
		background: #fff;
		padding: 80px 40px;
}
.calendar_lead {
		line-height: 1.8;
		margin-bottom: 35px;
}
.calendar_btn_flex {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 0 0 35px;
}
.calendar_btn {
		width: calc(25% - 12px);
		margin: 0 0 20px;
		font-size: 22px;
		font-weight: 700;
}
.calendar_btn span {
		line-height: 0.9;
}
.calendar_btn span.en {
		font-family: 'Poppins', sans-serif;
		font-size: 12px;
		font-weight: 500;
}
.calendar_btn a {
		color: #439191;
		text-decoration: none;
		display: flex;
		align-items: center;
		width: 100%;
		height: 90px;
		border-radius: 12px;
		background: #eff5f5;
		border: 2px solid #439191;
		box-shadow: 3px 3px 6px #d0e8e8;
		box-sizing: border-box;
		padding: 0 20px;
		position: relative;
		overflow: hidden;
		transition: background 0.3s;
}
.calendar_btn a::before, .calendar_btn a::after {
		content: '';
		display: block;
		position: absolute;
		top: 26px;
		right: 12px;
		width: 38px;
		height: 38px;
		border-radius: 50%;
		pointer-events: none;
}
.calendar_btn a::before {
		background: #4A5EAD;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s;
}
.calendar_btn a::after {
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		background-image: url("../images/icon_download.png");
}
@media (hover: hover) {
		.calendar_btn a:hover {
				background: #439191;
				color: #fff;
		}
		.calendar_btn a:hover::before {
				transform: scale(1.3);
				background: #fff;
		}
		.calendar_btn a:hover::after {
				background-image: url("../images/icon_download_on.png");
		}
}
.link_section .acrobat_guide_bnr {
		margin: 0 0 5px;
}
.calendar_menseki {
		line-height: 1.8;
		font-size: 13px;
		margin-bottom: 30px;
}
.acrobat_guide p {
		line-height: 1.8;
		font-size: 13px;
}
.acrobat_guide p a {
		color: #4A5EAD;
		text-decoration: underline;
}
@media (hover: hover) {
		.acrobat_guide p a:hover {
				color: #4A5EAD;
				text-decoration: none;
		}
}
/* ===== TEMPLATE ===== */
.template_section {
		background: #EFF5F5;
		padding: 80px 40px;
		min-height: 500px;
}
.template_lead {
		line-height: 1.8;
}
/* ===== RECOMMEND ===== */
.recommend_body {
		background: linear-gradient(#5a84bb 0%, #7db4db 100%);
		padding: 80px 0;
}
.recommend_wrap {
		max-width: 1180px;
		margin: 0 auto;
		padding: 0 40px;
}
.recommend_wrap_col {
		background: #fff;
		border-radius: 40px;
		padding: 50px 40px;
}
.recommend_comment_flex {
		display: flex;
		justify-content: center;
}
.recommend_comment {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 80px;
		background: #7db4db;
		min-width: 390px;
		border-radius: 60px;
		color: #fff;
		font-weight: 500;
		font-size: 18px;
		margin-bottom: 40px;
		position: relative;
}
.recommend_comment::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -18px;
		left: calc(50% - 12.5px);
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 22px 12.5px 0 12.5px;
		border-color: #7db4db transparent transparent transparent;
}
.recommend_bnr {
		max-width: 570px;
		margin: 0 auto 30px;
}
@media(min-width: 1040px) {
		.recommend_comment_flex, .recommend_bnr, .recommend_wrap_col .aligncenter {
				transform: translateX(-30px);
		}
}
.recommend_bnr img {
		width: 100%;
		height: auto;
		border-radius: 40px;
		border: 2px solid #7DB4DB;
		box-shadow: #d0e8e8 3px 3px 6px;
}
.recommend_bnr a {
		display: inline-block;
		position: relative;
}
.recommend_bnr a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 20px);
		right: 25px;
		width: 40px;
		height: 40px;
		border-radius: 50%;
		background: url("../images/icon_blank.png") no-repeat 0 0;
		background-size: 40px;
}
.contact_section {
		background: #4A5EAD;
		color: #fff;
		min-height: 400px;
		border-radius: 76px 76px 0 0;
		padding: 50px 40px 70px;
}
.section_title_center {
		display: flex;
		justify-content: center;
}
.section_title_center .section_title {
		text-align: center;
		color: #fff;
		padding-left: 0;
		margin-bottom: 70px;
}
.section_title_center .section_title::before {
		display: none;
}
.section_title_center .section_title::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -30px;
		left: calc(50% - 35px);
		width: 70px;
		height: 7px;
		background: #fff;
		border-radius: 20px;
}
.section_title_center .section_title .title_en {
		color: #fff;
		padding-top: 5px;
}
.contact_section_col_lead {
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		margin-bottom: 30px;
		text-align: center;
}
.contact_section_col {
		max-width: 760px;
		margin: 0 auto;
		color: #4A5EAD;
		background: #fff;
		border-radius: 40px;
		text-align: center;
		padding: 30px 20px;
}
.contact_section_col_flex {
		display: flex;
		justify-content: center;
}
.contact_section_col h4 {
		margin-bottom: 20px;
}
/* ===== FOOTER ===== */
.footer_company {
		background: #EFF5F5;
		padding-top: 70px;
		padding-bottom: 140px;
}
.footer_company h4 {
		font-size: 22px;
		font-weight: 700;
		margin: 0 0 35px;
		max-width: 440px;
}
.footer_company h4 img {
		width: 100%;
		height: auto;
		transition: opacity 0.3s;
}
@media (hover: hover) {
		.footer_company h4 a:hover img {
				opacity: 0.6
		}
}
.footer_company h4 + p {
		margin-bottom: 35px;
}
.footer_company h4 + p a {
		color: #13AAAA;
		text-decoration: underline;
}
@media (hover: hover) {
		.footer_company h4 + p a:hover {
				color: #13AAAA;
				text-decoration: none;
		}
}
.footer_company_col_flex {
		display: flex;
}
.footer_company_col {
		margin-right: 70px;
}
.footer_company_col h5 {
		font-size: 15px;
		font-weight: 700;
		margin: 0 0 15px;
}
.footer_company_col dl {
		display: flex;
		align-items: center;
		margin-bottom: 10px;
}
.footer_company_col dl.aligntop {
		display: flex;
		align-items: flex-start;
}
.footer_company_col dt {
		margin-right: 10px;
}
.footer_company_col dd {
		flex: 1;
		line-height: 1.8;
}
.footer_company_col dd a {
		color: #1e1e1e;
		text-decoration: none;
}
footer {
		position: relative;
		padding-left: 40px;
		padding-right: 40px;
		padding-bottom: 120px;
}
footer::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(#7db4db 0%, #5a84bb 100%);
}
.footer_inner {
		max-width: 1280px;
		margin: 0 auto;
		background: #fff;
		border-radius: 60px;
		min-height: 220px;
		position: relative;
		z-index: 5;
		top: -75px;
		margin-bottom: -65px;
}
.footer_inner_col {
		padding: 30px 20px;
		max-width: 900px;
		margin: 0 auto;
		position: relative;
}
.footer_inner_flex {
		display: flex;
		justify-content: space-between;
}
.footer_inner_left h4, .footer_inner_tel, .footer_inner_tel a {
		color: #13AAAA;
		text-decoration: none;
}
.contact_section .footer_inner_tel, .contact_section .footer_inner_tel a {
		color: #4A5EAD;
}
.footer_inner_left h4 {
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 24px;
		line-height: 1.6;
		margin-bottom: 15px;
		position: relative;
}
.footer_inner_left h4::after {
		display: block;
		content: '';
		position: absolute;
		width: 100px;
		height: 100px;
		border-radius: 50%;
		top: -54px;
		left: -125px;
		border: 2px solid #13AAAA;
		background: url("../images/footer_mark.png") no-repeat 0 0;
		background-size: 100%;
		box-sizing: border-box;
}
.footer_inner_left h4 + p {
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		line-height: 1.6;
		margin-bottom: 15px;
}
.footer_inner_tel {
		font-family: 'Roboto', sans-serif;
		font-size: 30px;
		margin-bottom: 15px;
		display: flex;
		align-items: center;
}
.footer_inner_tel span {
		position: relative;
		display: inline-block;
}
.footer_inner_tel span.pcObj {
		padding: 0 5px;
}
.footer_inner_tel .tel_hd {
		font-size: 80%;
		margin-right: 5px;
}
.footer_inner_right {
		width: 220px;
}
.gmo_seal {
		width: 150px;
		margin: 0 auto 15px;
}
.gmo_seal img {
		width: 100%;
		height: auto;
}
.footer_inner_right p {
		font-size: 11px;
		line-height: 1.6;
		text-align: justify;
}
.copyright {
		font-family: 'Poppins', sans-serif;
		font-size: 14px;
		color: #fff;
		text-align: right;
		max-width: 960px;
		margin: 0 auto;
		padding: 0 0 15px;
		position: relative;
		z-index: 5;
}
.pagetop {
		position: fixed;
		bottom: 40px;
		right: 40px;
		background: #354480;
		box-sizing: border-box;
		width: 56px;
		height: 56px;
		border-radius: 50%;
		cursor: pointer;
		z-index: 3000;
		display: none;
}
.pagetop::after {
		content: '';
		display: block;
		position: absolute;
		width: 10px;
		height: 10px;
		left: 23px;
		top: calc(50% - 3px);
		border-top: 2px solid #fff;
		border-left: 2px solid #fff;
		transform: rotate(45deg);
}
/* =========== */
.anchor {
		position: relative;
		margin-top: -90px;
		padding-top: 90px;
		z-index: -1;
}
.aligncenter {
		text-align: center;
}
.aligncenter a {
		color: #1e1e1e;
}
@media (hover: hover) {
		.aligncenter a:hover {
				color: #95BFBE;
				text-decoration: none;
		}
}
@media(max-width: 960px) {
		.anchor {
				position: relative;
				margin-top: -50px;
				padding-top: 50px;
		}
}
@media(min-width: 768px) {
		br.spbr {
				display: none;
		}
}
@media(max-width: 767px) {
		br.pcbr {
				display: none;
		}
		.pcObj {
				display: none !important;
		}
}