@charset "UTF-8";

svg {
	position: absolute;
}

.body {
	font-size: 16px;
	font-family: "Noto Sans JP", sans-serif;
}

.wrapper {
	width: 100%;
	min-width: 1200px;
	margin: 0 auto;
	margin: 0 auto;
	background: url(../img/main_bg01_01.jpg);
	background-size: auto;
	background-position: center; 
	overflow-x: hidden;
}

.fv {
	position: relative;
	height: 1000px;
	background: url(../img/mv_bg.png) no-repeat;
	background-position: center;
	background-size: cover;
}

/*.fv:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/mv_bg01.png) no-repeat;
	z-index: 1;
	background-position: center;
}*/

.fv_deco {
	position: absolute;
	top: 0.5%;
	width: 230px;
}

.fv_deco01 {
	left: 0.5%;
}

.fv_deco02 {
	right: 0.5%;
}

.fv_catch {
	position: absolute;
	top: 0;
	left: 50%;
	max-width: 400px;
	width: 400px;
	transform: translate(-50%,0);
}

.fv_ttl {
	position: absolute;
	top: 54%;
	left: 49.5%;
	transform: translate(-50%, -50%);
	max-width: 1328px;
	width: 80%;
	z-index: 2;
}

.fv_inner {
	position: absolute;
	max-width: 1400px;
	width: 100%;
	margin: 0 auto;
	bottom: 14%;
	left: 50%;
	transform: translate(-50%, 0);
	z-index: 2;
}

.fv_icon {
	position: absolute;
	right: 0;
	bottom: -43px;
	width: 240px;
	max-width: 240px;
	z-index: 2;
}

.intro {
	position: relative;
	z-index: 1;
	padding: 0px 0 80px;
	margin: -218px auto 0;
}

.intro h2 {
	max-width: 980px;
	margin: 0 auto;
}

.point {
	position: relative;
	z-index: 2;
	padding: 60px 0 80px;
}

.point:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
	background: linear-gradient(to bottom, #e28e42 0%, #da7214 20%, #ffe6cd 50%, #ffebd7 80%, #e28e42);
	opacity: 0.8;
}

.point_sec {
	max-width: 1100px;
	margin: 0 auto; 
}

.point_top {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 33px;
	background: url(../img/border_top.png);
}

.point_btm {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 33px;
	background: url(../img/border_top.png);
}

.point_top img {
	margin: 0;
	vertical-align: top;
}

.point_btm img {
	margin: 0;
	vertical-align: bottom;
}

.point_ttl {
	max-width: 1000px;
	margin: 0 auto 40px;
}

.point_list {
	position: relative;
	padding: 0 8% 20px;
}

.point_list li {
	display: flex;
	align-items: center;
	gap: 20px;
	position: relative;
	margin-bottom: 4%;
	padding: 40px 40px 50px;
	font-size: 16px;
	line-height: 1.8;
	/*background-color: #fff;*/
	background-image: url(../img/point_bg_mdl.png);
	background-position: center top;
	background-size: 100%;
	z-index: 1;
}

.point_list li:before {
	position: absolute;
	top: -8px;
	left: 0;
	display: inline-block;
	content: "";
	width: 100%;
	padding-top: 46px;
	background: url(../img/point_bg_top.png) no-repeat;
	background-position: center bottom;
	background-size: 100%;
	vertical-align: bottom;
	z-index: -1;
}

.point_list li:after {
	position: absolute;
	bottom: -8px;
	left: 0;
	display: inline-block;
	content: "";
	width: 100%;
	padding-top: 35px;
	background: url(../img/point_bg_btm.png) no-repeat;
	background-position: center top;
	background-size: 100%;
	vertical-align: bottom;
	z-index: -1;
}

/*.point_list li .point_inner:before {
	content: "";
	position: absolute;
	left: -33px;
	top: 50%;
	transform: translate(0, -50%);
	width: 42px;
	height: 221px;
	background: url(../img/point_deco_l.png) no-repeat;
	background-position: center top;
	background-size: 100%;
	vertical-align: bottom;
	z-index: 1;
}

.point_list li .point_inner:after {
	content: "";
	position: absolute;
	right: -33px;
	top: 50%;
	transform: translate(0, -50%);
	width: 42px;
	height: 221px;;
	background: url(../img/point_deco_r.png) no-repeat;
	background-position: center top;
	background-size: 100%;
	vertical-align: bottom;
	z-index: 1;
}*/

