@charset "UTF-8";
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/*-------------------------------------------------------------*/
*{
  font-size: 1em;/*remの基準値(16px=1rem)*/
  line-height: 160%;
  color: #0C2F5D;
    text-decoration: none;
}

.sectionTitle {
  text-align: center;
  padding: 20px;
  font-size: 1.75em;
  margin-bottom: 10px;
  letter-spacing: 3px;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .sectionTitle {
    /* padding: 60px 0 20px; */
    font-size: 2em;
    letter-spacing: 3px;
  }
}

@media screen and (min-width: 980px) {
  .sectionTitle {
    /* padding: 90px 0 20px; */
    font-size: 2em;
    letter-spacing: 3px;
  }
}

._padding20 {
  padding: 20px 0;
}

/*fade*/
.fade {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.5s, transform 1s;
}.fade.active {
	opacity: 1;
	transform: translateY(0px);
}
/*-------------------------------------------------------------*/
/*FV*/
.gradient {
  width: 100vw;
  padding-top: 40px;
  margin: 0;
}

@media screen and (min-width: 768px) {
  .gradient {
    margin: 0;
    padding-top: 60px;
  }
}

.gradient03 {
  background: linear-gradient(65deg, #F5F7F8 50%, #F3B664 0);
}

@media screen and (min-width: 980px) {
  .gradient03 {
    background: linear-gradient(50deg, #F5F7F8 50%, #F3B664 0);
  }
}

.fv_text_img_waku {
  display: flex;
  width: min(100%, 70%);
  margin: 0 auto;
  background-image: url(./images/d_fv_img.png);
  background-repeat: no-repeat;
  background-position: right;
  background-size: contain;
}

@media screen and (min-width: 420px) {
  .fv_text_img_waku {
    width: min(100%, 280px);
  }
}

@media screen and (min-width: 768px) {
  .fv_text_img_waku {
    display: flex;
    width: min(100%, 65%);
    margin: 0 auto;
    background-image: url(./images/d_fv_img.png);
    background-repeat: no-repeat;
    background-position: right;
    background-size: contain;
  }
}

@media screen and (min-width: 980px) {
  .fv_text_img_waku {
    width: min(100%, 600px);
    height: 200px;
  }
}

.fv_text_main {
  font-size: 1.125em;
  white-space: nowrap
}

@media screen and (min-width: 768px) {
  .fv_text_main {
    font-size: 1.5em;
    margin-left: 10%;
  }
}

@media screen and (min-width: 980px) {
  .fv_text_main {
    font-size: 2em;
  }
}


.fv_text_img {
  width: min(100%, 150px);
  margin-left: -30px;
}

.fv_text_sub {
  margin: 0 auto;
  margin-top: 20px;
  padding: 0 20px 100px;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1) 70%);
}

@media screen and (min-width: 768px) {
  .fv_text_sub {
    font-size: 1.25em;
    font-weight: bold;
    background-image: none
  }
}

@media screen and (min-width: 768px) {
  .fv_text {
    width: min(100%, 1060px);
    margin: 0 auto;
    height: 230px;
  }

  .fv_text_sub {
    width: min(100%, 890px);
    font-size: 1.5em;
    font-weight: bold;
    background-image: none;
    padding: 0;
    margin-top: -12px;
  }
}
/*-------------------------------------------------------------*/
/*冒頭説明*/
.explanation_wapper01 {
  background-color: #F3B664;
  padding: 20px 0;
  text-align: center;}

@media screen and (min-width: 768px) {
  .explanation_wapper01 {
    background-color: #F3B664;
    padding: 40px 0;
    text-align: center;
  }
}

.explanation_text {
  font-size: 1.25em;
  font-weight: bold;
}

.explanation_wapper02 {
  text-align: center;
  padding: 48px 0 20px;
}

.explanation_text_big {
  font-size: 1.25em;
  font-size: 40px;
}

.explanation_text_note {
  text-align: center;
  font-size: 1em;
  padding-bottom: 48px;
}
/*-------------------------------------------------------------*/
/*お見積もり*/
.estimate {
  margin-bottom: 50px;
}

@media screen and (min-width: 890px) {
  .estimate {
    margin: 0 30px 90px;
  }
}

.estimate_text {
  text-align: center;
  font-size: 1.25em;
  padding-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .estimate_wapper00 {
  width: min(100%, 70%);
  margin: 0 auto;
  }
}

@media screen and (min-width: 890px) {
  .estimate_wapper00 {
    display: flex;
    width: min(100%, 980px);
    padding: 30px 0;
    align-items: center;
    margin:  auto;
    justify-content: center;
  }
}

.estimate_img {
  width: 100%;
}

@media screen and (min-width: 890px) {
  .estimate_wapper01 {
    width: min(100%, 400px);
  }
}

.estimate_wapper02 {
    padding: 20px 0;
}
@media screen and (min-width: 890px) {
  .estimate_wapper02 {
    width: min(100%, 450px);
  }
}

