@charset "UTF-8";
#topimage {
  background: linear-gradient(135deg, rgb(250, 250, 250) 20%, rgb(230, 230, 230) 100%);
  padding: 1em 0;
  margin: 0;
}
#topimage h1 {
  font-size: clamp(1.5rem, -0.932346723rem + 5.0739957717vw, 3rem);
  font-weight: normal;
  text-align: center;
  padding: 0.5em 0;
  margin: 0;
  line-height: 1.25;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
#topimage h1 small {
  display: block;
  font-size: clamp(1rem, 1.2vw, 1.5rem);
}
#topimage .inner {
  margin: 0 auto;
  padding: 0;
}
#topicpath {
  background: rgb(233, 242, 255);
  font-size: 12px;
  margin: 0;
  padding: 5px 0;
}
#topicpath p.inner {
  margin: 0 auto;
  padding: 0;
}

#maincol {
  overflow: hidden;
  margin: 0px auto 0px;
  padding: 0px 0px 0;
  position: relative;
  z-index: 9;
  min-height: 60vh;
}
@media screen and (min-width: 992px) {
  #maincol {
    min-height: 50vh;
  }
}

#maincol article {
  margin: 0px 0 0px;
  padding: 30px 0;
}

#maincol article:nth-of-type(2n) {
  background-color: rgb(233, 242, 255);
}

.fadein {
  opacity: 0;
  transform: translateY(50px);
}

#maincol article:nth-of-type(1),
.fadein.view {
  animation-name: fadeUpAnime;
  animation-duration: 0.7s;
  animation-fill-mode: forwards;
}

@keyframes fadeUpAnime {
  0% {
    transform: translateY(50px);
    opacity: 0;
  }
  50% {
    transform: translateY(50px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
#body_news #maincol article {
  /*	animation:none;
      opacity: 1;*/
}

p {
  margin: 0 0 1em;
}

#maincol h1 {
  color: rgb(0, 52, 153);
  font-size: clamp(1.5rem, 0.2838266385rem + 2.5369978858vw, 2.25rem);
  text-align: center;
  margin: 0 0 1em;
  padding: 0 0 0;
  position: relative;
}
#maincol h1 small {
  font-weight: normal;
}

#maincol h2 {
  font-size: clamp(1.375rem, 0.7669133192rem + 1.2684989429vw, 1.75rem);
  text-align: left;
  margin: 0 0 1em;
  padding: 0 0 0;
  position: relative;
  /*&::before{
  	position: absolute;
  	top: 0.55em;
  	left: 0;
  	width: 1em;
  	height: 6px;
  	content: "";
  	background: config.$mainColor;
  	//border-radius: 10px;
  }*/
}
#maincol h2 small {
  font-weight: normal;
}

#maincol h3 {
  color: rgb(0, 52, 153);
  font-size: clamp(1.125rem, 0.5169133192rem + 1.2684989429vw, 1.5rem);
  margin: 1em 0;
  padding: 20px 0 10px;
  position: relative;
}
#maincol h3::after {
  position: absolute;
  display: block;
  width: 100%;
  bottom: 0;
  content: "";
  height: 5px;
  background: linear-gradient(135deg, rgb(40, 100, 240) 20%, rgb(32, 79, 192) 50%, rgb(19, 48, 116) 80%) no-repeat;
  opacity: 0.2;
}

#maincol h4 {
  font-size: clamp(1.125rem, 0.9223044397rem + 0.422832981vw, 1.25rem);
  margin: 0.5em 0;
  padding: 0 0 0 1em;
  position: relative;
}
#maincol h4::before {
  position: absolute;
  top: 0.4em;
  left: 0;
  width: 0.5em;
  height: 0.5em;
  content: "";
  background: linear-gradient(135deg, rgb(40, 100, 240) 20%, rgb(32, 79, 192) 50%, rgb(19, 48, 116) 80%);
  border-radius: 10px;
}

