@media(max-width: 1400px) {
		.footer_inner_col {
				padding-left: 120px;
				padding-right: 30px;
		}
		.footer_inner_left h4::after {
				left: -105px;
		}
		.footer_inner_right {
				width: 190px;
		}
}
@media(max-width: 1200px) {
		.header_btn_flex {
				width: 310px;
				margin-right: 20px;
		}
		.fv_section_inner {
				max-width: inherit;
				width: 100%;
		}
		header nav {
				width: auto;
				margin-left: 20px;
				margin-right: 20px;
		}
		.fv_section_item_flex {
				width: auto;
		}
		.header_btn a, .fv_section_item_inner_right a {
				width: 140px;
				height: 42px;
				font-size: 14px;
		}
		.section_inner_left {
				width: 260px;
		}
		.fv_section_item_inner_left_gr {
				margin-right: 10px;
		}
		.footer_company {
				padding-right: 20px;
		}
		.footer_company_col {
				margin-right: 30px;
		}
		.footer_company_col_flex .footer_company_col:last-child {
				margin-right: 0;
		}
}
@media(max-width: 1100px) {
		.header_inner {
				padding: 20px 20px 0;
		}
		.header_logo {
				width: 230px;
		}
		.header_btn_flex {
				width: 290px;
				margin-right: 10px;
		}
		.header_tel_flex_hd_no {
				font-size: 24px;
				margin-left: 33px;
		}
		.header_tel_flex_hd_no::before {
				top: 3px;
				left: -21px;
				width: 16px;
				height: 25px;
				background: url(../images/icon_tel.png) no-repeat 0 0;
				background-size: 16px;
		}
		.header_tel_flex_hd {
				font-size: 13px;
		}
		.global_nav {
				top: 97px;
		}
		.fv_section_item {
				width: calc(50% - 10px);
				height: 106px;
				border-radius: 20px;
		}
		.fv_section_item_icon {
				width: 60px;
				margin-right: 15px;
		}
		.header_tel_notes {
				font-size: 12px;
		}
		.fv_section_item_inner {
				padding: 0 10px;
		}
		.footer_inner_left .contact_section_col_flex {
				display: flex;
				justify-content: flex-start;
		}
		.footer_inner_tel {
				font-size: 29px;
		}
}
@media(min-width: 961px) {
		.header_trigger, .drawer {
				display: none;
		}
}
@media(max-width: 960px) {
		header.isFixed {
				height: 55px !important;
		}
		header {
				height: 55px !important;
				width: 100%;
				position: fixed;
				top: 0;
				left: 0;
				background: #fff;
				box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
		}
		.header_inner {
				padding: 10px 15px 0;
		}
		.header_logo {
				width: 150px;
		}
		.header_inner_right, .global_nav {
				display: none;
		}
		.fv_section_item_inner_left p {
				font-size: 13px;
		}
		.fv_section_item_inner_left p br {
				display: none;
		}
		.fv_section_item_icon {
				width: 44px;
				margin-right: 10px;
		}
		.fv_section {
				padding: 85px 20px 40px;
				height: auto;
				margin-top: 0;
		}
		.fv_section_item_flex {
				display: block;
		}
		.fv_section_item {
				width: 80%;
				height: 106px;
				border-radius: 20px;
				margin-left: auto;
				margin-right: auto;
		}
		.fv_section_item_inner {
				padding: 0 20px;
		}
		.fv_section_item_inner_left h3 {
				font-size: 20px;
				margin: 0 0 5px;
		}
		.fv_section_item_inner_left p {
				font-size: 14px;
		}
		.header_btn a, .fv_section_item_inner_right a {
				font-size: 15px;
		}
		.fv_section_item_icon {
				width: 60px;
				margin-right: 15px;
		}
		.left_login {
				margin-bottom: 10px;
		}
		.section_inner {
				display: block;
		}
		.section_inner_left {
				width: auto;
				margin: 0 0 25px;
		}
		.template_section .section_inner_left {
				width: auto;
				margin: 0 0 25px;
		}
		.section_title {
				padding-left: 15px;
		}
		.section_title::before {
				width: 5px;
		}
		.section_title h2 {
				font-size: 22px;
				margin: 0 0 8px;
		}
		.title_en {
				font-size: 20px;
				font-weight: 600;
				line-height: 1;
				color: #95BFBE;
		}
		.recommend_wrap_col {
				padding: 50px 40px;
		}
		.footer_inner_col {
				padding-left: 80px;
				padding-right: 20px;
		}
		.footer_inner_left h4::after {
				width: 60px;
				height: 60px;
				top: calc(50% - 30px);
				left: -65px;
		}
		.footer_inner_tel {
				font-size: 26px;
		}
		.footer_inner_right {
				width: 160px;
		}
		/* ==== DRAWER ===== */
		main.mainLock {
				/* position: fixed !important;
				width: 100%; */
				overflow: hidden;
		}
		.overlay {
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100vh;
				background: rgba(21, 36, 84, 0.8);
				display: none;
				z-index: 6000;
				cursor: pointer;
		}
		.header_trigger {
				position: fixed;
				top: 8px;
				right: 10px;
				width: 40px;
				height: 40px;
				cursor: pointer;
				z-index: 9000;
				-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
		}
		.header_trigger .header_trigger_bar {
				height: 3px;
				width: 30px;
				background: #1D3182;
				border-radius: 6px;
				position: absolute;
				top: 13px;
				left: 5px;
				transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
		}
		.header_trigger .header_trigger_bar:nth-child(2) {
				background: #13AAAA;
				top: 23px;
		}
		.open .header_trigger_bar:nth-child(1) {
				transform: translateY(5px) rotate(45deg);
		}
		.open .header_trigger_bar:nth-child(2) {
				transform: translateY(-5px) rotate(-45deg);
		}
		.drawer {
				background: #fff;
				position: fixed;
				top: 0;
				right: 0;
				width: 83vw;
				height: 100vh;
				z-index: 8000;
				border-radius: 0;
				transform-origin: left top;
				transform: translateX(83vw);
				transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
		}
		.drawer.open {
				transform: translateX(0);
		}
		.drawer_inner {
				padding: 60px 40px 50px;
		}
		.drawer_nav li {
				list-style: none;
				font-size: 16px;
				font-weight: 500;
		}
		.drawer_nav li span {
				position: relative;
				display: inline-block;
		}
		.drawer_nav li span::after {
				content: '';
				display: block;
				position: absolute;
				bottom: -7px;
				left: 0;
				width: 28px;
				height: 3px;
				background: #13AAAA;
				border-radius: 6px;
				opacity: 0;
				transition: opacity 0.3s;
		}
		.drawer_nav li a {
				color: #1e1e1e;
				text-decoration: none;
				padding: 10px 0;
				display: block;
				position: relative;
		}
		.drawer_nav li a.current {
				color: #13AAAA;
		}
		.drawer_nav li a.current span::after {
				opacity: 1;
		}
		.drawer .fv_section_item_flex {
				margin-bottom: 20px;
		}
		.drawer .fv_section_item {
				width: 80%;
				height: auto;
				border-radius: 0;
				box-shadow: none;
				padding: 0;
				margin: 0 0 10px;
		}
		.drawer .fv_section_item_inner {
				padding: 0;
		}
}
@media(max-width: 840px) {
		.footer_inner_left .footer_inner_tel {
				font-size: 22px;
		}
		.footer_inner_left h4 + p {
				margin-right: 15px;
		}
}
@media(max-width: 840px) {
		.pagetop {
				bottom: 20px;
				right: 20px;
				width: 40px;
				height: 40px;
		}
		.pagetop::after {
				width: 8px;
				height: 8px;
				left: 16px;
				top: calc(50% - 3px);
		}
}
@media(max-width: 767px) {
		.page_container {
				overflow: hidden;
		}
		body {
				font-size: 15px;
		}
		.title_caption {
				font-size: 14px;
				margin-top: 22px;
				font-weight: 500;
		}
		/* ===== HEADER  ===== */
		header {
				height: 55px !important;
		}
		.header_inner {
				padding: 10px 15px 0;
		}
		.header_logo {
				width: 150px;
		}
		.header_tel_flex, .header_tel_notes {
				display: none;
		}
		/* ===== FV  ===== */
		.fv_section_col h1 {
				font-size: 20px;
		}
		.fv_section_col h1 + p {
				font-size: 15px;
				margin-bottom: 20px;
		}
		.fv_section_item {
				width: 100%;
				height: auto;
				padding: 15px 0;
		}
		.fv_section_item_inner {
				padding: 0 5.5vw;
				display: block;
		}
		.fv_section_item_inner_left {
				margin: 0 auto 15px;
				width: 100%;
		}
		.fv_section_item_inner_left p br {
				display: none;
		}
		.fv_section_item_icon {
				width: 44px;
				margin-right: 15px;
		}
		.fv_section_item_inner_left h3 {
				font-size: 20px;
				margin: 0;
		}
		.fv_section_item_inner_left p {
				font-size: 15px;
		}
		.fv_section_item_inner_right {
				display: flex;
				justify-content: center;
		}
		.fv_section_item_inner_right a {
				width: 100%;
				font-size: 15px;
		}
		.left_login .fv_section_item_icon img {
				border: 2px solid #1D3182;
		}
		.right_first .fv_section_item_icon img {
				border: 2px solid #13AAAA;
		}
		/* ===== TOPICS  ===== */
		.topics_section {
				background: #fff;
				padding: 40px 20px;
		}
		.topics_col {
				height: 300px;
				overflow: auto;
		}
		.topics_col::-webkit-scrollbar {
				width: 10px;
		}
		.topics_col_inner {
				padding-right: 0;
		}
		dl.topics_line {
				padding: 10px;
		}
		.topics_date {
				margin-right: 15px;
		}
		.topics_line a {
				padding: 5px 0;
		}
		.topics_cate {
				font-size: 11px;
				height: 20px;
				padding: 0 10px;
		}
		.topics_cate span {
				transform: translateY(-1px);
		}
		/* ===== LINK  ===== */
		.link_section {
				padding: 40px 20px;
		}
		.link_item {
				margin: 0 0 20px;
		}
		.link_item a {
				border-radius: 12px;
				padding: 10px 55px 10px 20px;
		}
		.link_item a::before, .link_item a::after {
				top: calc(50% - 16px);
				right: 15px;
				width: 32px;
				height: 32px;
		}
		.link_item h5 {
				font-size: 17px;
				margin: 0 0 5px;
		}
		.link_item p {
				font-size: 14px;
				line-height: 1.6;
		}
		/* ===== CALENDAR  ===== */
		.calendar_section {
				padding: 40px 20px;
		}
		.calendar_btn_flex {
				margin: 0 0 35px;
		}
		.calendar_btn {
				width: calc(33.3% - 3px);
				margin: 0 0 6px;
				font-size: 20px;
		}
		.calendar_btn span {
				line-height: 0.9;
		}
		.calendar_btn span.en {
				font-size: 11px;
		}
		.calendar_btn a {
				height: 80px;
				box-shadow: 2px 2px 2px #d0e8e8;
				padding: 0 10px 0 15px;
		}
		.calendar_btn a::before, .calendar_btn a::after {
				content: '';
				display: block;
				position: absolute;
				top: 23px;
				right: 10px;
				width: 30px;
				height: 30px;
				border-radius: 50%;
				pointer-events: none;
		}
		.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;
		}
		/* ===== TEMPLATE ===== */
		.template_section {
				padding: 40px 20px;
		}
		.template_lead {
				line-height: 1.8;
		}
		/* ===== RECOMMEND ===== */
		.recommend_body {
				padding: 40px 0;
		}
		.recommend_wrap {
				margin: 0 auto;
				padding: 0 20px;
		}
		.recommend_wrap_col {
				border-radius: 30px;
				padding: 30px 25px;
		}
		.recommend_comment_flex {
				display: flex;
				justify-content: center;
		}
		.recommend_comment {
				height: 55px;
				min-width: inherit;
				border-radius: 50px;
				font-size: 15px;
				margin-bottom: 30px;
				padding: 0 15px;
		}
		.recommend_comment::after {
				bottom: -18px;
				left: calc(50% - 12.5px);
		}
		.recommend_bnr {
				max-width: 570px;
				margin: 0 auto 15px;
		}
		.recommend_bnr img {
				border-radius: 20px;
		}
		.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;
		}
		.recommend_wrap .aligncenter {
				font-size: 12px;
		}
		.contact_section {
				min-height: inherit;
				border-radius: 40px 40px 0 0;
				padding: 30px 20px 40px;
		}
		.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 {
				margin: 0 auto;
				border-radius: 30px;
				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 {
				padding: 40px 20px 90px;
		}
		.footer_company h4 {
				font-size: 20px;
		}
		.footer_company_col_flex {
				display: block;
		}
		.footer_company_col {
				margin-right: 0;
				margin-bottom: 25px;
		}
		.footer_company_col h5 {
				font-size: 15px;
				margin: 0 0 10px;
		}
		.footer_company_col dl {
				margin-bottom: 5px;
				font-size: 14px;
		}
		.footer_company_col dt {
				margin-right: 5px;
		}
		.footer_company_col dd {
				line-height: 1.6;
		}
		footer {
				padding-bottom: 40px;
				padding-left: 0;
				padding-right: 0;
		}
		footer::before {
				height: 100%;
		}
		.footer_inner {
				margin: 0 20px;
				border-radius: 20px;
				min-height: 220px;
				top: -75px;
				margin-bottom: -65px;
		}
		.footer_inner_col {
				padding: 20px;
				margin: 0;
		}
		.footer_inner_flex {
				display: block;
		}
		.footer_inner_left h4 {
				font-size: 22px;
				margin-bottom: 15px;
				margin-left: 58px;
				line-height: 1.4;
		}
		.footer_inner_left h4::after {
				width: 48px;
				height: 48px;
				top: calc(50% - 24px);
				left: -58px;
		}
		.footer_inner_left h4 + p {
				margin-bottom: 15px;
				margin-right: 0;
		}
		.footer_inner_left .contact_section_col_flex {
				display: flex;
				justify-content: center;
		}
		.footer_inner_tel, .footer_inner_left .footer_inner_tel {
				font-size: 7.5vw;
				margin-bottom: 15px;
				display: block;
				text-align: left;
		}
		.footer_inner_tel_right {
				margin-left: 0;
		}
		.footer_inner_tel .tel_hd {
				font-size: 80%;
				margin-right: 5px;
		}
		.footer_inner_tel_notes {
				font-size: 14px;
				text-align: center;
		}
		.footer_inner_right {
				width: auto;
		}
		.gmo_seal {
				width: 120px;
				margin: 25px auto 10px;
		}
		.copyright {
				font-size: 11px;
				text-align: center;
				padding-top: 20px;
		}
		.footer_company h4 {
				width: calc(100% - 20px);
		}
}
@media(max-width: 375px) {
		.recommend_wrap .aligncenter {
				font-size: 11px;
		}
		.footer_inner_tel_notes {
				font-size: 13px;
		}
}