.estimate_list {
  width: min(100%, 80%);
  margin: 0 auto;
  justify-content: space-between;
  margin-bottom: 18px;
  font-size: 1.25em;
}

.estimate_list_text {
  border-bottom: #F3B664 solid 1px;
  font-size: 1.125em;
  margin-bottom: 5px;
  padding: 10px;

}

.estimate_total {
  display: flex;
  border-bottom: #F3B664 solid 5px;
  width: min(100%, 80%);
  margin: 0 auto;
  justify-content: space-between;
  margin-bottom: 10px;
  font-size: 1.5em;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .estimate_total {
    width: min(100%, 70%);
    justify-content: space-around;
    font-size: 1.5em;
    margin: 0 auto;
  }
}

@media screen and (min-width: 890px) {
  .estimate_total {
    margin: 0 auto;
    justify-content: space-around;
    font-size: 2em;
  }
}


/*-------------------------------------------------------------*/
/*テンプレートタイプ*/
.kinds {
  padding-bottom: 50px;
}

.kinds_text {
  text-align: center;
  padding-bottom: 30px;
}

.kindsTemplate {
  font-size: 1.75em;
  text-align: center;
  border-bottom: #F3B664 solid 1px;
  width: min(100%, 80%);
  margin: 0 auto;
}

.kindsTemplate_list {
  padding: 10px 0;
}

.kindsTemplate_list_text {
  font-size: 1em;
  margin: 0 auto;
  width: min(100%, 80%);
}

nav{
  position: -webkit-sticky;/*Safari*/
  position: sticky;
  top: 100px;
}

#container{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media (min-width: 890px) {
  #container{
    width: min(100%, 890px);
    margin: 0 auto;
  }
}

#main-area{
  width:85%;
}

#sub-area{
  width:15%;
}

/*========= レイアウトのためのCSS ===============*/
nav ul{
  list-style: none;
  padding: 0;
}

.vertical {
  writing-mode: vertical-rl; 
}

nav ul li.nav-item-a a {
  color: #96A8BF;
  border-right: #CBCCCD 5px solid;
  background-color: #FCFDFF;
  display: block;
  text-decoration: none;
  padding:0px 10px;
  padding-top: 30px;
  transition:all 0.3s;
  text-align: center;
  height: 125px;
  font-size: 1.5em;
  margin-bottom: 10px;
  border-radius: 0 5px 5px 0;
  font-size: 1em;
  font-weight: bold;
  align-items: center;
  width: min(100%, 90%);
  line-height: 120%;
}

@media screen and (min-width: 890px) {
  nav ul li.nav-item-a a {
    width: min(100%, 50px);
  }
}

nav ul li.nav-item-b a {
  color: #96A8BF;
  border-right: #FAEFDF 5px solid;
  background-color: #FCFDFF;
  display: block;
  text-decoration: none;
  padding:0px 10px;
  padding-top: 30px;
  transition:all 0.3s;
  text-align: center;
  height: 125px;
  font-size: 1.5em;
  margin-bottom: 10px;
  border-radius: 0 5px 5px 0;
  font-size: 1em;
  font-weight: bold;
  align-items: center;
  width: min(100%, 90%);
  line-height: 120%;
}

@media screen and (min-width: 890px) {
  nav ul li.nav-item-b a {
    width: min(100%, 50px);
  }
}

nav ul li.nav-item-c a {
  color: #96A8BF;
  border-right: #CCE3F4 5px solid;
  background-color: #FCFDFF;
  display: block;
  text-decoration: none;
  padding:0px 10px;
  padding-top: 30px;
  transition:all 0.3s;
  text-align: center;
  height: 125px;
  font-size: 1.5em;
  margin-bottom: 10px;
  border-radius: 0 5px 5px 0;
  font-size: 1em;
  font-weight: bold;
  align-items: center;
  width: min(100%, 90%);
  line-height: 120%;
}

@media screen and (min-width: 890px) {
  nav ul li.nav-item-c a {
    width: min(100%, 50px);
  }
}

nav ul li.nav-item-a.current a,
nav ul li.nav-item-a a:hover,
nav ul li.nav-item-a a:active {
  color: #0C2F5D;
  border-right: #979899 5px solid;
  background-color: #F5F7F8;
}

nav ul li.nav-item-b.current a,
nav ul li.nav-item-b a:hover,
nav ul li.nav-item-b a:active {
  color: #0C2F5D;
  border-right: #F3B664 5px solid;
  background-color: #F5F7F8;
}

nav ul li.nav-item-c.current a,
nav ul li.nav-item-c a:hover,
nav ul li.nav-item-c a:active {
  color: #0C2F5D;
  border-right: #006FC5 5px solid;
  background-color: #F5F7F8;
}

.m_tp {
  width: min(100%, 300px);
}

.pc_tp {
  width: min(100%, 300px);
  width: min(100%, 300px);
}

.m_tpEx {
  width: min(100%, 90%);
}