@charset "UTF-8";

/*-------------------------------------
  
INDEX
  
---------------------------------------*/

#index .fv-inner {
	max-width: 1200px;
  margin: 0 auto 100px;
  padding-top: 150px;
  padding-left: 40px;
  padding-right: 40px;
}

#index .fv-ttl {
	font-size: 30px;      
  line-height: 1.7; 
  font-weight: 600;
  text-align: center;
  padding: 15px 0;
  background-color: #e2eba3;
}

#index .fv-lead {  
  text-align: center;    
  margin-top: 1em;
}

#index .fv-img {
  margin-top: 80px;
}

#index .fv-img-txt {
  text-align: center;  
  margin-bottom: 1em;
}

#index .fv-img-wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 15px;
}

#index .fv-img-wrap .img {   
  width: calc((100% - 30px) / 3);
  height: 100%;
}

#index .greeting-inner {
  padding-bottom: 100px;
}

#index .greeting-ttl {
  text-align: center;
}

#index .greeting-lead {
  text-align: center;
}

#index .greeting-song-block {
  margin-top: 30px;  
  margin-bottom: 30px;  
  padding: 40px 3vw;
  background-color: #d8f1c7;  
}

#index .greeting-song-box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 10px;    
  width: 400px;
  margin: 0 auto;
}

#index .greeting-song-ttl { 
  font-size: 20px;
  text-align: center;   
}

#index .txt-wrap .link a{
  text-decoration: underline;
}

@media (max-width: 759px) {
  #index .fv-inner {
    max-width: 100%;
    margin: 0 auto 20vw;
    padding-top: 20vw;
    padding-left: 0;
    padding-right: 0;
    margin-left: 5.7vw;
    margin-right: 5.7vw;
  }
  
  #index .fv-ttl {
    font-size: 20px;
  }
  
  #index .fv-img {
    margin-top: 10vw;
  }
  
  #index .fv-img-wrap {
    gap: 10px;
  }
  
  #index .fv-img-wrap .img {
    width: 47%;
  }
  
  #index .greeting-song-block {
    padding: 10vw 3vw;
  }
  
  #index .greeting-song-box {       
    width: 100%;
    flex-direction: column;
  }
  
  #index .box {
    margin-right: 0;
  }
  
  #index .box-L { 
    margin: 0 auto 10vw;
  }
  
  #index .box-L .txt + .txt,#index .box-R .txt + .txt {
    margin-top: 1em;
  }
  
  #index .box-R {
    margin: 0 auto;
  }
  
  #index .greeting-song-ttl {
    font-size: 18px;       
    margin-bottom: 1em;
  }
}


/*-------------------------------------
  
IDEA2
  
---------------------------------------*/

#idea2 {
  background: #d8f1c7;
}
#idea2 .sec01-inner,#idea2 .sec02-inner {
  padding-top: 150px;
  padding-bottom: 100px;
}

#idea2 .sec01-ttl {
  margin-bottom: 20px;
}

#idea2 .sec01-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: 50px;
  gap: 50px;
}

#idea2 .sec01-wrap .img {
  width: calc((100% - 100px) / 3);
}

#idea2 .sec01-txt.name {
  text-align: right;
  margin-top: 50px;
}

#idea2 .sec02-txt {
  text-align: center;
}

#idea2 .sec02-table {
  width: 100%;
  margin-top: 30px;
}

#idea2 .sec02-table table {
  width: 80%;
  margin: 0 auto;
}

#idea2 .sec02-table th {
  width: 25%;
  font-weight: 600;    
  vertical-align: top;
  border: 1px solid #3c3c3c;    
  padding: 15px;
}

#idea2 .sec02-table td {
  width: 75%;
  border: 1px solid #3c3c3c; 
  padding: 15px;
}

@media (max-width: 759px) {
  #idea2 .sec01-inner,#idea2 .sec02-inner {
    padding-top: 20vw;
    padding-bottom: 20vw;
  }
  #idea2 .sec01-wrap {
    justify-content: center;
    margin-top: 10vw;    
    gap: 5vw;
  }
  #idea2 .sec01-wrap .img {
    width: calc((100% - 5vw) / 2);
  }

  #idea2 .sec01-txt.name {
    margin-top: 40px;
  }
  #idea2 .sec02-table table {
    width: 100%;
  }
}

/*-------------------------------------
  
IDEA3
  
---------------------------------------*/
#idea3 {
  background: #e5dae5;
}

#idea3 .sec01-inner {
  padding-top: 150px;
  padding-bottom: 100px;
}

#idea3 .sec01-box {
  margin-bottom: 70px;
}

#idea3 .sec01-box:last-of-type {
  margin-bottom: 0;
}

#idea3 .sec01-box-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

#idea3 .box-L {
  width: 70%;
}

#idea3 .box-R {
  width: 15%;
  margin-right: 50px;
}

#idea3 .sec01-copy {
  font-size: 18px;
  font-weight: 600;
}

