@charset "UTF-8";

/* -----------------------------------------------------------------------------
  common parts
----------------------------------------------------------------------------- */

/* bg-diamond */

@media all and (min-width:768px){
	.bg-diamond {
		position: relative;
		background: url("../img/common/ptn_diamond_01.png") repeat center top;
		color: #fff;
		overflow: hidden;
	}
	.bg-diamond::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 100%;
		background: #01132c;
		z-index: -1;
	}
	.bg-diamond::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 50%;
		width: 1366px;
		height: 100%;
		margin-left: -683px;
		background: -moz-linear-gradient(left,#01132c 0%,#022759 50%,#01132c 100%);
		background: -webkit-linear-gradient(left,#01132c 0%,#022759 50%,#01132c 100%);
		background: linear-gradient(to right,#01132c 0%,#022759 50%,#01132c 100%);
		z-index: -1;
	}
}

@media screen and (max-width:767px){
	.bg-diamond {
		position: relative;
		background: url("../img/common/ptn_diamond_01.png") repeat center top;
		color: #fff;
		overflow: hidden;
	}
	.bg-diamond::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 100%;
		background: -moz-linear-gradient(left,#01132c 0%,#022759 50%,#01132c 100%);
		background: -webkit-linear-gradient(left,#01132c 0%,#022759 50%,#01132c 100%);
		background: linear-gradient(to right,#01132c 0%,#022759 50%,#01132c 100%);
		z-index: -1;
	}
}

/* lower-intro */

@media all and (min-width:768px){
	.lower-head {
		padding-top: 40px;
		padding-bottom: 0;
	}
	.lower-head__ico {
		display: block;
		margin: 0 auto;
	}
	.lower-head__ico::before {
		content: "";
		display: block;
		padding-top: 71px;
	}
	.lower-head__label {
		position: relative;
		display: block;
		margin-top: 6px;
		margin-bottom: 18px;
		padding-bottom: 12px;
		text-align: center;
		font-size: 12px;
		font-weight: normal;
	}
	.lower-head__label::before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		display: block;
		width: 70px;
		margin: auto;
		border-bottom: 4px solid #fff;
	}
	.lower-head__body {
		text-align: center;
		line-height: 1.32;
		font-size: 44px;
		font-weight: normal;
	}
	.lower-head__body--m {
		margin-left: 0.375em;
		letter-spacing: 0.375em;
	}
}

@media screen and (max-width:767px){
	.lower-head {
		padding-top: 30px;
		padding-bottom: 0;
	}
	.lower-head__ico {
		display: block;
		margin: 0 auto;
	}
	.lower-head__ico::before {
		content: "";
		display: block;
		padding-top: 85px;
	}
	.lower-head__label {
		position: relative;
		display: block;
		margin-top: 12px;
		margin-bottom: 18px;
		padding-bottom: 24px;
		text-align: center;
		font-size: 20px;
		font-weight: normal;
	}
	.lower-head__label::before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		display: block;
		width: 120px;
		margin: auto;
		border-bottom: 4px solid #fff;
	}
	.lower-head__body {
		text-align: center;
		line-height: 1.32;
		font-size: 50px;
		font-weight: normal;
	}
	.lower-head__body--m {
		margin-left: 0.375em;
		letter-spacing: 0.375em;
	}
}

/* lower-title */

@media all and (min-width:768px){
	.lower-title {
		padding-top: 52px;
		padding-bottom: 30px;
	}
	.lower-title__body {
		position: relative;
		display: inline-block;
		padding-right: 33px;
		vertical-align: top;
		line-height: 2.36;
		font-size: 14px;
		font-weight: normal;
		color: #e7df00;
		overflow: hidden;
	}
	.lower-title__body::before {
		content: "";
		position: absolute;
		top: 0;
		left: calc(100% - 3px);
		width: 100%;
		height: 100%;
		border-left: 5px solid #e7df00;
		transform-origin: right bottom;
		transform: skewX(45deg);
	}
	.lower-title__body::after {
		content: "";
		position: absolute;
		bottom: 0;
		right: 0;
		width: 20px;
		height: 20px;
		border-right: 3px solid #e7df00;
		border-bottom: 3px solid #e7df00;
	}
	.lower-title__body span {
		position: relative;
		display: inline-block;
		padding-left: 36px;
		padding-right: 3px;
		vertical-align: top;
		overflow: hidden;
	}
	.lower-title__body span::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border: 3px solid #e7df00;
		border-left: 5px solid #e7df00;
		border-right: none;
		transform-origin: left top;
		transform: skewX(45deg);
	}
	.lower-title__lead {
		margin-top: 18px;
		line-height: 1.5;
		font-size: 34px;
		font-weight: normal;
	}
	.lower-title__lead span {
		display: block;
		margin-top: 12px;
		font-size: 50%;
	}
	.lower-accordion {
		display: none;
	}
}