a {
  text-decoration: none;
  color: rgb(0, 52, 153);
  transition: all 0.2s;
}
a:hover {
  color: rgb(255, 102, 0);
}
a.linktxt {
  text-decoration: underline;
}

.linkbtn a {
  display: inline-block;
  position: relative;
  padding: 0.5em 1.5em;
  text-decoration: none;
  background-color: rgb(0, 52, 153);
  color: #FFF;
  border: solid 1px #FFF;
  border-radius: 4px;
}
.linkbtn a:hover {
  background-color: #FFF;
  color: rgb(0, 52, 153);
  border: solid 1px rgb(0, 52, 153);
}

.linkbtn a.moshikomi {
  background-color: rgb(255, 102, 0);
}
.linkbtn a.moshikomi:hover {
  background-color: #FFF;
  color: rgb(255, 102, 0);
  border: solid 1px rgb(255, 102, 0);
}

.smallbtn a {
  padding: 0.25em 0.5em;
}

.login a {
  background: linear-gradient(135deg, rgb(40, 100, 240) 20%, rgb(32, 79, 192) 50%, rgb(19, 48, 116) 80%);
  background-size: 200%;
  background-position: 100% 0;
  padding: 10px 10px 10px 30px;
  border-radius: 10px 50px 50px 10px;
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
  display: inline-flex;
  font-weight: bold;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #FFF;
  margin: 10px auto;
}
.login a::after {
  content: "";
  background: #FFF url(../img/login.svg) no-repeat;
  background-position: center center;
  border-radius: 50%;
  height: 40px;
  width: 40px;
}
@media screen and (min-width: 992px) {
  .login a::after {
    height: 65px;
    width: 65px;
  }
}
.login a:hover {
  background-position: 0% 0;
}

.simulation a,
.mailform a,
.web a {
  background: linear-gradient(135deg, rgb(244, 163, 7) 20%, rgb(244, 73, 0) 100%);
  background-size: 200%;
  background-position: 100% 0;
  padding: 10px 10px 10px 30px;
  border-radius: 50px;
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
  display: inline-flex;
  font-weight: bold;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #FFF;
  margin: 10px auto;
  min-width: 300px;
}
@media screen and (min-width: 992px) {
  .simulation a,
  .mailform a,
  .web a {
    min-width: 400px;
  }
}
.simulation a span,
.mailform a span,
.web a span {
  flex-grow: 2;
  text-align: center;
}
.simulation a::after,
.mailform a::after,
.web a::after {
  content: "";
  background: #FFF url(../img/simulation.svg) no-repeat;
  background-position: center center;
  border-radius: 50%;
  height: 60px;
  width: 60px;
  flex-shrink: 0;
}
@media screen and (min-width: 992px) {
  .simulation a::after,
  .mailform a::after,
  .web a::after {
    height: 75px;
    width: 75px;
  }
}
.simulation a:hover,
.mailform a:hover,
.web a:hover {
  background-position: 0% 0;
}

.mailform a::after {
  background: #FFF url(../img/mail.svg) no-repeat;
}
.mailform a:hover {
  background-position: 0% 0;
}

.web a::after {
  background: #FFF url(../img/web.svg) no-repeat;
}
.web a:hover {
  background-position: 0% 0;
}

a.pdf::after,
a.doc::after,
a.xls::after {
  display: inline-block;
  content: "";
  border-radius: 20px;
  font-size: 70%;
  padding: 3px 8px;
  line-height: 1;
  margin-left: 0.2em;
  background-color: #FFF;
  border: solid 1px #000;
}

a.pdf {
  position: relative;
}
a.pdf::after {
  content: "PDF";
  border-color: red;
  color: red;
}

a.doc {
  position: relative;
}
a.doc::after {
  content: "Word";
  border-color: blue;
  color: blue;
}

a.xls {
  position: relative;
}
a.xls::after {
  content: "Excel";
  border-color: green;
  color: green;
}