@media (max-width: 759px) {
  #idea3 .sec01-inner {
    padding-top: 20vw;
    padding-bottom: 20vw;
  }
  #idea3 .sec01-box-wrap {
    flex-direction: column-reverse;
  }

  #idea3 .box-L {
    width: 100%;
  }

  #idea3 .box-R {
    width: 50%;
    margin: 0 auto 5vw;
  }
}


/*-------------------------------------
  
IDEA4
  
---------------------------------------*/
#idea4 {
  background-color: #f0f4c3;
}

#idea4 .sec01-inner {
  padding-top: 150px;
  padding-bottom: 100px;
}

#idea4 .sec01-box {
  margin-bottom: 70px;
}

#idea4 .sec01-box.box02 .sec01-box {
  margin-bottom: 30px
}

#idea4 .sec01-box.box02 .sec01-txt {
  width: 80%;
  margin: 0 auto;
}

#idea4 .sec01-box.box03 .sec01-txt {
  width: 70%;
  margin: 0 auto;
}

#idea4 .sec01-box:last-of-type {
  margin-bottom: 0;
}

#idea4 .sec01-box-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

#idea4 .box-L {
  width: 70%;
}

#idea4 .box-R {
  width: 25%;
}

#idea4 .sec01-table {
  width: 100%;
  margin-top: 30px;
  margin-bottom: 70px;
}

#idea4 .sec01-table table {
  width: 80%;
  margin: 0 auto;
}

#idea4 .sec01-table th {
  width: 25%;
  font-weight: 600;    
  vertical-align: top;
  border: 1px solid #3c3c3c;    
  padding: 15px;
}

#idea4 .sec01-table td {
  border: 1px solid #3c3c3c; 
  padding: 15px;
  vertical-align: top;
}

#idea4 .sec01-profile {
  width: 80%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px;
}

#idea4 .sec01-profile .img {
  width: 20%;
}

#idea4 .sec01-profile .txt {
  width: 70%;
  text-align: left;
}

@media (max-width: 759px) {
  #idea4 .sec01-inner {
    padding-top: 20vw;
    padding-bottom: 20vw;
  }

  #idea4 .sec01-box-wrap {
    flex-direction: column-reverse;
  }

  #idea4 .box-L {
    width: 100%;
  }

  #idea4 .box-R {
    width: 80%;
    margin: 0 auto 3vw;
  }
  
  #idea4 .sec01-table table {
    width: 100%;
  }

  #idea4 .sec01-table td {
    width: 31%;
  }
  
  #idea4 .sec01-profile {
    width: 100%;
    flex-direction: column;
  }
  
  #idea4 .sec01-profile .img {
    width: 70%;     
    margin: 0 auto 3vw;
  }

  #idea4 .sec01-profile .txt {
    width: 100%;
  }
  #idea4 .sec01-box.box02 .sec01-txt,#idea4 .sec01-box.box03 .sec01-txt {
    width: 100%;
  }
}

/*-------------------------------------
  
IDEA5
  
---------------------------------------*/
#idea5 {
  background-color: #efd9ce;
}

#idea5 .sec01-inner {
  padding-top: 150px;
  padding-bottom: 0;
}

#idea5 .tanka {
  text-align: center;    
  line-height: 3;
}

#idea5 .bold {
  font-size: 18px;
  font-weight: 600;
  display: block;
}

#idea5 .date {
  margin-top: 2em;
}

#idea5 .date,#idea5 .name {
  text-align: right;
}

#idea5 .sec01-img {
  width: 50%;
  margin: 50px auto 0;
}

#idea5 .sec01-img-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row-reverse;
  margin-top: 70px;
  margin-bottom: 70px;
}

#idea5 .sec01-img-wrap.wrap02 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row-reverse;
  margin-top: 70px;
  margin-bottom: 70px;    
  width: 80%;
  margin: 50px auto;
}

#idea5 .sec01-img-wrap.wrap02 .img {
  width: 45%;
  margin-left: 0;
}

#idea5 .sec01-img-wrap .img {
  width: 30%;
  margin-left: 50px;
}

#idea5 .sec01-img-wrap .txt {
  width: 80%;
}

#idea5 .sec01-box.box02 {
  margin-top: 100px;
}

#idea5 .sec01-box.box02 .table {
  width: 100%;
  margin: 0 auto;
}

#idea5 .sec01-box.box02 .table th {
  width: 30%;  
  font-weight: normal;
  vertical-align: top;
  border: 1px solid #3c3c3c;    
  padding: 15px;
}

#idea5 .sec01-box.box02 .table td {
  width: 75%;
  border: 1px solid #3c3c3c; 
  padding: 15px;
}

#idea5 .sec01-box.box02 .table .head,#idea5 .sec01-box.box02 .table .detail {
  background-color: #e6beaa;
}

#idea5 .sec-nav-table {
  width: 90%;
  margin: 100px auto;
  border: 1px solid #3c3c3c;    
  background: #FFF;
}

#idea5 .sec-nav-table tr {
  border: 1px solid #3c3c3c;    
}

#idea5 .sec-nav-table th {
  width: 40%;  
  font-weight: normal;
  vertical-align: top;
  padding: 15px;
}

