@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .logoBox {
	margin-bottom: 79px;
}
#main .logoBox h2 {
	margin-bottom: 28px;
	padding: 10px 20px 8px;
	text-align: center;
	background-color: #0033A3;
}
#main .logoBox .logoImg {
	margin: 0 auto 29px;
	padding: 0 20px;
	max-width: 1616px;
}
#main .logoBox .text {
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
	transform: rotate(0.05deg);
	-webkit-transform: rotate(0.05deg);
}
#main .sec01 {
	margin-bottom: 23px;
	padding: 2px 0 33px;
	background: url(../img/index/bg01.png) no-repeat left top / 788px,url(../img/index/bg02.png) no-repeat right top / 704px;
}
#main .sec01 h2 {
	margin-bottom: 37px;
	font-size: 5.1rem;
	letter-spacing: 0.18em;
	text-align: center;
}
#main .sec01 .photoUl {
	margin: -40px auto 0;
	width: 1034px;
}
#main .sec01 .photoUl li {
	margin: 40px 44px 0 0;
	padding: 45px 20px 33px;
	width: 314px;
	border: 2px solid #0033A3;
	background-color: #FFF;
	box-sizing: border-box;
}
#main .sec01 .photoUl li:nth-child(3n) {
	margin-right: 0;
}
#main .sec01 .photoUl li .pho {
	margin: 0 auto 5px;
	width: 192px;
}
#main .sec01 .photoUl li .txt {
	font-size: 2.3rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-align: center;
	line-height: 1.75;
}
#main .linkBox {
	margin-bottom: 17px;
}
#main .linkBox .imgBox {
	margin: 0 auto;
	width: 1016px;
}
#main .linkBox .imgBox .subBox {
	margin-right: -70px;
}
#main .linkBox .comBtn {
	margin-top: -38px;
}
#main .sec02 {
	margin-bottom: 107px;
}
#main .sec02 .comImgBox.spec {
	margin-bottom: 81px;
	padding-right: 50px;
	overflow: hidden;
}
#main .sec02 .comImgBox.spec .textBox .text {
	margin-bottom: 141px;
}
#main .sec02 .comImgBox.spec .photoUl {
	margin: -38px 0 -65px;
	width: 554px;
	position: relative;
	order: 1;
}
#main .sec02 .comImgBox.spec .photoUl::before {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 300px;
	background: linear-gradient(to top,#D9E0F1 20%,transparent 80%);
	content: '';
}
#main .sec02 .comImgBox.spec .photoUl li {
	margin: 18px 30px 0 0;
	width: 164px;
}
#main .sec02 .comImgBox.spec .photoUl li:nth-child(3n) {
	margin-right: 0;
}
#main .sec02 .comImgBox.spec .photoUl li .pho {
	margin-bottom: 4px;
}
#main .sec02 .comImgBox.spec .photoUl li .txt {
	font-size: 1.1rem;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.05em;
}
#main .sec02 .inner {
	padding: 75px 0 40px;
	background-color: rgba(0, 51, 163, 0.15);
}
#main .sec02 .inner h2 {
	margin-bottom: 54px;
	color: #0033AF;
	font-size: 4.8rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-align: center;
}
#main .sec02 .inner .subInner {
	margin: 0 auto 50px;
	padding-bottom: 33px;
	width: 1100px;
	background-color: #FFF;
}
#main .sec02 .inner .subInner .photo {
	margin-bottom: 20px;
}
#main .contact {
	margin-top: 172px;
}
#main .contact .innerBox {
	margin-bottom: 86px;
	padding: 81px 0 72px;
	background-color: #FFF;
	box-shadow : 0px 0px 41.99px rgba(0, 0, 0, 0.4);
}
#main .contact .innerBox:last-child {
	margin-bottom: 0;
}
#main .contact .innerBox h2 {
	margin-bottom: 45px;
	color: #0033AF;
	font-size: 4rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-align: center;
}
#main .contact .innerBox h2 .sub {
	margin-top: 4px;
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0;
}
#main .contact .innerBox .text {
	margin-bottom: 69px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.18em;
	text-align: center;
}
#main .contact .innerBox .mailForm {
	margin: 0 auto;
	width: 775px;
}
#main .contact .innerBox .mailForm table {
	width: 100%;
	border-collapse: collapse;
}
#main .contact .innerBox .mailForm th,
#main .contact .innerBox .mailForm td {
	width: 100%;
	display: block;
	text-align: left;
	box-sizing: border-box;
	word-break: break-all;
}
#main .contact .innerBox .mailForm th {
	margin-bottom: 14px;
}
#main .contact .innerBox .mailForm th .txt {
	padding-right: 70px;
	display: inline-block;
	position: relative;
	letter-spacing: 0.18em;
}
#main .contact .innerBox .mailForm th .txt .must {
	padding: 3px 2px;
	position: absolute;
	top: 3px;
	right: 0;
	width: 56px;
	color: #FFF;
	font-size: 1.7rem;
	font-weight: 700;	
	font-family: 'Noto Sans JP', sans-serif;
	text-align: center;
	line-height: 1.2;
	letter-spacing: 0.18em;
	border-radius: 6px;
	background-color: #E60012;
}
#main .contact .innerBox .mailForm th .txt .must.any {
	background-color: #4C4948;
}
#main .contact .innerBox .mailForm td {
	margin-bottom: 25px;
}
#main .contact .innerBox .mailForm tr:last-child td {
	margin-bottom: 0;
}
#main .contact .innerBox .mailForm .chooseUl {
	margin-top: -11px;
}
#main .contact .innerBox .mailForm .chooseUl li {
	margin-top: 11px;
	width: calc((100% - 17px) / 2);
	box-sizing: border-box;
}
#main .contact .innerBox .mailForm .chooseUl.chooseUl01 {
	margin: 0;
	display: block;
}
#main .contact .innerBox .mailForm .chooseUl.chooseUl01 li {
	margin: 0 0 12px;
	width: 100%;
}
#main .contact .innerBox .mailForm .chooseUl.chooseUl01 li:last-child {
	margin-bottom: 0;
}
#main .contact .innerBox .mailForm input[type="radio"] {
	display: none;
}
#main .contact .innerBox .mailForm input[type="radio"] ~ span {
	padding: 12px 0 14px 67px;
    cursor: pointer;
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	border: 1px solid #AEA8A5;
	background: url(../img/common/icon06.png) no-repeat left 22px center / 30px;
}
#main .contact .innerBox .mailForm input[type="radio"]:checked ~ span {
	background-image: url(../img/common/icon06_on.png);
}
#main .contact .innerBox .mailForm select,
#main .contact .innerBox .mailForm textarea,
#main .contact .innerBox .mailForm input[type="tel"],
#main .contact .innerBox .mailForm input[type="text"],
#main .contact .innerBox .mailForm input[type="email"] {
	appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    border-radius: 0;
    height: 57px;
    border: 1px solid #AEA8A5;
    box-sizing: border-box;
	color: #4C4948;
    font-size: 2.1rem;
	font-family: 'Noto Sans JP', sans-serif;
    padding: 0 25px;
    width: 100%;
    background-color: #FFF;
}
#main .contact .innerBox .mailForm textarea {
	padding: 12px 25px;
	height: 186px;
	resize: vertical;
}
#main .contact .innerBox .mailForm select {
	padding-right: 35px;
	background: url(../img/common/icon09.png) no-repeat right 12px center / 22px;
}
input::-webkit-input-placeholder { /* WebKit browsers */
	color: #AEA8A5;
	opacity:1;
}
input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	color: #AEA8A5;
	opacity:1;
}
input::-moz-placeholder {
	color: #AEA8A5;
	opacity:1;
}
input:-ms-input-placeholder { /* Internet Explorer 10+ */
	color: #AEA8A5;
	opacity:1;
}
#main .contact .innerBox .mailForm td .note {
	padding: 7px 10px 4px 30px;
	display: block;
	color: #AEA8A5;
	font-size: 1.8rem;
	font-family: 'Noto Sans JP', sans-serif;
}
#main .contact .innerBox .mailForm td .note.note01 {
	display: flex;
}
#main .contact .innerBox .mailForm td .note.note01 > span {
	display: block;
}
#main .contact .innerBox .mailForm .inputUl {
	margin-top: 26px;
}
#main .contact .innerBox .mailForm .inputUl li {
	width: calc((100% - 17px) / 2);
}
#main .contact .innerBox .mailForm .inputUl li.specLi {
	margin: 20px 0 0;
	width: 100%;
}
#main .contact .innerBox .mailForm .inputUl li .topTxt {
	margin-bottom: 13px;
	padding-left: 5px;
	font-size: 2.1rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	display: block;
}
#main .contact .innerBox .mailForm .agree {
	margin: 20px 0 85px;
}
#main .contact .innerBox .mailForm .agree .txt {
	margin-bottom: 14px;
	padding-left: 5px;
	display: block;
	font-weight: 700;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.18em;
}
#main .contact .innerBox .mailForm .agree a {
	margin-right: 8px;
	padding: 0 20px 2px 0;
	font-weight: 400;
	letter-spacing: 0;
	background: url(../img/common/icon07.png) no-repeat right center / 16px;
}
#main .contact .innerBox .mailForm .agree .btn {
	display: block;
	width: 186px;
}
#main .contact .innerBox .mailForm .submit {
	margin-top: -20px;
}
#main .contact .innerBox .mailForm .submit li {
	margin: 20px auto 0;
	width: 400px;
}
#main .contact .innerBox .mailForm .submit li input {
	appearance:none;
	-moz-appearance:none;
	-webkit-appearance:none;
	width: 100%;
	height: 94px;
	border-radius: 4px;
	text-align: center;
	cursor: pointer;
	font-size: 2.1rem;
	font-weight: bold;
	letter-spacing: 0.18em;
	color: #FFF;
	border: none;
	background: #FF8402;
}
@media all and (min-width: 897px) {
	#main .contact .innerBox .mailForm .submit li input:hover {
		opacity: 0.7;
	}
}
#main .contact .innerBox.innerBox02 {
	margin-bottom: 91px;
	padding-bottom: 78px;
}
#main .contact .innerBox.innerBox02 .tel {
	margin-bottom: 29px;
	text-align: center;
}
#main .contact .innerBox.innerBox02 .tel a {
	padding: 5px 0 5px 55px;
	display: inline-block;
	font-size: 6.4rem;
	font-weight: 700;
	font-family: 'Fira Sans', sans-serif;
	letter-spacing: 0.18em;
	background: url(../img/common/icon08.png) no-repeat left center / 30px;
}
#main .contact .innerBox.innerBox02 .text01 {
	margin-bottom: 21px;
	font-weight: 700;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.18em;
	text-align: center;
}
#main .contact .innerBox.innerBox02 .sml {
	color: #AEA8A5;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.8rem;
	text-align: center;
}
#main .contact .innerBox.innerBox03 h2 {
	margin-bottom: 110px;
}
#main .contact .innerBox .wid01 {
	width: 624px !important;
}
#main .contact .innerBox.innerBox03 {
	padding-bottom: 78px;
}
#main .contact .innerBox.innerBox03 .mailForm table {
	margin-bottom: 113px;
}
#main .contact .innerBox.innerBox03 .mailForm td {
	margin-bottom: 40px;
}
#main .contact .innerBox.innerBox03 .mailForm td .note {
	padding-bottom: 0;
}
#main .contact .innerBox.innerBox03 .mailForm td .txt01 {
	margin-left: 15px;
}
@media all and (min-width: 897px) and (max-width: 1400px) {
	#main .linkBox .imgBox .subBox {
		margin-right: 0;
	}
}
@media all and (max-width: 896px) {
	#main .btnUl {
		margin-bottom: 20px;
		width: 100%;
	}
	#main .btnUl li {
		width: calc(100% / 2);
	}
	#main .btnUl li a {
		display: block;
		color: #FFF;
		font-size: 1.3rem;
		font-weight: 700;
		text-align: center;
		background-color: #FF8402;
	}
	#main .btnUl li a span {
		padding: 14px 10px 12px 37px;
		display: inline-block;
		background: url(../img/common/icon02_sp.png) no-repeat left center / 24px;
	}
	#main .btnUl li:first-child a {
		background-color: #0033A3;
	}
	#main .btnUl li:first-child a span {
		background-image: url(../img/common/icon01_sp.png);
	}
	#main .logoBox {
		margin-bottom: 15px;
	}
	#main .logoBox h2 {
		margin: 0 auto 19px;
		padding: 0;
		max-width: 221px;
		background-color: transparent;
	}
	#main .logoBox .logoImg {
		margin: 0 0 14px;
		padding: 0 25px 0 20px;
		max-width: inherit;
	}
	#main .logoBox .logoImg img {
		width: 100%;
	}
	#main .logoBox .text {
		font-size: 0.7rem;
	}
	#main .sec01 {
		margin-bottom: 37px;
		padding: 17px 0 60px;
		background: url(../img/index/bg01_sp.png) no-repeat center top / cover;
	}
	#main .sec01 h2 {
		margin: 0 -5px 21px;
		font-size: 1.9rem;
	}
	#main .sec01 .photoUl {
		margin: -20px 0 0;
		padding: 0 10px;
		width: auto;
	}
	#main .sec01 .photoUl li {
		margin: 20px 14px 0 0;
		padding: 10px;
		width: calc((100% - 28px) / 3);
		border: 1px solid #0033A3;
	}
	#main .sec01 .photoUl li:nth-child(3n) {
		margin-right: 0;
	}
	#main .sec01 .photoUl li .pho {
		margin: 0 auto 5px;
		width: 58px;
	}
	#main .sec01 .photoUl li .txt {
		font-size: 0.7rem;
	}
	#main .linkBox {
		margin-bottom: 54px;
	}
	#main .linkBox .imgBox {
		margin: 0 20px 0 17px;
		width: auto;
	}
	#main .linkBox .imgBox .subBox {
		margin-right: 0;
	}
	#main .linkBox .imgBox .subBox img {
		width: 100%;
	}
	#main .linkBox .comBtn {
		margin-top: -19px;
	}
	#main .sec02 {
		margin-bottom: 69px;
	}
	#main .sec02 .comImgBox.spec {
		margin: 0 -15px;
		padding: 46px 0 40px;
		background-color: rgba(0, 51, 163, 0.15);
	}
	#main .sec02 .comImgBox.spec .textBox .text {
		margin-bottom: 37px;
	}
	#main .sec02 .comImgBox.spec .photoUl {
		margin: -8px 0 -42px;
		padding: 0 44px;
		width: auto;
	}
	#main .sec02 .comImgBox.spec .photoUl::before {
		height: 150px;
	}
	#main .sec02 .comImgBox.spec .photoUl li {
		margin: 8px 15px 0 0;
		width: calc((100% - 30px) / 3);
	}
	#main .sec02 .comImgBox.spec .photoUl li .pho {
		margin-bottom: 2px;
	}
	#main .sec02 .comImgBox.spec .photoUl li .pho img {
		width: 100%;
	}
	#main .sec02 .comImgBox.spec .photoUl li .txt {
		font-size: 0.5rem;
	}
	#main .sec02 .inner {
		padding: 48px 0 0;
		background-color: transparent;
	}
	#main .sec02 .inner h2 {
		margin-bottom: 19px;
		color: #4C4948;
		font-size: 1.7rem;
		letter-spacing: 0.05em;
	}
	#main .sec02 .inner .subInner {
		margin: 0 -15px 23px;
		padding-bottom: 0;
		width: auto;
	}
	#main .sec02 .inner .subInner .photo {
		margin-bottom: 16px;
	}
	#main .sec02 .inner .subInner .photo img {
		width: 100%;
	}
	#main .sec02 .inner .comBtn {
		width: auto;
		max-width: 200px;
	}
	#main .sec02 .inner .comBtn a {
		font-size: 1.3rem;
		border-radius: 2px;
		letter-spacing: 0.18em;
	}
	#main .sec02 .inner .comBtn a span {
		padding: 14px 0 14px 25px;
		background-size: 14px;
	}
	#main .contact {
		margin-top: 80px;
	}
	#main .contact .content > h2 {
		margin-bottom: 18px;
		color: #0033AF;
		font-size: 2rem;
		text-align: center;
	}
	#main .contact .content > h2 .sub {
		margin-top: 4px;
		display: block;
		font-family: 'Noto Sans JP', sans-serif;
		letter-spacing: 0;
	}
	#main .contact .content > .text {
		margin-bottom: 46px;
		padding: 0 10px 0 25px;
		font-size: 1.4rem;
		font-weight: 700;
		line-height: 1.89;
	}
	#main .contact .innerBox {
		margin: 0 -10px 47px;
		padding: 11px 18px 33px;
		box-shadow : 0px 0px 11px rgba(0, 0, 0, 0.4);
	}
	#main .contact .innerBox h2 {
		margin-bottom: 37px;
		font-size: 2rem;
		letter-spacing: 0;
	}
	#main .contact .innerBox .mailForm {
		margin: 0;
		width: auto;
	}
	#main .contact .innerBox .mailForm th,
	#main .contact .innerBox .mailForm td {
		font-size: 1.5rem;
	}
	#main .contact .innerBox .mailForm th {
		margin-bottom: 7px;
	}
	#main .contact .innerBox .mailForm th .txt {
		padding-right: 47px;
	}
	#main .contact .innerBox .mailForm th .txt.specTxt {
		letter-spacing: 0;
	}
	#main .contact .innerBox .mailForm th .txt .must {
		padding: 2px 2px 4px;
		top: 1px;
		width: 34px;
		font-size: 1.1rem;
		border-radius: 5px;
	}
	#main .contact .innerBox .mailForm td {
		margin-bottom: 23px;
	}
	#main .contact .innerBox .mailForm .chooseUl {
		margin-top: 0;
		display: block;
	}
	#main .contact .innerBox .mailForm .chooseUl li {
		margin: 0 0 5px;
		width: auto;
	}
	#main .contact .innerBox .mailForm .chooseUl li:last-child {
		margin-bottom: 0;
	}
	#main .contact .innerBox .mailForm .chooseUl.chooseUl01 {
		margin: 0;
		display: block;
	}
	#main .contact .innerBox .mailForm .chooseUl.chooseUl01 li {
		margin: 0 0 12px;
		padding-right: 10px;
		width: 100%;
		box-sizing: border-box;
	}
	#main .contact .innerBox .mailForm .chooseUl.chooseUl01 li:last-child {
		margin-bottom: 0;
	}
	#main .contact .innerBox .mailForm input[type="radio"] ~ span {
		padding: 8px 20px 8px 45px;
		background-size: 20px;
		background-position: left 15px center;
	}
	#main .contact .innerBox .mailForm select,
	#main .contact .innerBox .mailForm textarea,
	#main .contact .innerBox .mailForm input[type="tel"],
	#main .contact .innerBox .mailForm input[type="text"],
	#main .contact .innerBox .mailForm input[type="email"] {
		height: 39px;
		border: 1px solid #AEA8A5;
		font-size: 1.5rem;
		padding: 0 20px;
	}
	#main .contact .innerBox .mailForm textarea {
		padding: 9px 20px;
		height: 219px;
	}
	#main .contact .innerBox .mailForm select {
		padding-right: 35px;
		width: 76% !important;
		box-sizing: border-box;
		background: url(../img/common/icon09.png) no-repeat right 12px center / 11px;
	}
	#main .contact .innerBox .mailForm td .note {
		padding: 5px 10px 0 20px;
		font-size: 1.2rem;
	}
	#main .contact .innerBox .mailForm td .note.note01 {
		display: none;
	}
	#main .contact .innerBox .mailForm .inputUl {
		margin-top: 0;
		display: block;
	}
	#main .contact .innerBox .mailForm .inputUl li {
		margin-bottom: 5px;
		width: auto;
	}
	#main .contact .innerBox .mailForm .inputUl li:last-child {
		margin-bottom: 0;
	}
	#main .contact .innerBox .mailForm .inputUl li .topTxt {
		margin-bottom: 2px;
		padding-left: 3px;
		font-size: 1.5rem;
	}
	#main .contact .innerBox .mailForm .agree {
		margin: 18px 0 38px;
		text-align: center;
	}
	#main .contact .innerBox .mailForm .agree .txt {
		margin-bottom: 18px;
		padding-left: 0;
	}
	#main .contact .innerBox .mailForm .agree a {
		padding: 0 15px 2px 0;
		background: url(../img/common/icon07.png) no-repeat right center / 11px;
	}
	#main .contact .innerBox .mailForm .agree .btn {
		width: auto;
	}
	#main .contact .innerBox .mailForm .agree .btn input[type="radio"] ~ span {
		background-position: left calc(50% - 37px) top 9px;
	}
	#main .contact .innerBox .mailForm .submit {
		margin-top: -10px;
	}
	#main .contact .innerBox .mailForm .submit li {
		margin: 10px auto 0;
		width: auto;
		max-width: 269px;
	}
	#main .contact .innerBox .mailForm .submit li input {
		height: 63px;
		border-radius: 4px;
		font-size: 1.5rem;
	}
	#main .contact .innerBox.innerBox02 {
		padding: 35px 0 33px;
	}
	#main .contact .innerBox.innerBox02 h2 {
		margin-bottom: 20px;
		letter-spacing: 0.18em;
	}
	#main .contact .innerBox.innerBox02 .tel {
		margin-bottom: 10px;
	}
	#main .contact .innerBox.innerBox02 .tel a {
		padding: 5px 0 5px 28px;
		font-size: 3.2rem;
		background-size: 15px;
	}
	#main .contact .innerBox.innerBox02 .text01 {
		margin-bottom: 12px;
		font-size: 1.1rem;
	}
	#main .contact .innerBox.innerBox02 .sml {
		font-size: 0.9rem;
	}
	#main .contact .innerBox.innerBox03 {
		margin-top: 25px;
		padding: 44px 20px 0;
	}
	#main .contact .innerBox .wid01 {
		width: auto !important;
	}
	#main .contact .innerBox.innerBox03 {
		padding-bottom: 76px;
	}
	#main .contact .innerBox.innerBox03 .mailForm table {
		margin-bottom: 55px;
	}
	#main .contact .innerBox.innerBox03 .mailForm td {
		margin-bottom: 20px;
	}
	#main .contact .innerBox.innerBox03 .mailForm .inputUl {
		margin-top: 13px;
	}
	#main .contact .innerBox.innerBox03 .mailForm .sel01 {
		width: 100% !important;
	}
}
@media all and (max-width: 374px) {
	.comSecBox .inner .lBox .text {
		font-size: 2rem;
	}
	#main .contact .innerBox .mailForm th,
	#main .contact .innerBox .mailForm td,
	#main .contact .innerBox .mailForm select,
	#main .contact .innerBox .mailForm textarea,
	#main .contact .innerBox .mailForm input[type="tel"],
	#main .contact .innerBox .mailForm input[type="text"],
	#main .contact .innerBox .mailForm input[type="email"],
	#main .contact .innerBox .mailForm .inputUl li .topTxt {
		font-size: 3.7vw;
	}
	
}