.point_list li .point_icon {
	display: block;
	margin-left: auto;
	width: 28%;
	margin-right: 1%;
}

.point_cap {
	width: 180px;
	min-width: 180px;
}

.point_subttl {
	width: 100%;
	padding: 0 0 14px;
	text-align: center;
}

.point_flex {
	display: flex;
	align-items: flex-end;
	gap: 20px;
}

.point_list li .point_flex p {
	padding: 0;
}

.point_list li .point_inner {
	vertical-align: middle;
}

.point_list li p {
	position: relative;
	padding: 0;
	font-size: 15px;
	line-height: 1.8;
}

.point_last {
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
}

.content02 {
	background: rgba(252,247,245,0.6);
}

.editor {
	max-width: 1320px;
	margin: 0 auto;
	padding: 60px 40px 80px;
}

.editor_ttl {
	width: 34%;
	max-width: 480px;
	margin: 0 auto 30px;
}

.editer_flex {
	display: flex;align-items: center;
	max-width: 1320px;
	margin: 0 auto;
}

.editer_left {
	width: 55%;
	padding-right: 6%;
}

.editer_right {
	width: 45%;
}

.editor_img {
	margin: 0 auto 4%;
}

.editor_img span img {
	display: block;
	width: 42%;
	margin: 0 auto;
}

.editor_img figcaption {
	display: block;
	margin: 4% auto 0;
	max-width: 590px;
	text-align: center;
}

.editor_txt {
}

.editor_media_ttl {
	display: block;
	width: 35.6%;
	margin: 0 auto 4%;
}

.editor_txt p {
}

.editor_deco {
	display: block;
	width: 100%;
	max-width: 400px;
	margin: 6% auto;
}

.editor_media_txt {
	text-align: center;
	font-size: 16px;
	line-height: 2;
	letter-spacing: -0.05em;
}

.editor_media_cap {
	width: 100%;
	margin: 0 0 5% -2%;
}

.editor_media_detail {
	padding: 0;
	text-align: left;
	font-size: 16px;
	line-height: 2;
}

.content03 {
	position: relative;
}

.form {
	position: relative;
	max-width: 1000px;
	margin: 0 auto;
	padding: 60px 0 80px;
}

.second .form {
	padding: 50px 0 70px;
}

.form:before {
	display: inline-block;
	content: "";
	width: 100%;
	padding-top: 300px;
	background: url(../img/deco_bg_top02.png) no-repeat;
	background-position: center bottom;
	background-size: 100%;
	vertical-align: bottom;
}

.form:after {
	display: inline-block;
	content: "";
	width: 100%;
	padding-top: 130px;
	background: url(../img/deco_bg_btm.png) no-repeat;
	background-position: center top;
	background-size: 100%;
	vertical-align: bottom;
}

.form_inner {
	position: relative;
	background-color: #fff; 
	background-image: url(../img/deco_bg_mdl.png);
	background-position: center top;
	background-size: 100%;
	vertical-align: middle;
}

.form_complete {
	min-height: calc(100vh - 153px);
}

.form_ttl {
	position: absolute;
	top: -234px;
	left: 50%;
	width: 74%;
	transform: translate(-50%, 0);
}

.form_txt {
	padding: 20px 100px 40px;
	font-size: 16px;
	line-height: 1.6;
	text-align: center;
}

.form_txt.complete {
	padding: 140px 100px 60px;
}

.form_txt.complete h2 {
	margin-bottom: 20px;
}

.form_txt_btm {
	padding: 40px 0 50px;
	font-size: 16px;
	line-height: 1.6;
	font-size: 16px;
	text-align: center;
}

.form_txt_btm a {
	text-decoration: underline;
}

.form_item {
	padding: 15px 20px 15px 0;
	vertical-align: middle;
}

.form_item img {
	width: 260px;
}

.form_input {
	position: relative;
	width: 68%;
	padding: 15px 0 15px 0;
	vertical-align: middle;
	text-align: left;
}

.form_input i {
	font-style: normal;
}

.form_input input[type="radio"] {
	font-size: 16px;
}