#idea5 .sec-nav-table th a {
  text-decoration: underline;
}

#idea5 .sec-nav-table td {
  padding: 15px;
}

@media (max-width: 759px) {
  #idea5 .sec01-inner {
    padding-top: 20vw;
    padding-bottom: 20vw;
  }
  
  #idea5 .sec01-lead {
    margin-bottom: 7vw;
  }

  #idea5 .sec01-img-wrap {
    flex-direction: column;
  }
  
  #idea5 .sec01-img-wrap .img {
    width: 80%;
    margin: 0 auto 3vw;
  }
  
  #idea5 .sec01-img-wrap .txt {
    width: 100%;
  }
  
  #idea5 .sec01-img {
    width: 80%;
  }
  
  #idea5 .sec01-img-wrap.wrap02 {
    width: 100%;
  }
  
  #idea5 .sec-nav {
    margin-bottom: 10vw;
  }
  
  #idea5 .sec-nav-box.box02  {
    overflow-x: scroll;
  }
  
  #idea5 .sec-nav-table {
    width: 100%;
    border-collapse: collapse;
    white-space: nowrap;
    margin: 10vw auto 5vw;
  }
  
  #idea5 .sec-nav-table th {
    width: 40%;
  }
  
  #idea5 .sec-nav-table td {
    width: 30%;       
    vertical-align: text-top;
  }
}

/*-------------------------------------
  
IDEA6 IDEA7
  
---------------------------------------*/

#confirm .sec01-inner {
  padding-top: 150px;
  padding-bottom: 100px;
}

#confirm .sec01-form {
  max-width: 700px;
  margin: 70px auto 0;
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 5px;
  background: #FFF;
}

#confirm .sec01-form-ttl {
  font-size: 20px;
  text-align: center;
}

#mailformpro .mailform-item {
  font-size: 14px!important;    
  line-height: 2!important;
  text-align: left!important;
  padding: 10px 0px 10px 10px!important;
}

#mailformpro .mailform-box {
  font-size: 14px!important;    
  line-height: 2!important;
}

#mailformpro .mailform-box .mfp_err {
  background-image: none!important;    
  padding: 3px 0px 5px 0px!important;
  margin: 0!important;
  line-height: 1!important;
  color: #C00!important;
  font-size: 14px;
}

#mailformpro input,#mailformpro textarea {
  box-shadow: none!important;    
  padding: 5px 8px!important;
  font-size: 14px!important;
  line-height: 2!important;
}

#mailformpro label {
  border: none!important;   
  margin: 0!important;
  padding: 0!important;
}

#mailformpro label input {
  margin: 0px 2px 3px 0!important;
}

#mailformpro textarea {
  margin-bottom: .8em!important;
}

#mailformpro label.mfp_checked {
  background-color: transparent!important;
  box-shadow: none!important;
}

#mailformpro .mailform-btn button {
  text-shadow: none!important;   
  padding: 5px 30px!important;
  background: #4caf50!important;
  color: #fff!important;
  border: none!important;
}

.mailform-box.confirm input[type="checkbox"]:not(:checked) {
  opacity: 0.7;
}

.mailform-box.confirm input[type="checkbox"]:checked {
  opacity: 1;
}

#mailformpro .mailform-btn button:hover {
  box-shadow: none!important;
  background: #4caf50!important;
  color: #fff!important;
}

#mailformpro .mailform .must {
  color: #C00;
  background-color: transparent;
  border: none;
  text-shadow: none;
  box-shadow: none;
  background-image: none;
  font-size: 14px;
  margin: 0;
  padding: 0 5px 0 0;
}

@media (max-width: 759px) {
  #confirm .sec01-inner {
    padding-top: 20vw;
  }
  
  #confirm .sec01-form-ttl {
    font-size: 18px;
    line-height: 1.4;
  }
  
  #mailformpro .mailform-item {
    padding: 4vw 0 1vw 0 !important;
  }
  
  #mailformpro .mailform-box {
    padding: 0px 0 5vw 0 !important;
  }
  
  #mailformpro .mailform-box input {
    width: 100% !important;
  }
  
  #mailformpro .mailform-box.confirm input {
    width: inherit!important;
  }
  
  #mailformpro .mailform-box.confirm label {
    white-space: normal;
  }
  
  #mailformpro .mailform-btn button {
    padding: 2.5vw 8vw !important;
  }
  
  #mailformpro .mailform .must {
    margin: 0;
  }
}

/*-------------------------------------
  
THANKS
  
---------------------------------------*/
#thanks .sec01-inner {
  width: 820px;
  padding-top: 200px;
  padding-bottom: 200px;
}

#thanks .sec01-ttl {
  margin-bottom: 2em;
}

#thanks .sec01-txt {
  text-align: center;
}

#thanks .footer {   
  margin-top: 200px;
}

@media (max-width: 759px) {
  #thanks .sec01-inner {
    width: inherit;    
    padding-top: 20vw;
    padding-bottom: 20vw;
  }
  
  #thanks .sec01-ttl {
    margin-bottom: .7em;
  }
  
  #thanks .footer {
    margin-top: 0;
  }
}