@media screen and (max-width:767px){
	.lower-title {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.lower-title__body {
		position: relative;
		display: inline-block;
		padding-right: 48px;
		vertical-align: top;
		line-height: 2.4;
		font-size: 20px;
		font-weight: normal;
		color: #e7df00;
		overflow: hidden;
	}
	.lower-title__body::before {
		content: "";
		position: absolute;
		top: 0;
		left: calc(100% - 4px);
		width: 100%;
		height: 100%;
		border-left: 7px solid #e7df00;
		transform-origin: right bottom;
		transform: skewX(45deg);
	}
	.lower-title__body::after {
		content: "";
		position: absolute;
		bottom: 0;
		right: 0;
		width: 27px;
		height: 27px;
		border-right: 4px solid #e7df00;
		border-bottom: 4px solid #e7df00;
	}
	.lower-title__body span {
		position: relative;
		display: inline-block;
		padding-left: 56px;
		padding-right: 8px;
		vertical-align: top;
		overflow: hidden;
	}
	.lower-title__body span::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border: 4px solid #e7df00;
		border-left: 7px solid #e7df00;
		border-right: none;
		transform-origin: left top;
		transform: skewX(45deg);
	}
	.lower-title__lead {
		margin-top: 18px;
		line-height: 1.59;
		font-size: 38px;
		font-weight: normal;
	}
	.lower-title__lead span {
		display: block;
		margin-top: 12px;
		line-height: 1.71;
		font-size: 56%;
	}
	.lower-accordion {
		position: absolute;
		top: 0;
		right: 30px;
		width: 70px;
	}
	.lower-accordion a {
		position: relative;
		display: block;
		padding-top: 36px;
		border: 2px solid #fff;
	}
	.lower-accordion a i {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 100%;
	}
	.lower-accordion a i::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 100%;
		background: url("../img/common/arw_btn01_w_t.svg") no-repeat center center;
		background-size: 32px;
		opacity: 1;
	}
	.lower-accordion a i::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 100%;
		background: url("../img/common/arw_btn01_w_b.svg") no-repeat center center;
		background-size: 32px;
		opacity: 0;
	}
	.lower-accordion a.is-closed i::before {
		opacity: 0;
	}
	.lower-accordion a.is-closed i::after {
		opacity: 1;
	}
}

@media all and (min-width:768px) {
	.c-txt + .c-txt {
		margin-top: 10px;
	}
}
@media screen and (max-width:767px) {
	.c-txt + .c-txt {
		margin-top: 5px;
	}
}


/* -----------------------------------------------------------------------------
	original parts
----------------------------------------------------------------------------- */

/* lower-intro */

@media all and (min-width:768px) {
	.lower-head__ico--contact {
		width: 62px;
		background: url("../img/contact/ico_head_contact.svg") no-repeat center bottom;
		background-size: contain;
	}
}

@media screen and (max-width:767px) {
	.lower-head__ico--contact {
		width: 70px;
		background: url("../img/contact/ico_head_contact.svg") no-repeat center bottom;
		background-size: contain;
	}
}

/* -----------------------------------------------------------------------------
	contact
----------------------------------------------------------------------------- */

.warning-msg {
	color: #c70019;
	font-weight: bold;
}

/* contact-content */