.form_btn button {
	display: block;
	width: 80%;
	max-width: 400px;
	margin: 0 auto -20px;
}

.form_btn a {
	display: block;
	width: 80%;
	margin: 0 auto;
}

.form_btn small {
	display: block;
	text-align: center;
	font-size: min(3vw,20px);
}

.form_main {
	width: 100%;
	padding: 0 100px;
}

.form_main .ui-li-divider {
	padding: 4% 0 1%;
	border: 0;
	font-size: 16px;
	font-weight: 400;
}

.form_main ul[class^="sm"] {
	margin: 0;
}

.form_main ul.sm li {
	width: 50%;
	font-weight: 400;
}

.form_main ul[class^="sm"] li label {
	border-radius: 0;
	height: 52px;
	line-height: 41px;
	font-weight: 400;
	color: #a25323;
	font-size: 18px;
}

.form_main ul[class^="sm"] input[type="radio"] {
	width: 100%;
	left: 0;
}

.form_main ul[class^="sm"] li label {
	background: #fff3e8;
	border: 1px solid #b6612d;
}

.form_main ul[class^="sm2"] li label {
	border-right: 0;
}

.form_main ul[class^="sm"] li:last-child label {
	border-right: 1px solid #8e694f;
}

.form_main ul[class^="sm"] input[type="radio"]:checked + label {
	background: #b6612d;
	border: 1px solid #b6612d;
	box-shadow: none;
	text-shadow: none;
}

.form_main ul[class^="sm"],
.form_main .select,
.form_main .input {
	margin-bottom: 0;
	width: 100%;
}

.form_main ul.sm2 li {
	width: 25%;
}

.form_main .select {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	gap: 4px;
}

.form_main .select select {
	width: 100%;
	font-size: 16px;
	border: 1px solid #d2c3b9;
	text-align: left;
}

.form_main .select select[name="select-by"] {
	width: 38%;
}

.form_main .select select[name="select-bm"],
.form_main .select select[name="select-bd"] {
	width: 20%;
}

.form_main .input input[type="text"] {
	width: 100%;
	border: 1px solid #e2bda6;
	border-radius: 0;
	height: 52px;
	padding: 0 12px;
	font-size: 16px;
	text-align: left;
	background: #fff;
}

.form_main .input small {
	position: absolute;
	right: 0;
	display: block;
	margin-top: 6px;
	text-align: right;
	font-size: 14px;
}

.form_main .select select {
    width: 100%;
    height: 52px;
    border: 1px solid #e2bda6;
    background-image: url(../img/select_icon.png);
    background-color: #fff;
    background-repeat: no-repeat;
    background-size: 15px;
    background-position: calc(100% - 8px) center;
}

.form_sec {
	margin-top: 10%;
}

.form_sec > h4 {
	margin-bottom: 4%;
	padding-bottom: 4%;
	font-weight: 700;
	font-size: 16px;
	color: #000;
	border-bottom: 1px solid #ccc;
}

.form_sec p {
	padding-bottom: 2%;
	font-size: 16px;
	line-height: 1.6;
}

.form_sec p u {
	font-weight: bold;
	text-decoration: none;
}

.form_art {
	margin-top: 6%;
	padding: 4%;
	border: 1px solid #ccc;
	border-radius: 4px;
}

.form_art > h4 {
	margin-bottom: 4%;
	font-size: 16px;
	font-weight: bold;
}

.form_art > p {
	margin-bottom: 2%;
	font-size: 16px;
}

.form_domain {
	margin-top: 6%;
}

.form_domain ul {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.form_domain ul li {
	width: 100%;
}

.footer {
	margin: 0 auto;
	padding: 40px 4%;
	background: #df9451;
	color: #fff;
	text-align: center;
}

.footer_list {
	display: flex;
	justify-content: center;
	gap: 36px;
}

.footer_item {
	position: relative;
}

.footer_item:after {
	position: absolute;
	right: -16px;
	top: 0;
	content: "";
	width: 1px;
	height: 100%;
	background: #eee2d8;
}

.footer_item:last-child:after {
	display: none;
}

.footer_item a {
	display: block;
	padding: 1px 0;
	font-size: 14px;
}

.footer_copy {
	display: block;
	padding: 40px 4% 0;
	font-size: 14px;
}

.fixed_btn {
	position: fixed;
	bottom: 4%;
	right: 2%;
	z-index: 3;
	width: 32%;
	max-width: 200px;
}

.fixed_btn a {
	position: relative;
	display: block;
}

.fixed_btn a:after {
	content: "";
	position: absolute;
	top: 10%;
	left: 10%;
	width: 80%;
	height: 80%;
	background: #fff;
	background: linear-gradient(-45deg, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.7) 60%, rgba(255, 255, 255, 0.1) 70%);
	background-size: 600% 100%;
	border-radius: 6px;
	animation: shine 20s infinite;
	animation-delay: 0s;
	animation-timing-function: linear;
	border-radius: 100%;
	/*transform: rotate(45deg);*/
}