a.blank {
  position: relative;
  padding-right: 1.2em;
}
a.blank::after {
  content: "　";
  display: inline-block;
  margin: 0 0 0 3px;
  width: 14px;
  background-image: url("../img/blank.svg");
  background-repeat: no-repeat;
  background-size: 14px;
  background-position: center;
}

em,
.red {
  color: rgb(221, 27, 92);
}

.blue {
  color: rgb(0, 52, 153);
}

.orange {
  color: rgb(255, 102, 0);
}

.txtright {
  text-align: right !important;
}

.txtleft {
  text-align: left !important;
}

.center {
  text-align: center !important;
}

.small {
  font-size: 80%;
}

.large {
  font-size: 120%;
}

.clear {
  float: none;
  clear: both;
}

.displaynone {
  display: none !important;
}

.fontSerif {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.caution {
  border: solid 1px rgb(255, 136, 176);
  background-color: rgb(255, 247, 250);
  padding: 10px;
}

.border {
  border: solid 1px #DDD;
}

.u_line {
  background: linear-gradient(transparent 60%, rgba(255, 247, 19, 0.5) 60%);
  padding: 0 0.2em;
}

.gmap {
  display: block;
  width: 90%;
  height: 250px;
  margin: 1em auto 1em;
  border: solid 1px #DDD;
}
@media screen and (min-width: 992px) {
  .gmap {
    width: 100%;
  }
}

.show_btn {
  padding-left: 2em !important;
}
.show_btn::before {
  display: block;
  content: "";
  border-right: solid 2px rgb(40, 100, 240);
  border-bottom: solid 2px rgb(40, 100, 240);
  width: 0.7em;
  height: 0.7em;
  position: absolute;
  left: 0.5em;
  top: 0.2em;
  transform: rotate(45deg);
}
.show_btn:hover {
  cursor: pointer;
}

.hide_box {
  padding: 1em;
}

.arr:not(ul),
ul.arr li {
  padding-left: 1em !important;
  position: relative;
}
.arr:not(ul)::before,
ul.arr li::before {
  display: block;
  content: "";
  border-top: solid 2px rgb(40, 100, 240);
  border-right: solid 2px rgb(40, 100, 240);
  width: 0.4em;
  height: 0.4em;
  position: absolute;
  left: 0;
  top: 0.5em;
  transform: rotate(45deg);
}

ul.arr {
  margin: 0;
  padding: 0;
  list-style: none;
}
ul.arr li {
  padding: 0;
  margin: 0 0 0.5em;
}

.kome {
  text-indent: -1em;
  padding-left: 1em;
}

.kome:before {
  content: "※";
  font-family: sans-serif;
}

.kome_ol {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: number;
}
.kome_ol li {
  margin: 0;
  padding: 0 0 0 2em;
  text-indent: -1em;
}
.kome_ol li:before {
  counter-increment: number;
  content: "※" counter(number);
  display: inline-block;
  margin-right: 0.5em;
}

.chui_list {
  list-style: none;
  margin: 0 0 1em;
  padding: 0;
}
.chui_list li {
  margin: 0 0 0.5em;
  text-indent: -1em;
  padding-left: 1em;
}
.chui_list li:before {
  content: "※";
}

ol.ol_circle {
  list-style: none;
  counter-reset: number;
  padding: 0;
  margin: 0 0 0 0.5em;
}
ol.ol_circle > li {
  position: relative;
  padding-left: 2em;
  margin: 0 0 1em;
}
ol.ol_circle > li::before {
  counter-increment: number;
  content: counter(number);
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5em;
  height: 1.5em;
  color: #FFF;
  background-color: rgb(40, 100, 240);
  border-radius: 50%;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.box {
  position: relative;
  margin: 30px auto 60px;
  padding: 5%;
  background-color: #FFF;
  border: solid 1px #EFEFEF;
  border-radius: 10px;
  box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 992px) {
  .box {
    padding: 30px 30px;
  }
}
.box h3 {
  margin-top: 0 !important;
}
@media screen and (max-width: 767px) {
  .box h3::after {
    display: none;
  }
}

.index {
  list-style: none;
  margin: 0 0 1em;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 30px 2%;
}
.index li {
  position: relative;
  margin: 0px 0 30px;
  width: 49%;
}
@media screen and (min-width: 992px) {
  .index li {
    width: 32%;
  }
}
.index li a {
  margin: 0px 0 0px;
  padding: 5%;
  background-color: #FFF;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  height: 100%;
  color: #333333;
  box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .index li a {
    flex-direction: column;
  }
}
.index li .index_img {
  width: 30%;
  flex-shrink: 0;
  margin: 0 auto;
}
.index li .index_img img {
  display: block;
  margin: 0 auto;
}
.index li span {
  flex-grow: 2;
}
.index li span b {
  font-size: 1.2em;
  flex-grow: 2;
  font-weight: bold;
  color: rgb(40, 100, 240);
  display: block;
  margin: 0 0 0.5em;
}
.card_index_flex {
  list-style: none;
  margin: 0 0 1em;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 30px 2%;
}
.card_index_flex li {
  margin: 0px 0 0px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 5%;
  background-color: #FFF;
  box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  .card_index_flex li {
    width: 49%;
    padding: 3%;
  }
}
@media screen and (min-width: 992px) {
  .card_index_flex li {
    width: 49%;
  }
}
@media screen and (max-width: 767px) {
  .card_index_flex li {
    flex-direction: row;
  }
}
.card_index_flex li > span {
  width: 50%;
}
.card_index_flex li span b {
  font-size: 1.2em;
  flex-grow: 2;
  font-weight: bold;
  color: rgb(40, 100, 240);
  display: block;
  margin: 0 0 0.5em;
}
.card_index_flex li .card_txt {
  display: block;
  margin-bottom: 1em;
}
.card_index_flex .card_img {
  flex-shrink: 0;
  filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.3));
}
@media screen and (max-width: 767px) {
  .card_index_flex .card_img {
    max-width: 120px;
  }
}
.card_index_flex .card_name .linkbtn {
  display: block;
  text-align: center;
}
.card_index_flex li.wide {
  width: 100%;
}
@media screen and (min-width: 992px) {
  .card_index_flex li.wide {
    font-size: 120%;
  }
}
@media screen and (max-width: 767px) {
  .card_index_flex li.wide {
    flex-direction: column !important;
  }
  .card_index_flex li.wide span {
    width: 100%;
  }
  .card_index_flex li.wide .card_img {
    max-width: 100%;
    width: 75%;
    margin: auto;
  }
}