@media all and (min-width:768px) {
	.contact-content {
		padding-top: 40px;
		padding-bottom: 120px;
	}
	.contact-content__section {
		margin-top: 38px;
	}
	.contact-content__section:first-child {
		margin-top: 0;
	}
	.contact-content__ttl {
		margin: 0;
		padding-left: 2em;
		line-height: 2;
		font-size: 24px;
		font-weight: bold;
		text-indent: -2em;
	}
	.contact-content__box {
		margin-top: 8px;
		font-size: 24px;
	}
}

@media screen and (max-width:767px) {
	.contact-content {
		padding-top: 60px;
		padding-bottom: 100px;
	}
	.contact-content__section {
		margin-top: 50px;
	}
	.contact-content__section:first-child {
		margin-top: 0;
	}
	.contact-content__ttl {
		margin: 0;
		padding-left: 2em;
		line-height: 1.79;
		font-size: 32px;
		font-weight: bold;
		text-indent: -2em;
	}
	.contact-content__box {
		margin-top: 4px;
		font-size: 32px;
	}
}


/* contact-form */
input[type="text"],
input[type="email"],
input[type="tel"] {
	width: 100%;
  padding: 5px;
  line-height: 1.6;
	font-family: "Noto Sans Japanese","メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","游ゴシック","Yu Gothic",YuGothic,"ＭＳ Ｐゴシック","MS PGothic",Osaka,sans-serif;
}
textarea {
	width: 100%;
	line-height: 1.6;
	border: 1px solid #cccccc;
}

.required-icn {
	font-size: 90%;
}

.form-table .warning-msg:not(:empty) {
	margin-top: 10px;
}

.is-confirm-mode .form-table__th {
	color: #022658;
	font-weight: bold;
}

@media all and (min-width:768px) {
	input[type="text"],
	input[type="email"],
	input[type="tel"] {
		font-size: 16px;
	}
	input[type="radio"],
	input[type="checkbox"] {
		font-size: 18px;
	}
	select {
		height: 30px;
		font-size: 16px;
	}
	textarea {
		font-size: 16px;
	}

	.contact-form {
		margin-top: 40px;
	}

	.is-confirm-mode .form-table {
		border-collapse: separate;
		padding: 30px;
		border: 1px solid #022658;
	}

	.form-table__th {
		vertical-align: middle;
		padding: 0 20px;
		font-size: 16px;
		font-weight: bold;
	}
	.contact-form:not(.is-confirm-mode) .form-table__th {
		width: 200px;
		color: #ffffff;
		background: #022658;
		border-bottom: 1px solid #ffffff;
	}

	.form-table__td {
		padding: 20px 30px;
		font-size: 16px;
	}
	.contact-form:not(.is-confirm-mode) .form-table__td {
		border-bottom: 1px solid #022658;
		border-right: 1px solid #022658;
	}
	.contact-form:not(.is-confirm-mode) .form-table tr:first-child .form-table__td {
		border-top: 1px solid #022658;
	}
	.form-table .scr {
		width: 100%;
		height: 130px;
		margin-bottom: 20px;
		padding: 10px;
		overflow: auto;
		border-width: 1px;
		border-style: solid;
		border-color: #CCC;
	}
	.form-table .scr > pre {
		font-size: 16px;
		font-family: "Noto Sans Japanese","メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","游ゴシック","Yu Gothic",YuGothic,"ＭＳ Ｐゴシック","MS PGothic",Osaka,sans-serif;
	}

	/* Thanks area */
	.thanks-area {
		width: 600px;
		margin: auto;
	}
}

