@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
:root{
  --f-nts: "Noto Sans JP", sans-serif;
}
/*セクション間余白----------------------------------------------------------- */
section {
  padding: 60px 30px;
}

footer {
  padding: 40px 0;
}

/*色関連----------------------------------------------------------- */
.bg_cta {
  background-color: #f5d100;
}

.bg_cl1 {
  background-color: #efefef;
}

.bg_cl2 {
  background-color: #faf5df;
}

.bg_cl3 {
  background-color: #eafafd;
}

.bg_cl4 {
  background-color: #ffffff;
}

.bg_cl5 {
  background-color: #2265b5;
}

.cl_base {
  color: #2265b5;
  mix-blend-mode: multiply;
}

.cl_base2 {
  color: #2265b5;
}

.cl_main {
  color: #c80c0c;
}

.cl_accent1 {
/*  color: #f9d21a;*/
	color: #000;
}

.cl_accent2 {
  color: #ffffff;
}

.cl_accent3 {
  color: #363636;
}

.center{
    text-align: center;
}

/*テキスト関連----------------------------------------------------------- */
.decorated-text {
  position: relative;
  display: inline-block;
}

.decorated-text::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: .5rem;
  height: .5rem;
  background-color: #2265b5;
  border-radius: 50%;
}

@media screen and (max-width: 768px) {
  .decorated-text::before {
    content: '';
    position: absolute;
    top: -10%;
    left: 50%;
    transform: translateX(-50%);
    width: .3rem;
    height: .3rem;
    background-color: #2265b5;
    border-radius: 50%;
  }
}

.highlight {
  display: inline-block;
  position: relative;
}

.highlight::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.1em;
  width: 100%;
  height: 0.4em;
  background: linear-gradient(to right, #f9d21a, #f9d21a);
  z-index: -1;
  mix-blend-mode: multiply;
}

.highlight02 {
  display: inline-block;
  position: relative;
}

.highlight02::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.5em;
  width: 100%;
  height: 0.5em;
  background: linear-gradient(to right, #f9d21a, #f9d21a);
  z-index: -1;
  mix-blend-mode: multiply;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/*幅関連----------------------------------------------------------- */
.arrow {
  width: 25rem;
}

@media screen and (max-width: 768px) {
  .arrow {
    width: 13rem;
  }
}

/*Page Top----------------------------------------------------------- */
.pagetop a {
  background-color: #2265b5;
}

/*CTA02----------------------------------------------------------- */

.cta-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 10px solid #2265b5;
  background-color: #ffffff;
  position: relative;
  width: 100%;
  padding: clamp(0.938rem, 0.597rem + 1.7vw, 1.875rem);
}

.cta-container p:first-of-type {
  margin: 1rem 0;
}

.cta-container .btn {
  width: 80%;
}

@media screen and (max-width: 768px) {
  .cta:nth-of-type(3) {
    padding: 2rem;
  }

  .cta-container {
    border: 5px solid #2265b5;
    width: 100%;
    padding: 1rem;
  }

  .cta-container p:first-of-type {
    margin: 1rem 0;
  }

  .cta-container .btn {
    width: 100%;
  }
}

/*CTA-contact----------------------------------------------------------- */
.cta-contact {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
}
.cta-contact h2 {
  padding: 0;
  padding-bottom: 30px;
}
.cta-contact .white_box{
	background: #f4f4f4;
}
.cta-contact ul {
  margin-bottom: 2rem;
}

.cta-contact .btn {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.cta-contact .btn i {
  position: absolute;
  top: 50%;
  left: 85%;
  transform: translateY(-50%);
}

form>ul>li {
  padding: 1rem 0;
}

form>ul>li .fx-row>*:first-child {
  padding-top: 12px;
}
.form_wrap{
  position: relative;
}
.character{
    position: absolute;
    bottom: 0;
    right: -1vw;
    z-index:10;
}
.form_head {
  text-align: right;
}

.form_head span {
  display: inline-block;
  font-weight: bold;
}

.haveto {
  background-color: #000;
  color: #fff;
  padding: 3px 8px;
  font-weight: bold;
  font-size: 0.8em;
}

.any {
  background-color: #ffdb08;
/*  color: #fff;*/
  padding: 3px 8px;
  font-weight: bold;
  font-size: 0.8em;
}

.radio {
  padding-top: 12px;
}

.radio label:nth-of-type(2) {
  margin-left: 2rem;
}

.input_1col {
  padding-right: 30px;
}

.input_1col input {
  width: 100%;
  border: none;
  padding: 15px;
  border-radius: 10px;
}

.textarea {
  padding-right: 30px;
}

.textarea textarea {
  width: 100%;
  border: none;
  padding: 15px;
  border-radius: 10px;
}

@media screen and (max-width: 768px) {
  .cta-contact h2 {
    font-size: clamp(2rem, 1.636rem + 1.82vw, 3rem);
  }

  .cta-contact ul {
    margin-bottom: 0;
  }
}


/* CUSTOM LP */
.h_box{padding:16px 20px 17px;background-color: #FFF;}
.h_box img{width: 49px;}

footer{padding: 57px 0;background-color: #000000;}
.ft_link{display: flex;justify-content: center;align-items: center;gap: 0 17px;flex-wrap: wrap;}
address,.ft_link li a{font-size: 16px;color: #FFF;font-family: var(--f-nts);line-height: 2;font-weight: 500;}
address{font-size: 16px;text-align: center;}
p.nc_inputed {
	background-color: #f6f6f6;
	padding: 15px;
	border: 1px solid #dddddd;
	border-radius: 7px;
	min-height: 48px;
}