/*.card_index{
	li{
		width:100%;
		@include config.mq(tab){
			width:49%;
		}
		@include config.mq(pc){
			width:49%;
		}
	}
	a{
		@include config.mq(sp) {
			flex-direction:row !important;
		}
		&::after{
			content:'詳しく見る';
			position:absolute;
			bottom:10px;
			right:10px;
			background-color:config.$linkTextColor;
			color:#FFF;
			border:solid 1px #FFF;
			border-radius:4px;
			padding:5px 15px;
			font-size:0.8rem;
			transition: all .2s;
			}
		}
	a:hover{
			transform: scale(1.05);
		&::after{
			background-color:#FFF;
			color:config.$linkTextColor;
			border:solid 1px config.$linkTextColor;
		}
	}
	span{
		width:50%;
	}
	.card_img{
		flex-shrink:0;
		filter: drop-shadow(5px 5px 5px rgba(0,0,0,0.3));
		@include config.mq(sp){
			max-width:120px;
		}
	}
	.card_name b{
	}
	.card_txt{
		display:inline-block;
		font-size:90%;
		line-height:1.5;
		margin-bottom:1.5em;
	}
	li.wide{
		width:100%;
		@include config.mq(pc) {
			font-size:120%;
		}
		@include config.mq(sp) {
			a{
				flex-direction:column !important;
			}
			span{
				width:100%;
			}
			.card_img{
				max-width:100%;
				width:75%;
				margin:auto;
			}
		}
	}
}*/
.callcenter {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 1em;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .callcenter {
    flex-direction: column;
  }
}
.callcenter a.tel {
  position: relative;
  font-family: Century Gothic, Impact, Tahoma, Arial;
  font-weight: bold;
  font-size: clamp(2rem, 0.6824788584rem + 2.7484143763vw, 2.8125rem);
}
.callcenter a.tel::before {
  content: "　";
  display: inline-block;
  margin: 0 5px 0 0;
  width: 1em;
  background-image: url("../img/tel.svg");
  background-repeat: no-repeat;
  background-size: 1em;
  background-position: center;
}
.callcenter .uketsuke {
  background: rgb(0, 52, 153);
  padding: 1em 2em;
  border-radius: 10px;
  color: #FFF;
}

