@charset "utf-8";
/* CSS Document */
/**********************************
セカンド共通
**********************************/
main.contents {
  min-height: 80vh;
  padding-bottom: 50px;
}
main.contents .conts section {
  margin-block: 50px;
}
@media (max-width: 750px) {
	.sp_br::before {
		content: "\a";
		white-space: pre;
	}
}
@media (min-width: 751px) {
  main.contents {
    padding-bottom: 100px;
  }
  main.contents .conts section {
    margin-inline: 15px;
    margin-block: 80px;
  }
  main.contents .conts section .indent {
    padding: 15px;
  }
}
/*******　セカンドパンくず　********/
.breadcrumb {
  background-color: #f7f9fa;
  border-top: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
  margin-bottom: 50px;
}
.breadcrumb ul {
  max-width: 1400px;
  width: 95vw;
}
.breadcrumb ul li {
  display: inline-block;
}
.breadcrumb ul li + li::before {
  content: ">";
  padding-inline: 0.5em;
}
@media (max-width: 750px) {
  .breadcrumb ul {
    margin-inline: auto;
  }
}
@media (min-width: 751px) {
  .breadcrumb {
    margin-bottom: 100px;
  }
  .breadcrumb ul {
    margin-left: 15px;
  }
}
@media (min-width: 1400px) {}
/*******　セカンド見出し　********/
.contents .contsTtl {
  margin-bottom: 30px;
}
.contents .contsTtl h1 {
  position: relative;
  padding: 1rem 0;
  border-bottom: 6px solid #CCC;
}
.contents .contsTtl h1:before {
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 20%;
  height: 6px;
  content: '';
  background: #ee6e00;
}
.contents h3.h3 {
  padding: 0.67em 1.5em;
  background-color: #F5F5F5;
  border-left: 9px solid #ff6e00;
  margin-bottom: 0.5em;
}
/**********************************
コラム　
**********************************/
/*******　コラム一覧　********/
.columns .index .list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
.columns .index .list > .item {
  display: flex;
  flex-direction: column;
}
.columns .index .list .item a {
  flex-grow: 2;
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: #333;
}
.columns .index .list .item a:hover {
  opacity: 0.8;
  /* background-color: rgba(55,55,55,0.05); */
}
.columns .index .list .item a .img {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 150px;
  overflow: hidden;
}
.columns .index .list .item a .img img {
  object-fit: cover;
  transition: transform .6s ease;
}
.columns .index .list .item a:hover .img img {
  transform: scale(1.2);
}
.columns .index .list .item a .text {
  flex-grow: 2;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.columns .index .list .item a .text .ttl {
  font-weight: bold;
  flex-basis: 5em;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.columns .index .list .item a .text .com {
  font-size: 80%;
}
.columns .index .list .item a .text .date {
  margin-top: auto;
  font-size: 80%;
}
@media (max-width: 750px) {
  .columns .index .list {
    gap: 15px;
  }
}
@media (min-width: 751px) {
  .columns .index .list {
    flex-direction: row;
    gap: 50px;
  }
  .columns .index .list > .item {
    flex-basis: calc(33.3% - 33.3px);
  }
  .columns .index .list .item a .img {
    height: 230px;
  }
}
/*******　コラム詳細　********/
.columns .detail .date {
  display: flex;
  gap: 1em;
  margin-bottom: 2em;
  color: #333;
}
.columns .detail .eyecatch {
  text-align: center;
  margin-bottom: 30px;
}
.columns .detail .comment {
  margin-bottom: 30px;
}
.columns .detail .sec {
  margin-bottom: 30px;
}
.columns .detail .sec .com {
  margin-bottom: 30px;
}
.columns .detail .sec .img {
  text-align: center;
}
@media (max-width: 750px) {}
@media (min-width: 751px) {
  .columns .detail .eyecatch, .columns .detail .comment, .columns .detail .sec .com {
    width: 60%;
    margin-inline: auto;
  }
  .columns .detail .sec .img {
    width: 80%;
    margin-inline: auto;
  }
}
/**********************************
ご利用の流れ
**********************************/
.flow .step {
  width: 100%;
  position: relative;
  border: 3px solid #ff6e00;
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  margin-bottom: 80px;
}
.flow .step::after {
  position: absolute;
  bottom: -65px;
  left: calc(50% - 25px);
  content: "";
  display: inline-block;
  width: 50px;
  height: 50px;
  margin-inline: auto;
  background-image: url("../img/arrow_down.png");
  background-position: center;
  background-size: contain;
}
.flow .step.step07::after {
  content: none;
}
.flow .step .midashi {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.flow .step .midashi .num {
  width: 50%;
  background-color: #ff6e00;
  color: #FFF;
  text-align: center;
  padding-block: 4px;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
.flow .step .midashi h3 {
  flex-grow: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.flow .step .naiyou {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.flow .step .naiyou .icon {
    display: flex;
	flex-direction: column;
    align-items: center;
}
.flow .step .naiyou p strong {
  color: #ff6e00;
}
.flow .step .naiyou ul.toi {
	display: flex;
	flex-direction: column;
}
.flow .step .naiyou ul.toi > li {
	padding: 15px;
}
.flow .step .naiyou ul.toi > li .goLink {
}
.flow .step .naiyou ul.toi > li .goLink a {
	background-color: #FF6E00;
	color: #FFF;
	text-align: center;
	display: block;
	border-radius: 99px;
	padding: 0.5em
}

@media (max-width: 750px) {
  .flow .step .midashi h3 {
    flex-basis: 4em;
  }
  .flow .step .naiyou {
    padding: 0 15px 15px;
}
.flow .step .naiyou .icon {
	flex-basis: 100px;
	width: 33.3%;
  }
}
@media (min-width: 751px) {
  .flow .step {
    flex-direction: row;
  }
  .flow .step .midashi {
    flex-basis: 30%;
    flex-grow: 1;
    flex-shrink: 1;
  }
  .flow .step .naiyou {
    flex-basis: 70%;
    flex-grow: 1;
    flex-shrink: 1;
    padding: 30px 8px;
    flex-direction: row-reverse;
  }
.flow .step .naiyou .icon {
	flex-basis: 250px;
	flex-shrink: 0;
}
.flow .step .naiyou .icon img {
	width: 180px;
}
.flow .step .naiyou .txt {
    flex-basis: calc(100% - 250px);
}
.flow .step .naiyou ul.toi {
	flex-direction: row;
}
.flow .step .naiyou ul.toi > li {
	flex-basis: calc(50% - 1px);
}
.flow .step .naiyou ul.toi > li + li {
	border-left: 2px dotted #CCC;
}
}
/**********************************
オプション
**********************************/
.option .flex {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.option .flex .item table {
  width: 95%;
  margin-inline: auto;
}
.option .flex .item table th, .option .flex .item table td {
  border: 1px solid #ff6e00;
  padding: 0.5em 1em;
}
.option .flex .item table th {
  background-color: #FFEEE5;
  font-weight: bold;
  text-align: center;
  width: 60%;
}
.option .flex .item table td {
  text-align: right;
  width: 40%;
}
.option .flex .item table td.center {
  text-align: center;
}
@media (max-width: 750px) {}
@media (min-width: 751px) {
  .option .flex {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 50px;
  }
  .option .flex > .item {
    flex-basis: calc(50% - 25px);
  }
  .option .flex .item table {
    width: 80%;
  }
}
/**********************************
よくある質問
**********************************/
.faq dl dt {
  background-image: url("../faq/img/ico_q.png");
  background-repeat: no-repeat;
}
.faq dl dd {
  background-image: url("../faq/img/ico_a.png");
  background-repeat: no-repeat;
  margin-bottom: 2em;
}
@media (max-width: 750px) {
  .faq dl dt, .faq dl dd {
    min-height: 35px;
    background-size: auto 30px;
    padding-left: 50px;
  }
}
@media (min-width: 751px) {
  .faq dl dt, .faq dl dd {
    min-height: 60px;
    background-size: auto 50px;
    padding-left: 65px;
    padding-top: 0.5em;
    font-size: 18px;
  }
}
/**********************************
約款
**********************************/
.yakkan .item {
  margin: 0 15px 30px;
}
.yakkan .item h4 {
  margin-bottom: 1em;
}
.yakkan .item p, .yakkan .item ol, .yakkan .item ul, .yakkan .item dl {
  margin-bottom: 0.5em;
}
@media (max-width: 750px) {}
@media (min-width: 751px) {}
/**********************************
補償制度について 
**********************************/
.insurance section article {
  margin-bottom: 50px;
}
.insurance dl.dlBox {
  display: flex;
  flex-wrap: wrap;
}
.insurance dl dt {
  background-color: #FFEEE5;
  padding: 8px;
}
.insurance dl dd {
  padding: 8px;
}
.insurance dl.dlBox dt {
  flex-basis: 30%;
  border-bottom: 1px solid #ff6e00;
}
.insurance dl.dlBox dd {
  flex-basis: 70%;
  padding: 8px;
  border-bottom: 1px solid #ff6e00;
}
.insurance .indent p, .insurance .indent ol, .insurance .indent ul, .insurance .indent dl {
  margin-bottom: 0.5em;
}
@media (max-width: 750px) {
  .insurance dl.dlBox {
    font-size: 14px
  }
}
@media (min-width: 751px) {
  .insurance dl.dlBox {
    width: 950px;
  }
  .insurance dl dt, .insurance dl dd {
    padding: 15px;
  }
}
/**********************************
お見積り・お問い合わせ
**********************************/
.contact dl {
  display: flex;
  flex-direction: column;
}
.contact dl dt {
  padding: 8px;
  display: flex;
  align-items: flex-start;
  border-bottom: 1px dashed #CCC;
}
.contact dl dt span {
  display: inline-block;
  padding: 0 1em;
  background-color: #CCC;
  font-size: 70%;
  font-weight: normal;
  margin-left: auto;
}
.contact dl dt span.hissu {
  background-color: #f00;
  color: #FFF;
}
.contact dl dd {
  padding: 8px;
  border-bottom: 1px dashed #CCC;
}
.contact dl dd ul.flex {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.contact dl dd ul.flex li {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.contact dl dd label.label {
  display: inline-block;
  padding: 8px 15px;
  border-radius: 999px;
  border: 1px solid #CCC;
}
.contact dl dd a {
  display: inline-block;
  padding: 0 0.5em;
  text-decoration: underline;
  color: #466CFF;
}
@media (max-width: 750px) {}
@media (min-width: 751px) {
  .contact dl {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .contact dl dt {
    flex-basis: 30%;
    padding: 15px 50px 15px 15px;
  }
  .contact dl dd {
    flex-basis: 70%;
    padding: 15px;
  }
  .contact dl dd ul.flex {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .contact dl dd ul.flex li {
    flex-basis: 25%;
  }
}
/**********************************
プラン一覧
**********************************/
.plan .article {
  margin-inline: auto;
  margin-bottom: 80px;
}
.plan .article .heading {
  margin-bottom: 30px;
}
.plan .article .flex {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-bottom: 30px;
}
.plan .article .flex .leftBox .com {
  font-weight: bold;
  color: #ff6e00;
  margin-bottom: 1em;
}
.plan .article .flex .leftBox table {
  width: 100%;
}
.plan .article .flex .leftBox table tr th {
  background-color: #F2F2F3;
  border: 1px solid #CCC;
  padding: 8px;
  width: 40%;
}
.plan .article .flex .leftBox table tr td {
  border: 1px solid #CCC;
  padding: 8px;
  width: 60%;
}
.plan .article .flex .leftBox table tr td .sm {
  font-size: 95%;
}
.plan .article .flex .leftBox table tr th sup {
  font-size: 70%;
}
.plan .article .kingaku {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 30px;
}
.plan .article .kingaku > div {
  background-color: #F2F2F3;
  display: flex;
  flex-direction: column;
}
.plan .article .kingaku > div h4 {
  width: 100%;
  color: #FFF;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 15px;
}
.plan .article .kingaku .week h4 {
  background-color: #EE6E00;
}
.plan .article .kingaku .month h4 {
  background-color: #009293;
}
.plan .article .kingaku > div .price {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 15px;
}
.plan .article .kingaku > div .price p strong {
  font-size: 2.5em;
  font-family: "Oswald", sans-serif;
  font-weight: 900;
  margin-right: 4px;
}
.plan .article .toi {
  width: 95%;
  margin-inline: auto;
}
@media (max-width: 750px) {
  .plan .article {
    width: 90%;
  }
  .plan .article .flex .img {
    width: 80%;
    align-self: center;
  }
}
@media (min-width: 751px) {
  .plan .article {
    width: 1100px;
    margin-bottom: 120px;
  }
  .plan .article .heading {
    margin-bottom: 30px;
  }
  .plan .article .heading h3 {
    font-size: 26px;
  }
  .plan .article .flex {
    flex-direction: row-reverse;
  }
  .plan .article .flex > div {
    flex-basis: calc(50% - 15px);
  }
  .plan .article .flex .leftBox {}
  .plan .article .kingaku {
    flex-direction: row;
    gap: 30px;
  }
  .plan .article .kingaku > div {
    flex-basis: calc(50% - 15px);
  }
  .plan .article .toi {
    width: 50%;
  }
}
/**********************************
サイトマップ
**********************************/
.sitemap ul.list {
  display: flex;
  flex-direction: column;
}
.sitemap ul.list > li {
  display: flex;
  flex-direction: column;
  border-bottom: 1px dashed #CCC;
}
.sitemap ul.list > li > a {
  display: block;
  padding: 1em;
}
.sitemap .err_doc > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1em;
}
@media (min-width: 751px) {
  .sitemap ul.list {
    width: 80%;
    margin-inline: auto;
  }
  .sitemap ul.list > li > a {
    background: #fff;
    color: #333;
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  .sitemap ul.list > li > a::after {
    background: #F2F2F3;
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 100%;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
    z-index: -1;
  }
  .sitemap ul.list > li > a:hover {
    color: #000;
  }
  .sitemap ul.list > li > a:hover::after {
    transform: scale(1, 1);
}
.sitemap .err_doc > div {
    width: 50%;
    margin-inline: auto;
  }
}