*{
  box-sizing: border-box;
}
:root {
  --main-color: #E9546B;
  --sub-color: #F2A0A1;
}
body{
  font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  margin:0px;
}
header.visual{
  position: relative;
  background: url(../img/header.jpg.webp) no-repeat center center;
  background-size: cover;
  width:100%;
  height:35vw;
}
header.novisual{
  padding:10px 10px 5px;
  font-size:80%;
  border-bottom:solid 1px #F2A0A1;
}
header strong{
  display: block;
  background-image: linear-gradient(43deg, #E597B2 0%, #E9546B 46%, #F2A0A1 100%);
  color:#fff;
  font-size:200%;
  width:100%;
  text-align: center;
  position: absolute;
  bottom:0%;
  line-height: 1.5;
}
@media screen and (max-width: 1600px) {
  header.visual{
    height:500px;
  }
}
@media screen and (max-width: 1400px) {
  header.visual{
    background: url(../img/header.jpg.webp) no-repeat center center;
    background-size: cover;
  }
}
@media screen and (max-width: 900px) {
  header.visual{
    background: url(../img/header_tb.jpg.webp) no-repeat center center;
    background-size: cover;
    height:61.2vw;
  }
}
@media screen and (max-width: 500px) {
  header.visual{
    background: url(../img/header_sp.jpg.webp) no-repeat top center;
    background-size: cover;
    height:78.2vw;
  }
  header strong{
    font-size:160%;
  }
}



section{
  padding:0px 50px;
  margin: 0 auto;
  width:100%;
  max-width:1600px;
}
h1{
  margin: 30px auto 20px;
  position: relative;
  text-align: center;
  padding: 0px 10px;
  color:#000;
}
.top h1{
  margin: 30px auto 20px;
  position: relative;
  text-align: center;
  padding: 0px 10px;
  color:var(--main-color);
}
h1 + .desc{
  margin: 20px auto 80px;
  text-align: center;
}
h2{
  margin-top:50px;
}
h3{
  font-size:200%;
  margin-top:1em;
  margin-bottom:0.5em;
}
.message{
  font-size:150%;
}
.by{
  text-align: right;
  max-width: 1040px;
  width: 90%;
}
.sig{
  font-family: 'Yuji Mai', serif;
  font-size:150%;
}
.vision,
.strength{
  font-size:150%;
}
strong{
  color: var(--main-color);
}
@media screen and (max-width: 500px) {
  section{
    padding:0px 10px;
  }
  h1{
    font-size:200%;
    margin:30px auto 30px;
    background-color: transparent;
  }
  .top h1{
    font-size:300%;
    margin:30px auto 30px;
    background-color: transparent;
  }
  h1 img{
    height:50px;
    width:auto;
  }
}
.member{
  padding:0px 30px;
  display: flex;
  list-style: none;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px;
}
.member li{
  width:calc(33% - 20px);
  background-color: var(--sub-color);
  background-image: linear-gradient(43deg, #E597B2 0%, #E9546B 46%, #F2A0A1 100%);
  padding:20px;
  text-align: center;
  color:#fff;
  border-radius: 8px;
}
.member .mask {
  position: relative;
  width: 200px;
  height: 200px;
  border-radius: 100%;
  overflow: hidden;
  z-index: 0;
  margin: 20px auto;
}
.member .mask img{
  width: 250px;
  margin-left: -23px;
  margin-top: -50px;
}
.member .mask2 img{
  width: 200px;
  margin-left: 0px;
  margin-top: 0px;
}
.member .mask3 img{
  margin-top: -45px;
}
.member .mask4 img{
  margin-top: -35px;
}
.member .mask5 img{
  margin-top: -35px;
}
.member .mask6 img{
  margin-top: -35px;
}
.member .mask7 img{
/*  margin-top: -40px; */
  margin-top: 0px;
  margin-left: -32px;
}
.member .mask8 img{
  margin-left: -18px;
  margin-top: -25px;
}
.member .mask9 img{
  margin-top: -15px;
}
.member .name rb{
  font-size:200%;
}
.member .message{
  font-size:120%;
  font-weight: 900;
}

.member .item-name{
  background-color: #fff;
  color: var(--main-color);
  margin-right: 10px;
  font-size: 90%;
  padding: 0px 5px;
}
.member .copyright{
  font-size:50%;
  text-align: right;
  margin:0em 0em -1em;
}
.dli-pin-fill {
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  position: relative;
  width: 0.8em;
  height: 0.8em;
  background: currentColor;
  border: 0.1em solid currentColor;
  border-radius: 40% 60% 0% 100% / 40% 100% 0% 60%;
  box-sizing: content-box;
  transform: rotate(45deg);
  margin: -5px 5px 5px 0px;
}

.dli-pin-fill::before {
  content: '';
  position: absolute;
  top: 18%;
  left: 18%;
  width: 0.336em;
  height: 0.336em;
  background: #E9546B;
  border-radius: 50%;
  box-sizing: border-box;
}
.character{
  display: none;
}
@media screen and (max-width: 1000px) {
  .member li{
    width:calc(50% - 20px);
  }
}
@media screen and (max-width: 700px) {
  .member{
    padding:0px 10px;
  }
  .member li{
    width:100%;
  }
}

.act{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.act .item{
  width:48%;
}
.act .item.photo img{
  width:100%;
  max-width: 100%;
}
.act .item.photo .copyright{
  font-size: 50%;
  line-height: 1;
  margin: 0.5em 0em;
  text-align: right;
}
.act p{
  font-size:150%;
}
.act .item.text p:first-child{
  margin-top:0px;
}
.act p:first-child{
  margin-top:0px;
}
@media screen and (max-width: 700px) {
  .act{
    display: flex;
    flex-direction: column;
  }
  .act .item{
    width:100%;
  }
  .act .item.text p:first-child{
    margin-top:1em;
  }
}

.top footer{
  margin-top:100px;
  background-image: linear-gradient(43deg, #E597B2 0%, #E9546B 46%, #F2A0A1 100%);
  color: #fff;
  font-size: 150%;
  padding:50px 10px 20px;
}
.top .footer-logo{
  margin-top:60px;
  text-align: center;
}

footer{
  margin-top:100px;
  background-image: linear-gradient(43deg, #E9546B 0%, #E597B2 46%, #F2A0A1 100%);
  color: #fff;
  padding:30px 10px 30px;
}
.footer-logo{
  text-align: center;
}
.footer-link{
  padding: 0px 50px;
  margin: 0 auto;
  width: 100%;
  max-width: 1600px;
  text-align: right;
}
.footer-link a{
  font-size:12px;
  color:#333;
  text-decoration: none;
}
.footer-link a:hover{
  text-decoration: underline;
}
/* form */
.cp_form {
position: relative;
width: 600px;
margin: 40px auto;
padding: 1em 2em;
box-shadow:0px 0px 3px 2px #ededed;
background-color:#fff;
color:#000;
}
.cp_form form.go-bottom > .cp_tx {
position: relative;
width: 100%;
margin: 1em 0;
}
.cp_form form.go-bottom input[type=button],
.cp_form form.go-bottom input[type=submit],
.cp_form form.go-bottom input[type=checkbox],
.cp_form form.go-bottom input[type=radio],
.cp_form form.go-bottom input[type='text'],
.cp_form form.go-bottom input[type='tel'],
.cp_form form.go-bottom input[type=password],
.cp_form form.go-bottom input[type=email],
.cp_form form.go-bottom input[type=url],
.cp_form form.go-bottom input[type=date],
.cp_form form.go-bottom input[type=number],
.cp_form form.go-bottom .cp_ipfile .file_text,
.cp_form form.go-bottom textarea {
font-family: inherit;
font-size: 1rem;
position: relative;
z-index: 1;
top: 0;
left: 0;
-webkit-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
padding: 8px 12px;
border: 1px solid #cccccc;
outline: 0;
background: none;
}
.cp_form form.go-bottom input[type=password]:valid,
.cp_form form.go-bottom input[type=email]:valid,
.cp_form form.go-bottom input[type=url]:valid,
.cp_form form.go-bottom input[type=date]:valid,
.cp_form form.go-bottom input[type=number]:valid,
.cp_form form.go-bottom input[type='text']:valid,
.cp_form form.go-bottom input[type='tel']:valid,
.cp_form form.go-bottom textarea:valid {
background: #e7fcff;/*背景色*/
}
.cp_form form.go-bottom input[type=password]:focus,
.cp_form form.go-bottom input[type=email]:focus,
.cp_form form.go-bottom input[type=url]:focus,
.cp_form form.go-bottom input[type=date]:focus,
.cp_form form.go-bottom input[type=number]:focus,
.cp_form form.go-bottom input[type='text']:focus,
.cp_form form.go-bottom input[type='tel']:focus,
.cp_form form.go-bottom textarea:focus {
border-color: #da3c41;
}
.cp_form form.go-bottom input[type=password]:focus + label,
.cp_form form.go-bottom input[type=email]:focus + label,
.cp_form form.go-bottom input[type=url]:focus + label,
.cp_form form.go-bottom input[type=date]:focus + label,
.cp_form form.go-bottom input[type=number]:focus + label,
.cp_form form.go-bottom input[type='text']:focus + label,
.cp_form form.go-bottom input[type='tel']:focus + label,
.cp_form form.go-bottom textarea:focus + label {
font-size: 0.7em;
line-height: 1.2;
z-index: 2;
-webkit-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
padding: 1px 6px 2px 6px;
text-transform: uppercase;
color: #ffffff;
background: #da3c41;
}
.cp_form form.go-bottom .cp_tx label {
position: absolute;
padding: 7px 6px;
transition: background 0.2s, color 0.2s, top 0.2s, bottom 0.2s, right 0.2s, left 0.2s;
color: #999999;
}
.cp_form form.go-bottom textarea {
display: block;
resize: vertical;
}
.cp_form form.go-bottom input[type=password],
.cp_form form.go-bottom input[type=email],
.cp_form form.go-bottom input[type=url],
.cp_form form.go-bottom input[type=date],
.cp_form form.go-bottom input[type=number],
.cp_form form.go-bottom input[type='text'],
.cp_form form.go-bottom input[type='tel'],
.cp_form form.go-bottom textarea {
padding: 12px 12px 12px 12px;
}
.cp_form form.go-bottom label {
top: 0;
bottom: 0;
left: 0;
}
.cp_form form.go-bottom input[type=password]:focus + label,
.cp_form form.go-bottom input[type=email]:focus + label,
.cp_form form.go-bottom input[type=url]:focus + label,
.cp_form form.go-bottom input[type=date]:focus + label,
.cp_form form.go-bottom input[type=number]:focus + label,
.cp_form form.go-bottom input[type='text']:focus + label,
.cp_form form.go-bottom input[type='tel']:focus + label,
.cp_form form.go-bottom textarea:focus + label {
top: 100%;
margin-top: -16px;
}
.cp_ipselect {
overflow: hidden;
width: 100%;
margin: 1em auto;
text-align: center;
}
.cp_ipselect select {
font-family: inherit;
font-size: 1rem;
-webkit-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
padding-right: 1em;
cursor: pointer;
text-indent: 0.01px;
text-overflow: ellipsis;
border: none;
border-radius: 0;
outline: none;
background: transparent;
background-image: none;
box-shadow: none;
-webkit-appearance: none;
appearance: none;
}
.cp_ipselect select::-ms-expand {
display: none;
}
.cp_ipselect.cp_sl01 {
position: relative;
border: 1px solid #cccccc;
border-radius: 2px;
}
.cp_ipselect.cp_sl01::before {
position: absolute;
top: 1em;
right: 0.9em;
width: 0;
height: 0;
padding: 0;
content: '';
pointer-events: none;
border-top: 6px solid #da3c41;
border-right: 6px solid transparent;
border-left: 6px solid transparent;
}
.cp_ipselect.cp_sl01 select {
padding: 8px 38px 8px 8px;
color: #999999;
}
.cp_ipselect.cp_sl01 select:valid {
color: #333333;
}
.cp_input {
display: inline-block;
-webkit-box-sizing: border-box;
box-sizing: border-box;
width: 49%;
padding: 8px 12px;
color: #999999;
}
.cp_ipcheck, .cp_ipradio {
position: relative;
text-align: left;
}
.cp_ipcheck input, .cp_ipradio input {
display: none;
}
.cp_ipcheck label, .cp_ipradio label {
position: relative;
display: block;
padding: 0.5em 0;
padding-right: 35px;
cursor: pointer;
color: #333333;
border-bottom: 1px solid #cccccc;
}
.cp_ipcheck input[type='checkbox'],
.cp_ipradio input[type='radio'] {
position: absolute;
visibility: hidden !important;
}
.cp_ipcheck input[type='checkbox'] + label:before,
.cp_ipcheck input[type='checkbox'] + label:after,
.cp_ipradio input[type='radio'] + label:before,
.cp_ipradio input[type='radio'] + label:after {
position: absolute;
top: 50%;
-webkit-box-sizing: border-box;
box-sizing: border-box;
margin-top: -7.5px;
content: '';
}
.cp_ipcheck input[type='checkbox'] + label:before,
.cp_ipradio input[type='radio'] + label:before {
right: 0;
width: 30px;
height: 15px;
border: 1px solid #cccccc;
border-radius: 15px;
background: #ffffff;
}
.cp_ipcheck input[type='checkbox'] + label:after,
.cp_ipradio input[type='radio'] + label:after {
right: 15px;
width: 15px;
height: 15px;
-webkit-transition: all 200ms ease-out;
transition: all 200ms ease-out;
border-radius: 50%;
background: #cccccc;
}
.cp_ipcheck input[type='checkbox']:checked + label:after,
.cp_ipradio input[type='radio']:checked + label:after {
right: 0;
background: #da3c41;
}
/* File input */
.cp_form .cp_ipfile {
position: relative;
margin: 1em auto;
}
.cp_form .cp_ipfile .title {
position: static;
}
.cp_form .cp_ipfile .button {
font-size: .6em;
position: absolute;
z-index: 1;
top: 0;
right: 0;
bottom: 0;
padding: .5rem 1.2em 0 1.2em;
cursor: pointer;
-webkit-transition: background-color 0.25s;
transition: background-color 0.25s;
color: #ffffff;
border-radius: 0;
background-color: #999999;
}
.cp_form .cp_ipfile .file_input {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: 100%;
padding: 0;
cursor: pointer;
opacity: 0;
filter: alpha(opacity=0);
-webkit-appearance: none;
appearance: none;
}
.cp_form .cp_ipfile .file_text {
position: relative;
box-sizing: border-box;
padding: 0em 10px 0.5em 10px;
-webkit-transition: border-color 0.6s;
transition: border-color 0.6s;
border-bottom: 0.0625rem solid #999999;
outline: none;
}
.cp_form .cp_ipfile .file_text::before {
content: '';
height: 2px;
width: 0;
right: 0%;
bottom: -1px;
position: absolute;
background: #da3c41;
-webkit-transition: left 0.28s ease, width 0.28s ease;
transition: left 0.28s ease, width 0.28s ease;
z-index: 2;
}
.cp_form .cp_ipfile .file_input:hover ~ .file_text::before {
width: 100%;
right: 0;
}
.cp_form .cp_ipfile label:hover .button {
background-color: #da3c3c;
}
.cp_form .cp_ipfile label:active .button {
background-color: #b02f2f;
}
/*btn*/
.cp_form .cp_btn {
width: 100%;
margin: 2em auto;
text-align: center;
}
.cp_form .btn_cont {
text-align: center;
}
.cp_form .btn {
position: relative;
display: block;
overflow: hidden;
margin: 0 auto;
padding: 0.75rem 3em;
cursor: pointer;
text-align: center;
text-decoration: none;
color: #ffffff;
border: solid 1px #ffffff;
background: #da3c41;
font-size: 1rem;
}
.cp_form .btn:before {
position: absolute;
top: -25px;
left: -20px;
width: 20px;
height: 90px;
content: '';
transition: 0.3s;
transform: rotate(40deg);
opacity: 0.3;
background: #ffffff;
}
.cp_form .btn:hover:before {
left: 95%;
}
#message{
  height:10em;
}

@media screen and (max-width: 700px) {
  footer{
    font-size: 130%;
  }
  .cp_form{
    width:calc(100% - 40px);
    padding: 2em 1em;
  }
  footer h2{
    margin-top:0px;
    font-size:120%;
  }
}