.contact {
  align-items: flex-start;
}
.contact dt {
  font-weight: bold;
  margin: 0 0 1em;
  font-size: 1.15em;
}
.contact dd {
  margin: 0 0;
}

table.default {
  margin: 0 0 20px;
  border-collapse: collapse;
  border-bottom: 1px solid rgb(0, 52, 153);
}
table.default tr {
  border-right: 1px solid rgb(0, 52, 153);
}
table.default th, table.default td {
  padding: 1em;
}
@media screen and (max-width: 767px) {
  table.default th, table.default td {
    padding: 0.5em;
  }
}
table.default th {
  text-align: center;
  border-top: 1px solid rgb(0, 52, 153);
  border-left: 1px solid rgb(0, 52, 153);
}
table.default td {
  border-top: 1px solid rgb(0, 52, 153);
  border-left: 1px solid rgb(0, 52, 153);
}
table.default thead th {
  background: rgb(40, 100, 240);
  color: #FFF;
}
table.default thead td {
  background: rgb(233, 242, 255);
}
table.default tbody th {
  background-color: #F5F5F5;
}
table.default tbody td {
  background-color: #FFF;
}
table.default tfoot th {
  background: rgb(0, 52, 153);
  color: #FFF;
}
table.default tfoot td {
  background: rgb(233, 242, 255);
}

.nowrap {
  white-space: nowrap;
}

table.widthmax {
  width: 100%;
}
table.widthmax th, table.widthmax td {
  padding-left: 0.5em;
  padding-right: 0.5em;
}

table.revo thead th, table.revo thead td {
  padding: 0.5em;
}

@media screen and (max-width: 767px) {
  table {
    font-size: 90%;
  }
  table.cellblock {
    font-size: 1rem;
  }
  table.cellblock th, table.cellblock td {
    display: block;
  }
  table.cellblock thead {
    display: none;
  }
}
@media screen and (max-width: 991px) {
  .scroll {
    overflow-x: scroll;
  }
  .scroll table {
    width: 100%;
    white-space: nowrap;
  }
}
dl.dl_default {
  margin: 0 0 1em;
  padding: 0;
}
dl.dl_default dt {
  font-weight: bold;
  margin: 0 0 0.5em;
  padding: 0;
  font-size: 1.1em;
}
dl.dl_default dt:not(:first-child) {
  margin: 1em 0 0.5em;
}
dl.dl_default dd {
  margin: 0 0 0.5em 2em;
  padding: 0;
}