@media screen and (max-width:767px) {
	input[type="text"],
	input[type="email"],
	input[type="tel"] {
		padding: 10px 5px;
		font-size: 28px;
		border: 1px solid #666666;
	}
	input[type="radio"],
	input[type="checkbox"] {
		position: relative;
		top: -5px;
		transform: scale(1.5);
	}
	select {
		width: 100%;
		height: 60px;
		font-size: 28px;
		border: 1px solid #000000;
	}
	textarea {
		font-size: 28px;
	}

	.contact-form {
		margin-top: 60px;
	}

	.is-confirm-mode .form-table {
		border-collapse: separate;
		padding-bottom: 40px;
		border: 2px solid #022658;
	}

	.form-table {
		display: block;
	}
	.contact-form:not(.is-confirm-mode) .form-table tr:nth-last-child(-n+2) td {
		border-bottom: 1px solid #022658;
	}
	.form-table tr:last-child td {
		border-bottom: none !important;
	}

	.form-table th,
	.form-table td {
		display: block;
		font-size: 28px;
		font-weight: normal;
	}
	.contact-form:not(.is-confirm-mode) .form-table th,
	.contact-form:not(.is-confirm-mode) .form-table td {
		max-width: 70%;
	}

	.form-table label {
		color: #000000;
	}

	.form-table__th {
		padding: 30px 25px;
	}
	.is-confirm-mode .form-table__th {
		padding-bottom: 0;
	}
	.contact-form:not(.is-confirm-mode) .form-table__th {
		color: #ffffff;
		background: #022658;
		border-bottom: 1px solid #ffffff;
	}

	.form-table__td {
		padding: 30px;
	}
	.contact-form:not(.is-confirm-mode) .form-table__td {
		border-left: 1px solid #022658;
		border-right: 1px solid #022658;
	}

	.form-table .scr {
		width: 100%;
		height: 130px;
		margin-bottom: 20px;
		padding: 10px;
		overflow: auto;
		color: #000000;
		border-width: 1px;
		border-style: solid;
		border-color: #CCC;
	}

	/* Thanks area */
	.thanks-area {
		margin-bottom: 100px;
	}
	.thanks-area p + p {
		margin-top: 50px !important;
	}
}


/* button */
@media all and (min-width:768px) {
	.btn-grp {
		display: flex;
		justify-content: center;
		margin-top: 60px;
	}
	.btn-grp .btn + .btn {
		margin-left: 20px;
	}

	.btn {
		min-width: 290px;
		text-align: center;
		position: relative;
		display: inline-block;
		padding: 15px 12px 14px;
		vertical-align: top;
		line-height: 1.5;
		font-size: 18px;
		color: #fff;
    cursor: pointer;
    border: none;
		background: #022759;
	}
	.btn--gray {
		background: #666666;
	}

	.noTouch .btn {
		transition: background 200ms cubic-bezier(0.42, 0, 0.58, 1.0);
		-webkit-transition: background 200ms cubic-bezier(0.42, 0, 0.58, 1.0);
	}
	.noTouch .btn:hover {
		padding: 15px 12px 14px;
		background: #284772;
		color: #fff;
		text-decoration: none;
	}
	.noTouch .btn--gray:hover {
		background: rgba(102, 102, 102, .7);
	}
	.btn span {
		padding-left: 20px;
	}
	.btn i {
		position: absolute;
		top: 50%;
		right: 20px;
		width: 18px;
		margin-top: -7.5px;
		padding-top: 15px;
		background: url("../img/common/arw_btn01_bl_r.svg") no-repeat center center #fff;
		background-size: 6px 9px;
	}

	.btn--back {
		min-width: 220px;
	}
	.btn--back i {
		right: inherit;
		left: 20px;
		transform: rotate(180deg);
	}
}

@media all and (max-width:767px) {
	input[type="button"],
	input[type="submit"] {
		-webkit-appearance: none;
	}

	.btn-grp {
		margin-top: 60px;
		text-align: center;
	}
	.btn-grp .btn + .btn {
		margin-top: 30px;
	}

	.btn {
		min-width: 460px;
		position: relative;
		display: inline-block;
		padding: 15px 15px 14px;
		vertical-align: top;
		line-height: 1.5;
		font-size: 32px;
		color: #fff;
    border-radius: 0;
    border: none;
		background: #022759;
	}
	.btn--gray {
		background: #666666;
	}

	.btn span {
		padding-left: 10px;
	}
	.btn i {
		position: absolute;
		top: 50%;
		right: 20px;
		width: 33px;
		margin-top: -15px;
		padding-top: 30px;
		background: url("../img/common/arw_btn01_bl_r.svg") no-repeat center center #fff;
		background-size: 6px 9px;
	}
	.btn--back i {
		right: inherit;
		left: 20px;
		transform: rotate(180deg);
	}
}