@charset "utf-8";
body {
	min-width: 1200px;
	position: relative;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}
*------------------------------------------------------------ 汎用スタイル ------------------------------------------------------------*/
/* 81-XXX */
/* clearfix */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/* flex */
.flex, .flexA, .flexB, .flexC {
	display: flex;
	flex-wrap: wrap;
}
.flexA {
	justify-content: space-around;
}
.flexB {
	justify-content: space-between;
}
.flexC {
	justify-content: center;
}
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main {
	margin: 90px auto 98px;
	color: #3D3A39;
	font-size: 1.6rem;
	line-height: 1.75;
	font-family: "Noto Sans JP", sans-serif;
}
#main a {
	text-decoration: none;
}
#main .content {
	margin: 0 auto;
	max-width: 914px;
}
#main .comBtn a {
	margin: 0 auto;
	padding: 11px;
	width: 357px;
	display: block;
	color: #fff;
	font-size: 3rem;
	font-weight: 500;
	font-feature-settings: "palt";
	text-align: center;
	background: #FF9600;
	border: 1px solid #fff;
	border-radius: 50px;
}
#main .mainVisual {
	padding-bottom: 28px;
	position: relative;
}
#main .mainVisual .content {
	max-width: 1320px;
	align-items: center;
	justify-content: flex-end;
}
#main .mainVisual:after {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background: linear-gradient(0deg, rgba(238, 237, 237, 1) 0%, rgba(245, 245, 245, 0.85) 15.11%, rgba(253, 253, 253, 0.55) 44.65%, rgba(255, 255, 255, 0) 100%);
	height: 44px;
	content: "";
	z-index: -1;
}
#main .mainVisual .lBox {
	margin-top: 22px;
	width: 43.6%;
	text-align: center;
}
#main .mainVisual .lBox .title {
	margin: 0 -3px 35px 3px;
}
#main .mainVisual .lBox .btnList {
	margin-bottom: -7px;
	gap: 0 22px;
}
#main .mainVisual .lBox .btnList li {
	width: 240px;
}
#main .mainVisual .lBox .btnList a {
	padding: 9.5px;
	display: block;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 500;
	font-feature-settings: "palt";
	text-align: center;
	background: #00987D;
	border-radius: 30px;
}
#main .mainVisual .lBox .btnList li:last-child a {
	background: #FF9600;
}
#main .mainVisual .lBox .note {
	position: relative;
	z-index: 1;
}
#main .mainVisual .lBox .note img {
	width: 554px;
}
#main .mainVisual .rBox {
	margin: 0 -51px 0 3.6%;
	width: 52%;
}
#main .fixBtn {
	position: fixed;
	width: 63px;
	right: 0;
	top: 90px;
	z-index: 80;
}
#main .sec01 {
	padding: 73px 0 92px;
	position: relative;
}
#main .sec01:after {
	position: absolute;
	left: 50%;
	width: 30px;
	height: 85px;
	transform: translateX(-50%);
	bottom: -32px;
	background: url(/logipush/img/arrow01.png) no-repeat left top/100%;
	content: "";
}
#main .sec01 h2 {
	margin-bottom: 40px;
	text-align: center;
}
#main .sec01 h2 img {
	width: 557px;
}
#main .sec01 .listUl {
	gap: 23px;
}
#main .sec01 .listUl li {
	padding: 13px 5px;
	position: relative;
	min-height: 266px;
	text-align: center;
	background-color: #fff;
	border: 2px solid #C2C2C2;
	width: calc((100% - 69px)/4);
	box-shadow: 1.5px 1.5px 3px #C2C2C2;
	border-radius: 10px;
}
#main .sec01 .listUl p {
	min-height: 88px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #1A1A1A;
	font-size: 2.1rem;
	font-weight: 500;
	line-height: 1.33;
}
#main .sec01 .listUl .listImg {
	position: absolute;
	left: 0;
	bottom: 17px;
	width: 100%;
}
#main .sec01 .listUl .listImg img {
	width: 158px;
}
#main .sec02 .bgSec {
	padding: 79px 0 138px;
	background: #D7E8DD;
}
#main .sec02 .bgSec h2 {
	margin: 0 auto 50px;
	width: 727px;
}
#main .sec02 .bgSec h3 {
	margin: 0 auto 38px;
	width: 436px;
}
#main .sec02 .midTxt {
	margin-bottom: 50px;
	color: #1A1A1A;
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 2;
	text-align: center;
}
#main .sec02 .midTxt .color {
	color: #FF9600;
}
#main .sec02 .bgSec .pointList {
	margin-bottom: 27px;
	gap: 58px 0;
	padding-bottom: 70px;
	background: url(/logipush/img/arrow02.png) no-repeat center bottom/30px;
}
#main .sec02 .bgSec .pointList li {
	width: 432px;
	min-height: 394px;
	padding: 0 10px 25px;
	text-align: center;
	background-color: #fff;
	border-radius: 20px;
	box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
}
#main .sec02 .bgSec .pointList .num {
	margin: 0 auto 10px;
	padding: 6px;
	width: 200px;
	color: #fff;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	background: #FF9600;
	border-radius: 0px 0px 30px 30px;
}
#main .sec02 .bgSec .pointList .num .large {
	margin-left: 2px;
	font-size: 2.8rem;
	line-height: 1;
	font-weight: 400;
	font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
}
#main .sec02 .bgSec .pointList .listImg {
	margin-bottom: 8px;
}
#main .sec02 .bgSec .pointList .listImg img {
	width: 259px;
}
#main .sec02 .bgSec .pointList .ttl {
	margin-bottom: 14px;
	color: #FF9600;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.2;
}
#main .sec02 .bgSec .pointList .txt {
	line-height: 1.5;
}
#main .sec02 .midTxt02 {
	margin-bottom: 23px;
	font-size: 2.8rem;
	line-height: 1.79;
	font-weight: 600;
}
#main .sec02 .bgSec02 {
	padding: 90px 0 80px;
	background: #EDF4F1;
}
#main .sec02 .bgSec02 .movie {
	margin: 0 auto 42px;
	width: 793px;
	position: relative;
	aspect-ratio: 16/9;
	border-radius: 10px;
	overflow: hidden;
}
#main .sec02 .bgSec02 .movie video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
#main .sec02 .bgSec02 .movie iframe {
	width: calc(100% + 2px);
    height: 100%;
    display: block;
    margin: 0 -1px;
}
#main .sec02 .bgSec02 .midTxt {
	padding: 37px 0 28px;
	margin-bottom: 0;
	background: url(/logipush/img/arrow02.png) no-repeat center top/30px;
}
#main .sec03 {
	padding: 192px 0 20px;
}
#main .sec03 .content {
	max-width: 1236px;
	padding: 0 20px;
}
#main .sec03 .innerBox {
	margin: 0 auto;
	max-width: 910px;
}
#main .sec03 .tabList {
	gap: 0 8px;
}
#main .sec03 .tabList li {
	width: calc((100% - 24px)/4);
}
#main .sec03 .tabList li a {
	padding: 15px 5px 13px;
	height: 100%;
	display: block;
	color: #00987D;
	font-size: 2.4rem;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
	background: #D0ECE7;
}
#main .sec03 .tabList .on a {
	color: #FFF;
	background: #00987D;
}
#main .sec03 .guidanceBox {
	margin-top: 42px;
}
#main .sec03 .borderBox {
	margin-bottom: 41px;
	padding: 22px 4px 27px 105px;
	border: 3px solid #00987D;
}
#main .sec03 .linkList {
	margin: 0 auto;
	width: fit-content;
	gap: 13px 20px;
}
#main .sec03 .linkList li {
	width: 37.8%;
}
#main .sec03 .linkList li:nth-child(3n-1) {
	width: 29%;
}
#main .sec03 .linkList li:nth-child(3n) {
	width: auto;
	flex: 1;
}
#main .sec03 .linkList > li > a {
	padding-left: 18px;
	position: relative;
	color: #1a1a1a;
	display: block;
	font-size: 1.85rem;
	font-weight: bold;
	text-decoration: underline;
}
#main .sec03 .linkList > li > a::before {
	width: 0;
	height: 0;
	position: absolute;
	top: 9px;
	left: 0;
	border-top: 9px solid transparent;
	border-bottom: 9px solid transparent;
	border-left: 14px solid #1a1a1a;
	content: "";
}
#main .sec03 .textBox .linkTtl {
	margin-bottom: 30px;
	padding: 4px 13px;
	min-height: 44px;
	display: flex;
	align-items: center;
	color: #000;
	font-size: 2.1rem;
	font-weight: 500;
	box-sizing: border-box;
	background: #D0ECE7;
}
#main .sec03 .guidanceBox .textBox {
	margin-bottom: 63px;
}
#main .sec03 .guidanceBox .textBox01 {
	margin-bottom: 38px;
}
#main .sec03 .textBox p {
	margin-bottom: 11px;
	font-size: 1.6rem;
	line-height: 1.5;
	text-align: justify;
}
#main .sec03 .textBox p:last-child {
	margin-bottom: 0 !important;
}
#main .sec03 .textBox p a {
	text-decoration: underline;
}
#main .sec03 .guidanceBox .textBox .txt01 {
	line-height: 1.6;
}
#main .sec03 .guidanceBox .textBox p .large {
	font-size: 1.9rem;
	font-weight: 500;
}
#main .sec03 .guidanceBox .textBox p:last-child {
	margin-bottom: 0;
}
#main .sec03 .textBox .noteList {
	margin-bottom: 6px;
}
#main .sec03 .textBox .noteList li {
	margin-bottom: 12px;
	padding-left: 24px;
	color: #3d3a39;
	position: relative;
	display: block;
	font-size: 1.6rem;
	line-height: 1.6;
}
#main .sec03 .textBox .noteList li:last-child {
	margin-bottom: 0;
}
#main .sec03 .textBox .noteList li::before {
	width: 15px;
	height: 15px;
	position: absolute;
	top: 7px;
	left: 0;
	background: #189099;
	border-radius: 50%;
	content: "";
}
#main .sec03 .textBox .noteList li .subNote {
	margin: 8px 0 0 -25px;
	display: block;
	padding-left: 1em;
	text-indent: -1em;
	font-size: 1.3rem;
}
#main .sec03 .textBox .noteList li .subNote a {
	color: #0071B2;
	text-decoration: underline;
}
#main .sec03 .guidanceBox .textBox .blueList {
	margin-left: 22px;
}
#main .sec03 .guidanceBox .textBox .blueList li {
	margin: 0 5px;
	padding: 5px 17px 2px 17px;
	min-width: 142px;
	color: #3d3a39;
	font-size: 1.6rem;
	text-align: center;
	box-sizing: border-box;
	background: #90CBD5;
}
#main .sec03 .textBox table {
	width: 100%;
	border-collapse: collapse;
}
#main .sec03 .textBox th,
#main .sec03 .textBox td {
	padding: 9px 5px;
	font-size: 1.5rem;
	line-height: 1.5;
	text-align: center;
	vertical-align: middle;
	box-sizing: border-box;
	border: 1px solid #A9A9A9;
}
#main .sec03 .textBox th {
	font-size: 1.6rem;
	font-weight: 400;
	background: #F7F7F7;
}
#main .sec03 .textBox .taLeft {
	text-align: left;
}
#main .sec03 .textBox thead th:first-child {
	padding-left: 12px;
	text-align: left;
}
#main .sec03 .textBox tbody th {
	padding-left: 12px;
	background: #E8E8E8;
	text-align: left;
}
#main .sec03 .guidanceBox .textBox .note {
	margin: 17px 0;
	font-size: 1.4rem;
	line-height: 1.43;
}
#main .sec03 .guidanceBox .textBox03 {
	margin-bottom: 77px;
}
#main .sec03 .guidanceBox .textBox03 tbody th {
	width: 25%;
}
#main .sec03 .guidanceBox .textBox03 tbody td {
	width: 22.5%;
}
#main .sec03 .guidanceBox .textBox03 td:first-of-type {
	width: 30%;
	color: #000;
	font-size: 1.2rem;
	line-height: 1.17;
	text-align: left;
}
#main .sec03 .guidanceBox .textBox03 td:first-of-type .sml {
	font-size: 10px;
}
#main .sec03 .guidanceBox .textBox04 {
	margin-bottom: 77px;
}
#main .sec03 .guidanceBox .textBox04 p {
	margin-bottom: 5px;
}
#main .sec03 .guidanceBox .textBox04 .txt01 {
	margin-bottom: 25px;
}
#main .sec03 .guidanceBox .textBox04 table {
	margin-bottom: 15px;
}
#main .sec03 .guidanceBox .textBox04 th,
#main .sec03 .guidanceBox .textBox04 td {
	width: calc(100%/3);
	line-height: 1.5;
}
#main .sec03 .guidanceBox .textBox04 thead th:first-child {
	text-align: left;
}
#main .sec03 .guidanceBox .textBox04 .txtList li {
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.5;
}
#main .sec03 .guidanceBox .textBox05 p {
	margin-bottom: 14px;
}
#main .sec03 .guidanceBox .textBox .link {
	margin-left: 6px;
}
#main .sec03 .guidanceBox .textBox .link a {
	padding-left: 20px;
	display: inline-block;
	color: #3D3A39;
	font-weight: 500;
	text-decoration: none;
	background: url(/logipush/img/icon01.png) no-repeat left 5px/13px;
}
#main .sec03 .guidanceBox .textBox .link .pdf:after {
	margin-left: 20px;
	width: 22px;
	height: 21px;
	display: inline-block;
	content: "";
	vertical-align: -5px;
	background: url(/logipush/img/icon02.png) no-repeat left top/22px;
}
#main .contactBox {
	padding-bottom: 23px;
	margin: 105px auto 0;
	max-width: 910px;
	text-align: center;
	border: 1px solid #00987D;
}
#main .contactBox .ttl {
	margin-bottom: 18px;
	padding: 14px 10px 16px;
	color: #fff;
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 1.9;
	text-align: center;
	background-color: #00987D;
}
#main .contactBox .link a {
	color: #003FB2;
	font-size: 1.7rem;
	text-decoration: underline;
}
#main .sec03 .usageBox {
	margin-top: 42px;
}
#main .sec03 .usageBox .textBox:not(:last-child) {
	margin-bottom: 126px;
}
#main .sec03 .usageBox .textBox p {
	margin-bottom: 28px;
}
#main .sec03 .usageBox .textBox p:last-child {
	margin-bottom: 0 !important;
}
#main .sec03 .usageBox li {
	margin-bottom: 20px;
}
#main .sec03 .usageBox li:last-child {
	margin-bottom: 0;
}
#main .sec03 .usageBox dl {
	min-height: 120px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#main .sec03 .usageBox dt {
	width: 150px;
	padding-top: 20px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFF;
	font-size: 2.5rem;
	font-weight: 500;
	background: #00987D;
}
#main .sec03 .usageBox li:first-child dt {
	padding-top: 0;
}
#main .sec03 .usageBox dt::before {
	width: 100px;
	height: 45px;
	position: absolute;
	left: 25px;
	top: -1px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	background: #fff;
	content: "";
}
#main .sec03 .usageBox li:first-child dt::before {
	display: none;
}
#main .sec03 .usageBox dt:after {
	width: 97px;
	height: 60px;
	position: absolute;
	bottom: -57px;
	left: 50%;
	transform: translate(-50%);
	background: url(/logipush/img/time_box_icon01.png) no-repeat left bottom / 100% 100%;
	content: "";
	z-index: 1;
}
#main .sec03 .usageBox li:last-child dt:after {
	display: none;
}
#main .sec03 .usageBox dd {
	width: calc(100% - 150px);
	border: 1px solid #00929A;
}
#main .sec03 .usageBox dd {
	padding: 25px 22px;
	font-size: 1.6rem;
	line-height: 1.4;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
}
#main .sec03 .usageBox dd a {
	color: #0071b2;
	text-decoration: underline;
}
#main .sec03 .usageBox dd .ttl {
	margin-bottom: 6px;
	display: block;
	width: 100%;
	font-size: 1.8rem;
	font-weight: 500;
}
#main .sec03 .usageBox .btmText {
	margin-top: 12px;
	font-size: 1.4rem;
	line-height: 1.393;
}
#main .sec03 .questionsBox {
	margin-top: 42px;
}
#main .sec03 .questionsBox .tabNavi {
	margin-bottom: 60px;
	gap: 0 20px;
}
#main .sec03 .questionsBox .tabNavi li {
	width: calc((100% - 40px)/3);
}
#main .sec03 .questionsBox .tabNavi a {
	min-height: 84px;
	color: #1A1A1A;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.35;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	border: 1px solid #666;
}
#main .sec03 .questionsBox .tabNavi .on a {
	color: #fff;
	background-color: #666;
}
#main .sec03 .questionsBox .heading-lv2 {
	margin-bottom: 35px;
}
#main .sec03 .questionsBox .heading-lv2 .heading_title {
	font-weight: 500;
}
#main .sec03 .questionsBox .list-note {
	margin-top: 0;
}
#main .sec03 .questionsBox .textList {
	text-indent: -1em;
	padding-left: 1em;
}
#main .sec03 .questionsBox .textBox:not(:last-child) {
	margin-bottom: 115px;
}
#main .sec03 .faq-layout {
	cursor: pointer;
}
#main .sec03 .faq-layout .faq_detail .faq_answer > .faq_content {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
}
#main .sec03 .faq-layout .faq_trigger .faq_question > .faq_heading {
	color : #1A1A1A;
	font-weight: 500;
}
#main .sec03 .faq-layout .faq_detail .faq_answer > .faq_content p {
	width: 100%;
}
#main .sec03 .faq-layout .faq_detail .faq_answer > .faq_content p a {
	color: #0068B7;
	text-decoration: underline;
}
#main .sec03 .faq-layout .faq_detail .faq_answer > .faq_content .midImg {
	width: 100%;
	text-align: center;
}
#main .sec03 .faq-layout .faq_detail th {
	width: 19%;
	font-size: 1.7rem;
	background: #EFEFEF;
}
#main .sec03 .faq-layout .faq_detail td {
	padding: 8px 14px;
	font-size: 1.7rem;
	line-height: 1.15;
	text-align: left;
}
#main .sec03 .securityBox {
	margin-top: 42px;
}
#main .sec03 .securityBox .textBox:not(:last-child) {
	margin-bottom: 110px;
}
#main .sec03 .securityBox .linkTtl {
	margin-bottom: 18px;
	padding: 1px 16px 3px;
	color: #fff;
	font-size: 2.4rem;
	background: #00987D;
}
#main .sec03 .securityBox .movieList {
	gap: 18px 0;
}
#main .sec03 .securityBox .movieList li {
	padding: 10px 0;
	width: 47%;
	align-items: flex-end;
	display: flex;
	border-bottom: 1px solid #C2C2C2;
}
#main .sec03 .securityBox .movieList .num {
	width: 37px;
	height: 37px;
	color: #666;
	font-size: 2.4rem;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #DCDCDC;
}
#main .sec03 .securityBox .movieList .ttl {
	margin: 0 0 -3px 20px;
	color: #3E3A39;
	font-size: 1.8rem;
	flex: 1;
	line-height: 1.33;
}
#main .sec03 .securityBox .movieList .btn {
	width: 115px;
}
#main .sec03 .securityBox .movieList .btn a {
	padding: 5px 5px 4px;
	display: block;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: center;
	background: #0C9584;
	border-radius: 10px;
}
#main .sec03 .securityBox .movieList .btn img {
	width: 49px;
	margin: 0 auto -1px;
	display: block;
}
#main .sec03 .securityBox .textBox02 .linkTtl {
	margin-bottom: 25px;
}
#main .sec03 .securityBox .docList li {
	padding: 10px 5px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid #C2C2C2;
}
#main .sec03 .securityBox .docList p {
	margin: 6px 10px 0 0;
	padding-left: 1.4em;
	text-indent: -1.4em;
	flex: 1;
	color: #3E3A39;
	font-size: 2rem;
	line-height: 1.5;
}
#main .sec03 .securityBox .docList .btn a {
	padding: 4px 4px 4px 40px;
	display: block;
	width: 192px;
	color: #fff;
	font-size: 1.9rem;
	font-weight: 500;
	text-align: center;
	background: #8F8F8F url(/logipush/img/icon03.png) no-repeat 10px center/27px;
	border-radius: 10px;
}
#main .sec03 .securityBox .docList .btn02 a {
	padding: 4px;
	background: #fff;
	color: #4D4D4D;
	font-size: 1.8rem;
	border: 1px solid #4D4D4D;
}
#main .sec03 .securityBox .docList .btn02 a span {
	display: inline-block;
	padding-right: 28px;
	background: url(/logipush/img/icon04.png) no-repeat right center/18px;
}
.mfp-container {
	position: fixed;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  #main .screenBox {
    width: 1200px;
  }
}
@media all and (min-width: 768px) {
	#main .mainVisual .lBox .btnList a:hover,#main .comBtn a:hover {
		opacity: 0.7;
	}
	#main .sec03 .usageBox dd a:hover {
		text-decoration: none;
	}
	#main .sec03 .guidanceBox .pdtBtn a:hover,
	.comImgList li a:hover {
		opacity: 0.7;
	}
	#main .sec03 .tabList li a:hover {
		color: #FFF;
		background: #00987D;
	}
	#main .sec03 .linkList > li > a:hover {
		text-decoration: none;
	}
	#main .sec03 .textBox a:hover,#main .contactBox .link a:hover {
		text-decoration: none !important;
	}
	#main .sec03 .guidanceBox .textBox .link a:hover {
		opacity: 0.7;
	}
	#main .sec03 .questionsBox .tabNavi a:hover {
		color: #fff;
  		background-color: #666;
	}
	#main .sec03 .securityBox .movieList .btn a:hover,#main .sec03 .securityBox .docList .btn02 a:hover {
		opacity: 0.7;
	}
	#main .sec03 .faq-layout {
		border-radius: 10px;
		box-shadow: -1px 1px 2px rgba(0, 0, 0, .4);
	}
	#main .sec03 .faq-layout .faq_trigger {
		padding: 22px 60px 22px 18px;
		border-radius: 10px;
	}
	#main .sec03 .faq-layout .faq_trigger .faq_question > .faq_icon {
		padding-bottom: 5px;
		width: 43px;
		height: 43px;
		line-height: 1;
		font-size: 2.2rem;
	}
	#main .sec03 .faq-layout .faq_trigger::before, .faq-layout .faq_trigger::after {
		width: 23px;
	}
	#main .sec03 .faq-layout .faq_detail .faq_answer > .faq_icon {
		padding-bottom: 5px;
		margin-top: 7px;
		width: 43px;
		height: 43px;
		line-height: 1;
		font-size: 2.2rem;
	}
	#main .sec03 .faq-layout .faq_detail {
		padding: 21px 40px 23px 18px;
		border-radius: 0 0 10px 10px;
	}
	#main .sec03 .faq-layout .faq_detail .faq_answer > .faq_content {
		padding-top: 0;
	}
	#main .sec03 .faq-layout .faq_detail .faq_answer > .faq_content p {
		margin-bottom: 17px;
		font-size: 1.8rem;
		line-height: 1.56;
	}
	#main .sec03 .faq-layout .faq_detail .faq_answer > .faq_content .midImg02 {
		margin-top: 20px;
	}
	#main .sec03 .faq-layout .faq_detail .faq_answer > .faq_content .line01 {
		min-height: 55px;
		display: flex;
		align-items: center;
	}
	.mfp-close {
		padding: 0 0 4px !important;
		right: 0 !important;
		top: -85px !important;
		width: 73px !important;
		height: 73px;
		display: flex !important;
		justify-content: center;
		align-items: center;
		line-height: 1;
		font-size: 45px;
		font-weight: 100;
		transition: .3s;
		font-family: "Noto Sans JP", sans-serif;
		background: #019069 !important;
		opacity: 1 !important;
		border-radius: 50%;
	}
	.mfp-close:hover {
		opacity: 0.7 !important;
	}
}
@media all and (max-width: 767px) {
	#main {
		margin: 56px auto 37px;
		font-size: 1.4rem;
		overflow: hidden;
	}
	#main .content {
		margin: 0 20px;
	}
	#main .comBtn a {
		width: 100%;
		max-width: 320px;
		font-size: 2rem;
	}
	#main .mainVisual .content {
		overflow: visible;
	}
	#main .mainVisual .lBox {
		width: 100%;
		order: 1;
	}
	#main .mainVisual .lBox .title {
		margin: 0 0 20px;
	}
	#main .mainVisual .lBox .btnList {
		gap: 0 10px;
	}
	#main .mainVisual .lBox .btnList li {
		width: 150px;
	}
	#main .mainVisual .lBox .btnList a {
		padding: 7px;
		font-size: 1.6rem;
	}
	#main .mainVisual .lBox .note img {
		width: auto;
	}
	#main .mainVisual .rBox {
		margin: 0 -20px;
		width: auto;
		order: 0;
	}
	#main .fixBtn {
		width: 40px;
	}
	#main .sec01 {
		padding: 40px 0 50px;
	}
	#main .sec01:after {
		width: 20px;
		height: 55px;
		bottom: -20px;
	}
	#main .sec01 h2 {
		margin-bottom: 20px;
	}
	#main .sec01 h2 img {
		width: 330px;
	}
	#main .sec01 .listUl {
		gap: 15px 0;
		justify-content: space-between;
	}
	#main .sec01 .listUl li {
		padding: 13px 5px;
		min-height: 204px;
		width: 48%;
	}
	#main .sec01 .listUl p {
		min-height: 60px;
		font-size: 1.6rem;
	}
	#main .sec01 .listUl .listImg {
		bottom: 10px;
	}
	#main .sec01 .listUl .listImg img {
		width: 120px;
	}
	#main .sec02 .bgSec {
		padding: 40px 0 70px;
	}
	#main .sec02 .bgSec h2 {
		margin-bottom: 25px;
		width: 330px;
	}
	#main .sec02 .bgSec h3 {
		margin-bottom: 20px;
		width: 220px;
	}
	#main .sec02 .midTxt {
		margin-bottom: 25px;
		font-size: 1.7rem;
	}
	#main .sec02 .bgSec .pointList {
		margin-bottom: 20px;
		padding-bottom: 50px;
		background-size: 20px;
		display: block;
	}
	#main .sec02 .bgSec .pointList li {
		width: auto;
		min-height: inherit;
		padding: 0 10px 25px;
	}
	#main .sec02 .bgSec .pointList li:not(:last-child) {
		margin-bottom: 25px;
	}
	#main .sec02 .bgSec .pointList .num {
		width: 160px;
		font-size: 1.8rem;
	}
	#main .sec02 .bgSec .pointList .num .large {
		font-size: 2.4rem;
	}
	#main .sec02 .bgSec .pointList .listImg img {
		width: 200px;
	}
	#main .sec02 .bgSec .pointList .ttl {
		font-size: 2rem;
	}
	#main .sec02 .midTxt02 {
		font-size: 2rem;
	}
	#main .sec02 .bgSec02 {
		padding: 45px 0 40px;
	}
	#main .sec02 .bgSec02 .movie {
		margin-bottom: 25px;
		width: auto;
	}
	#main .sec02 .bgSec02 .midTxt {
		background-size: 20px;
	}
	#main .sec03 {
		padding: 40px 0;
	}
	#main .sec03 .content {
		padding: 0;
	}
	#main .sec03 .tabList {
		margin-top: -2px;
		justify-content: space-between;
		gap: 0;
	}
	#main .sec03 .tabList li {
		margin: 2px 0 0 0;
		width: 49.8%;
	}
	#main .sec03 .tabList li a {
		padding: 7px 5px 6px;
		font-size: 1.34rem;
	}
	#main .sec03 .innerBox {
		padding: 0;
		max-width: inherit;
	}
	#main .sec03 .borderBox {
		margin-bottom: 34px;
		padding: 12px 12px 14px 25px;
		border-width: 2px;
	}
	#main .sec03 .linkList {
		margin-top: -9px;
		gap: 0;
	}
	#main .sec03 .linkList li {
		margin-top: 9px;
		width: 60% !important;
	}
	#main .sec03 .linkList li:nth-child(2n) {
		width: 40% !important;
	}
	#main .sec03 .linkList > li > a {
		padding-left: 11px;
		font-size: 1.25rem;
	}
	#main .sec03 .linkList li a:hover {
		text-decoration: underline;
	}
	#main .sec03 .linkList > li > a::before {
		top: 6px;
		border-top-width: 6px;
		border-bottom-width: 6px;
		border-left-width: 9px;
	}
	#main .sec03 .guidanceBox {
		margin-top: 34px;
	}
	#main .sec03 .guidanceBox .textBox {
		margin-bottom: 28px;
	}
	#main .sec03 .textBox .linkTtl {
		margin-bottom: 18px;
		padding: 4px 15px;
		line-height: 1;
		min-height: 20px;
		font-size: 1.25rem;
	}
	#main .sec03 .textBox p {
		margin-bottom: 11px;
		font-size: 1.2rem;
		line-height: 1.4;
	}
	#main .sec03 .textBox .noteList {
		margin-bottom: 15px;
	}
	#main .sec03 .textBox .noteList li {
		margin-bottom: 19px;
		padding-left: 17px;
		font-size: 1.2rem;
		line-height: 1.33;
	}
	#main .sec03 .textBox .noteList li::before {
		width: 11px;
		height: 11px;
		top: 2px;
		left: 2px;
	}
	#main .sec03 .guidanceBox .textBox .blueList li {
		margin: 0 0 0 8px;
		padding: 4px 13px 2px 13px;
		min-width: 80px;
		font-size: 1.21rem;
	}
	#main .sec03 .guidanceBox .textBox .blueList {
		margin-left: 0;
	}
	#main .sec03 .guidanceBox .textBox .blueList li:first-child {
		margin: 0;
	}
	#main .sec03 .textBox .noteList li .subNote {
		margin: 8px 0 0 -15px;
		font-size: 1.2rem;
	}
	#main .sec03 .guidanceBox .textBox p .large {
		font-size: 1.5rem;
	}
	#main .sec03 .textBox th, #main .sec03 .textBox td {
		font-size: 1rem;
		padding: 5px;
	}
	#main .sec03 .guidanceBox .textBox03 td:first-of-type {
		font-size: 1rem;
	}
	#main .sec03 .textBox tbody th, #main .sec03 .textBox thead th:first-child {
		padding-left: 5px;
	}
	#main .sec03 .guidanceBox .textBox .note {
		font-size: 1.2rem;
	}
	#main .sec03 .guidanceBox .textBox04 th, #main .sec03 .guidanceBox .textBox04 td {
		font-size: 0.9rem;
	}
	#main .sec03 .guidanceBox .textBox04 .txtList li {
		font-size: 1.3rem;
	}
	#main .sec03 .guidanceBox .textBox .link a {
		padding-left: 15px;
		background-size: 10px;
	}
	#main .sec03 .guidanceBox .textBox .link .pdf::after {
		margin-left: 10px;
		background-size: 18px;
		width: 18px;
		height: 16px;
	}
	#main .contactBox {
		margin-top: 60px;
		padding-bottom: 10px;
	}
	#main .contactBox .ttl {
		margin-bottom: 5px;
		padding: 4px 10px 1px;
		font-size: 1.25rem;
	}
	#main .contactBox .link a {
		font-size: 1.2rem;
	}
	#main .sec03 .usageBox {
		margin-top: 34px;
	}
	#main .sec03 .usageBox .textBox:not(:last-child) {
		margin-bottom: 50px;
	}
	#main .sec03 .usageBox .textBox p {
		margin-bottom: 14px;
	}
	#main .sec03 .usageBox li {
		margin-bottom: 9px;
	}
	#main .sec03 .usageBox dl {
		min-height: 70px;
	}
	#main .sec03 .usageBox dt {
		width: 75px;
		font-size: 1.25rem;
	}
	#main .sec03 .usageBox dt::before {
		width: 53px;
		height: 23px;
		left: 11px;
	}
	#main .sec03 .usageBox dt:after {
		width: 49px;
		height: 30px;
		bottom: -28px;
	}
	#main .sec03 .usageBox dd {
		padding: 7px 5px 7px 11px;
		width: calc(100% - 75px);
		font-size: 0.95rem;
		line-height: 1.31;
	}
	#main .sec03 .usageBox dd a:hover {
		text-decoration: underline;
	}
	#main .sec03 .usageBox dd .ttl {
		margin-bottom: 5px;
		font-size: 1.2rem;
	}
	#main .sec03 .usageBox dd .note {
		margin-top: 6px;
		font-size: 0.95rem;
		line-height: 1.25;
	}
	#main .sec03 .usageBox .btmText {
		margin-top: 8px;
		font-size: 1.1rem;
	}
	#main .sec03 .questionsBox {
		margin-top: 34px;
	}
	#main .sec03 .questionsBox .tabNavi {
		margin-bottom: 30px;
		gap: 0 10px;
	}
	#main .sec03 .questionsBox .tabNavi li {
		width: calc((100% - 20px)/3);
	}
	#main .sec03 .questionsBox .tabNavi a {
		min-height: 42px;
		font-size: 1.2rem;
		line-height: 1.2;
	}
	#main .sec03 .questionsBox .heading-lv2 {
		margin-bottom: 20px;
	}
	#main .sec03 .questionsBox .textBox:not(:last-child) {
		margin-bottom: 50px;
	}
	#main .sec03 .faq-layout .faq_detail th {
		font-size: 1rem;
		width: 24%;
	}
	#main .sec03 .faq-layout .faq_detail td {
		padding: 4px 7px;
		font-size: 1rem;
	}
	#main .sec03 .faq-layout .faq_detail .faq_answer {
		display: flex;
	}
	#main .sec03 .faq-layout .faq_detail .faq_answer > .faq_icon {
		flex-shrink: 0;
	}
	#main .sec03 .securityBox {
		margin-top: 34px;
	}
	#main .sec03 .securityBox .textBox:not(:last-child) {
		margin-bottom: 50px;
	}
	#main .sec03 .securityBox .movieList {
		display: block;
	}
	#main .sec03 .securityBox .movieList li {
		padding: 5px 0;
		width: auto;
	}
	#main .sec03 .securityBox .movieList .num {
		width: 30px;
		height: 30px;
		font-size: 1.8rem;
	}
	#main .sec03 .securityBox .movieList .ttl {
		margin: 0 0 -1px 10px;
		font-size: 1.4rem;
	}
	#main .sec03 .securityBox .movieList .btn {
		width: 80px;
	}
	#main .sec03 .securityBox .movieList .btn a {
		font-size: 1.2rem;
	}
	#main .sec03 .securityBox .movieList .btn img {
		width: 30px;
	}
	#main .sec03 .securityBox .textBox02 .linkTtl {
		margin-bottom: 15px;
	}
	#main .sec03 .securityBox .docList li {
		padding: 10px 5px;
	}
	#main .sec03 .securityBox .docList p {
		margin: 1px 5px 0 0;
		font-size: 1.3rem;
	}
	#main .sec03 .securityBox .docList .btn a {
		padding-left: 30px;
		width: 90px;
		font-size: 1.4rem;
		background-size: 16px;
	}
	#main .sec03 .securityBox .docList .btn02 a {
		padding: 8px 2px;
		font-size: 1.1rem;
		font-feature-settings: "palt";
	}
	#main .sec03 .securityBox .docList .btn02 a span {
		padding-right: 14px;
		background-size: 9px;
	}
}
@media all and (max-width: 374px) {
	#main .sec01 .listUl p {
		font-size: 4.1vw;
	}
	#main .sec02 .midTxt {
		font-size: 4.6vw;
	}
	#main .sec02 .midTxt02 {
		font-size: 5.7vw;
	}
}
@media all and (max-width: 359px) {
	#main .mainVisual .lBox .btnList li {
		width: 130px;
	}
	#main .mainVisual .lBox .btnList a {
		font-size: 1.3rem;
	}
}

body.bodyFix {
	position: fixed;
	width: 100%;
	height: 100%;
}
@media all and (min-width: 768px) {
	body.bodyFix {
		overflow-y: scroll;
	}
}
.mfp-fade.mfp-bg {
	opacity: 0;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.8;
}
.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}