@media screen and (min-width: 768px) {
  .flex_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
  }
  .flex_box.stretch {
    align-items: stretch;
  }
  .left {
    float: left;
  }
  .right {
    float: right;
  }
}
/*　お知らせ
--------------------------------------------------------------------*/
#whatsnew .info_list {
  border-top: solid 1px rgb(40, 100, 240);
}
#whatsnew .info_list div {
  display: flex;
  border-bottom: solid 1px rgb(40, 100, 240);
  margin: 0;
}
#whatsnew .info_list dt {
  padding: 1em;
  margin: 0;
}
#whatsnew .info_list dd {
  flex-grow: 2;
  margin: 0;
}
#whatsnew .info_list dd a {
  display: block;
  padding: 1em 20px 1em 1em;
  position: relative;
}
#whatsnew .info_list dd a:hover {
  background-color: rgba(247, 178, 22, 0.1);
}
#whatsnew .info_list dd a:hover:before {
  border-color: rgba(247, 178, 22, 0.5);
}
/*保険
--------------------------------------------------------------------*/
.hoken_gaiyo dt {
  background-color: #FFF;
  box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.1);
  padding: 30px;
  position: relative;
  margin: auto;
}
.hoken_gaiyo dd {
  margin: auto;
}
@media screen and (min-width: 768px) {
  .hoken_gaiyo div {
    display: flex;
    margin: 20px 0 40px;
    padding: 0 0 0 10%;
  }
  .hoken_gaiyo div:nth-child(odd) {
    padding: 0 10% 0 0;
  }
  .hoken_gaiyo div dt {
    max-width: 60%;
    margin-right: -10%;
    flex-shrink: 0;
  }
  .hoken_gaiyo div:nth-child(odd) dt {
    order: 2;
    margin-right: 0;
    margin-left: -10%;
  }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  .hoken_gaiyo div dt {
    margin-top: 5%;
  }
}
@media screen and (min-width: 992px) {
  .hoken_gaiyo div dt {
    max-width: 480px;
  }
}

.hoken_list {
  list-style: none;
  margin: 0 0 1em;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.hoken_list li {
  margin: 0 0;
  padding: 0;
  text-align: center;
  min-width: 200px;
}
.hoken_list li .border {
  padding: 5px;
}

/*ローン・シミュレーション
--------------------------------------------------------------------*/
.freeloan {
  display: flex;
  justify-content: space-around;
  margin: 30px 0;
}
@media screen and (max-width: 767px) {
  .freeloan {
    flex-direction: column;
    gap: 10px;
  }
}
.freeloan div {
  background-color: rgb(255, 102, 0);
  padding: 5px;
  margin: 0;
  width: 30%;
}
@media screen and (max-width: 767px) {
  .freeloan div {
    display: flex;
    justify-content: space-around;
    width: 100%;
  }
}
.freeloan dt {
  font-size: 1.2em;
  margin: 0;
  padding: 10px 10px;
  color: #FFF;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .freeloan dt {
    width: 50%;
  }
}
.freeloan dd {
  margin: 0;
  padding: 10px 5px;
  font-size: 1.5em;
  text-align: center;
  font-weight: bold;
  border-radius: 5px 5px;
  background-color: #FFF;
}
@media screen and (max-width: 767px) {
  .freeloan dd {
    width: 50%;
  }
}

.simulation_wrap {
  max-width: 720px;
  margin: auto;
}
.simulation_wrap table.default {
  width: 100%;
}
.simulation_wrap .scroll table.default th,
.simulation_wrap .scroll table.default td {
  padding: 5px 10px;
}
.simulation_wrap .simulation_btn {
  text-align: center;
  display: flex;
  gap: 20px;
  justify-content: center;
}

/*クレジットカード
--------------------------------------------------------------------*/
#body_card h3 img {
  vertical-align: middle;
}

.cardimg {
  margin: 20px 0;
}
.cardimg img {
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.3));
  max-width: 80%;
  margin: auto;
}

.shiharai {
  text-align: center;
  font-size: 1.2em;
  background-color: rgb(255, 255, 220);
  padding: 1em;
}

.merit {
  display: inline-block;
  background-color: rgb(255, 102, 0);
  color: #FFF;
  border-radius: 50px;
  text-align: center;
  padding: 10px 20px;
  margin: 0 10px;
}