@keyframes shine {
	0% {
		background-position-x: 400%;
	}
	50% {
		background-position-x: 0%;
	}
	100% {
		background-position-x: -400%;
	}
}

.txt_inner {
	position: relative;
	padding: 50px 100px 70px;
	max-width: 1100px;
	min-height: calc(100vh - 153px);
	margin: 0 auto;
}

.txt_inner:before {
	display: inline-block;
	content: "";
	width: 100%;
	padding-top: 52px;
	background: url(../img/deco_bg_top.png) no-repeat;
	background-position: center bottom;
	background-size: 100%;
	vertical-align: bottom;
}

.txt_inner:after {
	display: inline-block;
	content: "";
	width: 100%;
	padding-top: 122px;
	background: url(../img/deco_bg_btm.png) no-repeat;
	background-position: center top;
	background-size: 100%;
	vertical-align: bottom;
}

.txt_content {
	position: relative;
	padding: 4% 8%;
	background-color: #fff;
	background-image: url(../img/deco_bg_mdl.png);
	background-position: center top;
	background-size: 100%;
	vertical-align: middle;
	font-size: 16px;
	line-height: 1.8;
}

.txt_ttl {
	position: absolute;
	top: 16.2vw;
	left: 50%;
	width: 85%;
	transform: translate(-50%, 0);
}

@media screen and (min-width: 750px) {
  .txt_ttl {
  	top: 120px;
  }
}

.second .txt_ttl {
	position: static;
	margin: -30px auto 30px;
	width: 100%;
	text-align: center;
	transform: translate(0,0);
}

.ryokin dl {
	display: flex;
	align-items: center;
	gap: 2%;
}

.ryokin .attenton {
	margin-top: 5%;
}

.form_second:before {
	display: inline-block;
	content: "";
	width: 100%;
	padding-top: 32%;
	background: url(../img/deco_bg_top.png) no-repeat;
	background-position: center bottom;
	background-size: 100%;
	vertical-align: bottom;
}

.form_second:after {
	display: inline-block;
	content: "";
	width: 100%;
	padding-top: 24%;
	background: url(../img/deco_bg_btm.png) no-repeat;
	background-position: center top;
	background-size: 100%;
	vertical-align: bottom;
}

.form_second .form_main {
	padding-top: 11%;
}

.form_second .form_last {
	padding-top: 2%;
} 

.form_index {
	margin-top: 11%;
}

.form_index p {
	margin-bottom: 5%;
	text-align: center;
}

.form_index ul {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.form_index ul li a {
	position: relative;
	display: block;
	padding: 4% 5%;
	color: #fff;
	background: #6396b4;
	font-size: min(3.4vw,24px);
}

.form_index ul li a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 12px;
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg) translate(-50%, -60%);
}

#s_txt h3 {
	margin-top: 20px;
	margin-bottom: 10px;
	padding-bottom: 4px;
	color: #aa7611;
	font-weight: bold;
	font-size: 20px;
	border-bottom: 1px solid #aa7611;
}

#s_txt h3 .mark_clr {
	font-size: 0;
}

#s_txt p a {
	text-decoration: underline;
}

.back_btn {
	display: block;
	max-width: 160px;
	margin: 50px auto -20px;
	padding: 0;
}

.back_btn img {
	width: 100%;
}

.form_main ul[class^="sm"].twocol {
    display: flex;
    gap: 12px;
}

.form_main ul[class^="sm"].twocol li {
	width: 50%;
}

.form_main ul[class^="sm"].twocol:after {
	display: none;
}