.tokucho div {
  border: solid 1px rgb(0, 52, 153);
  margin: 0 0 40px;
}
.tokucho dt {
  background-color: rgb(0, 52, 153);
  color: #FFF;
  font-weight: bold;
  padding: 0.5em;
  margin: 0;
}
.tokucho dd {
  padding: 0.5em 1em;
  margin: 0;
}
.tokucho dd p, .tokucho dd ul, .tokucho dd li {
  margin: 0;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .revo_moushikomi .callcenter {
    flex-direction: column;
  }
}

.revo_flow div {
  position: relative;
}
.revo_flow div:before {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  display: block;
  border-style: solid;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-top: 10px solid rgb(0, 52, 153);
  border-bottom: 0;
}

/*form
-------------------------------------------------------------*/
#contact_form {
  margin: 2% 0;
  padding: 5% 5%;
}

dl.dl_form {
  margin: 0 auto 1em;
}
dl.dl_form div {
  margin: 0px 0;
  padding: 20px 1em 10px;
  border-bottom: 1px dotted rgb(40, 100, 240);
}
@media screen and (min-width: 992px) {
  dl.dl_form div {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
  }
}
dl.dl_form dt {
  font-weight: bold;
  margin: 0 0 10px;
}
@media screen and (min-width: 992px) {
  dl.dl_form dt {
    width: 25%;
  }
}
dl.dl_form dd {
  margin: 0 0 10px;
}
@media screen and (min-width: 992px) {
  dl.dl_form dd {
    width: 73%;
  }
}
dl.dl_form .any:before,
dl.dl_form .req:before {
  content: "";
  font-weight: normal;
  font-size: 70%;
  border-radius: 6px;
  padding: 3px 2px 2px;
  display: inline-block;
  line-height: 1;
  width: 3em;
  text-align: center;
  margin-right: 0.5em;
}
dl.dl_form .any:before {
  content: "任意";
  border: 1px solid rgb(0, 138, 255);
  color: rgb(0, 138, 255);
}
dl.dl_form .req:before {
  content: "必須";
  color: rgb(221, 27, 92);
  border: solid 1px rgb(221, 27, 92);
}

.mail_error {
  display: block;
  color: rgb(221, 27, 92);
  font-size: 90%;
}

.mail_error:before {
  content: "* ";
}

form label {
  display: inline-block;
  padding: 0 20px;
}
form input,
form textarea {
  box-sizing: border-box;
  padding: 8px;
  margin: 0 0 10px;
  border: 1px solid #999;
  border-radius: 5px;
  background-color: rgb(255, 255, 255);
}
form input.hiragana,
form textarea {
  width: 100%;
}
form textarea {
  height: 10em;
}
form input.numeric {
  width: 10em;
}
form input.alpha {
  width: 70%;
}
form input:required,
form textarea:required {
  background-color: rgb(255, 250, 251);
}
form input, form textarea {
  font-size: 16px;
}
form input::placeholder {
  font-size: 80%;
}
form button,
form input.submitbtn,
form input.button {
  display: inline-block;
  margin: 0.5em 0;
  font-size: 1.1rem;
  cursor: pointer;
  padding: 0.75em 1em;
  text-decoration: none;
  background-color: rgb(255, 102, 0);
  color: #FFF;
  border: solid 1px #FFF;
  border-radius: 4px;
  text-align: center;
  transition: all 0.4s;
}
@media screen and (min-width: 992px) {
  form button,
  form input.submitbtn,
  form input.button {
    min-width: 240px;
  }
}
form .shusei,
form input#submitshusei {
  background-color: rgb(150, 150, 150);
}
form button:hover,
form input#submitshusei:hover,
form input.submitbtn:hover,
form input.button:hover {
  background-color: #FFF;
  color: rgb(255, 102, 0);
  border-color: rgb(255, 102, 0);
}
form input.yubin {
  min-width: 0px;
  padding: 0.25em 0.5em;
  font-size: 0.8em;
}

label.radio {
  cursor: pointer;
  position: relative;
  padding-left: 25px !important;
  margin-right: 20px;
  overflow: hidden;
  display: inline-block;
}

label.radio:before {
  position: absolute;
  width: 17px;
  height: 17px;
  border: 1px solid #999;
  border-radius: 50%;
  left: 0px;
  top: 4px;
  content: "";
  z-index: 3;
}

label.radio:after {
  content: "";
  position: absolute;
  width: 11px;
  height: 11px;
  border-radius: 100%;
  left: 3px;
  top: 7px;
  background-color: rgb(221, 27, 92);
  z-index: 1;
}

label.radio input[type=radio] {
  -moz-appearance: none;
  -webkit-appearance: none;
  position: absolute;
  z-index: 2;
  width: 18px;
  height: 18px;
  left: -23px;
  top: 3px;
  margin: 0px;
  box-shadow: 22px 0px #FFF;
  border-radius: 50%;
}

label.radio input[type=radio]:required {
  box-shadow: 22px 0px rgb(255, 250, 251);
}

label.radio input[type=radio]:checked {
  box-shadow: none;
}

label.checkbox {
  cursor: pointer;
  position: relative;
  padding-left: 30px !important;
  margin-right: 20px;
  overflow: hidden;
  display: inline-block;
  box-sizing: border-box;
}

label.checkbox:before {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  left: 0px;
  top: 0;
  border: 1px solid #999;
  border-radius: 3px;
  z-index: 3;
}

label.checkbox:after {
  content: "";
  position: absolute;
  top: 10px;
  left: 6px;
  display: block;
  margin-top: -8px;
  width: 8px;
  height: 12px;
  border-right: 3px solid rgb(221, 27, 92);
  border-bottom: 3px solid rgb(221, 27, 92);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  z-index: 1;
}

label input[type=checkbox] {
  -moz-appearance: none;
  -webkit-appearance: none;
  position: absolute;
  left: -40px;
  width: 20px;
  height: 20px;
  display: block;
  box-shadow: 41px 0px #FFF;
  z-index: 2;
  margin: 0px;
  padding: 0px;
}

label input[type=checkbox]:checked {
  box-shadow: none;
}

.select {
  overflow: hidden;
  text-align: center;
  display: inline-block;
  position: relative;
  background-color: rgb(255, 255, 255);
  border: solid 1px #333333;
  border-radius: 5px;
  padding: 0;
  color: #333333;
  vertical-align: middle;
}

.select select {
  cursor: pointer;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  padding: 6px 32px 6px 12px;
  font-size: 16px;
}

.select select::-ms-expand {
  display: none;
}

.select::before {
  position: absolute;
  top: 45%;
  right: 7%;
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid rgb(40, 100, 240);
  pointer-events: none;
}

#step {
  display: flex;
  justify-content: center;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
  /* active */
}
#step li {
  position: relative;
  width: 33%;
  text-align: center;
  padding: 0px 0;
  margin: 0 0 0 2px;
  background: rgb(197, 208, 217);
  color: #FFF;
  height: 36px;
  line-height: 36px;
  font-weight: bold;
}
#step li:not(:last-child)::before,
#step li:not(:last-child)::after {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  left: 100%;
  content: "";
  border: 18px solid transparent;
  border-left: 18px solid rgb(197, 208, 217);
  margin: auto;
}
#step li:not(:last-child)::before {
  margin-left: 2px;
  border-left-color: rgb(255, 255, 255);
}
#step li.current {
  background: rgb(40, 100, 240);
}
#step li.current:not(:last-child)::after {
  border-left-color: rgb(40, 100, 240);
}

.youtube {
  margin: 30px auto;
}
.youtube iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  max-width: 720px;
  display: block;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
}

/*# sourceMappingURL=common.css.map */
