@charset "utf-8";
/*
Theme Name: GENESIS child
Theme URI:https://tcd-theme.com/tcd103/
Description:WordPressテーマ「GENESIS」の子テーマ
Template:genesis_tcd103
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.0
*/

/*
  ここから下にCSSを追記してください。
*/
.fadein{
    opacity: 0;
    transform: translate(0,30px);
    -webkit-transform: translate(0,30px);
    transition: .6s;
}
.in{
    opacity: 1.0;
    transform: translate(0,0);
    -webkit-transform: translate(0,0);
}
#header{
  border-bottom: none;
}
#header_slider_wrap.layout_type2{
  height: auto;
  display: block;
  border-bottom: none;
}
#header_slider{
  display: none;
}
#header_slider_wrap.layout_type2 #header_slider_content{
  height: auto;
  padding: 150px 0 150px;
  text-align: center;
}

#header_slider_content .catch{
  line-height: 1.533em;
  letter-spacing: .08em;
  margin-bottom: .5em;
}
#header_slider_content .catch .color{
  color: #E6B925;
}
#header_slider_content .desc_area p{
  line-height: 2.2;
  font-weight: bold;
  letter-spacing: .08em;
}
#front_page_contents{
  padding: 0;
}
#front_page_contents #profile{
  position: relative;
  display: block;
  padding-top: 0;
  max-width: 1100px;
  margin: 0 auto 60px;
}
#front_page_contents #profile .txts{
  border: solid 1px #A2A2A2;
  border-radius: 80px;
  padding: 60px 80px 60px 60px;
  box-sizing: border-box;
  width: 62%;
}
#front_page_contents #profile .txts p{
  margin-bottom: 0;
  line-height: 2.1;
}
#front_page_contents #profile .txts p:nth-child(1),
#front_page_contents #profile .txts p:nth-child(2){
  font-weight: bold;
  font-size: 18px;
}
#front_page_contents #profile .txts p:nth-child(2)::after{
  content: "";
  display: block;
  width: 5em;
  height: 3px;
  background: #E6B925;
  margin: .5em 0 .8em;
}
#front_page_contents #profile .img{
  width: 470px;
  position: absolute;
  top: -110px;
  right: 0;
}
#front_page_contents #profile img{
  border-radius: 80px;
}

#front_page_contents #txtsArea{
  padding:80px 50px 100px;
  background: #f4f4f4;
}
#front_page_contents #txtsArea > .wp-block-group__inner-container{
  background: #fff;
  border-radius: 80px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 80px;
  box-sizing: border-box;
  border-left: solid 10px #E6B925;
}
#front_page_contents #txtsArea .wp-block-group + .wp-block-group{
  margin-top: 3.5em;
}
#front_page_contents #txtsArea p{
  font-size: 18px;
  letter-spacing: .05em;
  line-height: 2.6;
}
#body #copyright{
  background: #000;
}
#news{
  padding:0 0 260px;
}


/**/
.page-id-35 #page_contents .post_content{
  width: 100% !important;
  max-width: 1000px;
  color: #fff;
  position: relative;
  z-index: 1;
}
.page-id-35{
  background-image: url(img/bg-line.png),url(img/bg.webp);
  background-repeat: no-repeat,repeat;
  background-position: left top,left top;
  background-size: 1920px auto,100% auto;
  background-attachment: fixed;
}
.page-id-35::before{
  content: "";
  display: block;
  width: 100%;
  height: 50vh;
  background-image: linear-gradient(transparent, #3c3d629e 50%, #5b5c7b);
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 0;
}

.page-id-35 #titleArea{
  margin-bottom:50px;
}
.page-id-35 #titleArea h2{
  font-size: 78px;
  font-weight: bold;
  letter-spacing: .15em;
  margin-bottom: 0;
  border-bottom: solid 1px #E6B925;
}
.page-id-35 #titleArea p{
  color: #E6B925;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: .05em;
  text-align: center;
}
.page-id-35 .lead{
  text-align: center;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: .1em;
  line-height: 2.3;
  margin-bottom: 160px;
}
.page-id-35 .lead br:nth-child(3){
  display: none;
}
.page-id-35 .sec{
  color: #0A0C3A;
  background: #fff;
  border-radius: 100px;
  padding: 80px;
  margin-bottom: 120px;
}
.page-id-35 .sec h3{
  font-size: 30px;
  font-weight: bold;
  letter-spacing: .08em;
}
.page-id-35 .sec h3::after{
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, #E6B925 0%, #E6B925 50%, #E6B925 50%, #E6B925 100%);
  margin-top: 30px;
}
.page-id-35 .sec p{
  font-size: 18px;
  line-height: 2.2;
  margin-bottom: 1.5em;
  text-align: justify;
  letter-spacing: .08em;
}
.page-id-35 #footer{
  background: #fff;
}

.sec1 .wp-block-columns{
  background: #f5f5f5;
  padding: 50px;
  border-radius: 60px;
  margin-top: 50px;
}
.sec1 .wp-block-columns h4{
  font-size: 18px;
  letter-spacing: .05em;
}
.sec1 .wp-block-columns img{
  border-radius: 40px;
}
.sec1 .wp-block-column p{
  font-size: 16px;
  line-height: 2;
  margin-bottom: 0;
}
.sec5{
  margin-bottom: 100px;
}
.sec5 .headline{
  text-align: center;
  margin-bottom: 65px;
}
.sec5 .headline h2{
  font-size: 44px;
  letter-spacing: .05em;
  margin-bottom: 0;
}
.sec5 .headline h2 br{
    display: none;
  }
.sec5 .headline p{
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: .05em;
  color: #E6B925;
  margin-top: .5em;
}
.sec5 ul{
  margin-bottom: 75px;
  margin-left: 0;
  list-style: none;
}
/*
.sec5 li{
  font-size: 30px;
  letter-spacing: .1em;
  font-weight: bold;
  padding-bottom: .3em;
  border-bottom: solid 1px #E6B925;
}
.sec5 li + li{
  margin-top: .9em;
}
*/
.sec5 li{
  font-size: 30px;
  letter-spacing: .1em;
  font-weight: bold;
}
.sec5 li + li{
  margin-top: .5em;
}
.sec5 li::before{
  content: "";
  display: inline-block;
  width: .5em;
  height: .5em;
  background: url(img/circle.svg) no-repeat left top;
  background-size: 100% auto;
  margin-right: .5em;
  margin-bottom: .15em;
}
.sec5 .price{
  text-align: center;
  border: solid 3px #E6B925;
  border-radius: 60px;
  padding: 30px;
  display: none;
}
.sec5 .price h3{
  color: #E6B925;
  font-size: 32px;
  letter-spacing: .1em;
  margin-bottom: .5em;
}
.sec5 .price p{
  font-size: 28px;
  letter-spacing: .1em;
  line-height: 1;
  font-weight: bold;
  margin-bottom: 0;
}
.sec5 .price p span{
  font-size: .6em;
}
.page-id-35 .sec6 h3::after{
  content: none;
}
.page-id-35 .sec6 p{
  letter-spacing: 0.01em;
  margin-bottom: 0;
}
.sec6 .titles{
  margin: 85px 0 30px;
}
.sec6 .titles h4{
  font-size: 28px;
  line-height: 1;
  letter-spacing: .1em;
  margin-bottom: .5em;
}
.sec6 .titles p{
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: .08em;
  color: #E6B925;
  margin-top: .5em;
  text-align: center;
}
.page-id-35 .sec6 h3{
  margin-bottom: 1em;
}
.post_content .sec ul{
  list-style: disc outside none;
  font-size: 18px;
}
.smf-form--simple-table .checkbox{
  text-align: center;
}
#snow-monkey-form-42 .privacy{
  text-align: center;
  font-size: 16px;
  margin: 1em 0 1.5em;
}
#snow-monkey-form-42 .privacy a{
  color: #0A0C3A;
  text-decoration: underline;
}
#snow-monkey-form-42 .privacy a:hover{
  color: #E6B925;
}
.smf-form .smf-text-control__control,
.smf-form .smf-textarea-control__control{
  width: 100%;
  background: #f4f4f4;
  border: none;
  border-radius: 10px;
  font-size: 18px;
  padding: 1em 1.5em;
}
.smf-form .smf-text-control__control::placeholder{
  color: #ccc;
}
.smf-form .smf-checkbox-control__control{
  margin-top: 0;
}
.smf-item__label__text{
  font-weight: bold;
  font-size: 18px;
  line-height: 1;
  display: flex;
  align-items: center;
}
.smf-item__label__text::after{
  content: "必須";
  display: inline-block;
  font-size: 10px;
  line-height: 1;
  background-color: #E6B925;
  padding: 4px 8px;
  border-radius: 10px;
  margin-left: 1em;
}
.smf-form--simple-table .smf-item{
  align-items: center;
}

.smf-action .smf-button-control__control{
  border:solid 2px #E6B925;
  background: #E6B925;
  color: #0A0C3A;
  font-weight: bold;
  font-size: 18px;
  line-height: 1;
  letter-spacing: .05em;
  border-radius: 50px;
  padding: 1em 3em;
  transition: .1s;
}
.smf-action .smf-button-control__control:hover{
  opacity: .8;
}
.page-id-35 .sec6{
  padding-bottom: 70px;
  margin-bottom: 80px;
}
.snow-monkey-form[data-screen="confirm"] .checkbox,
.snow-monkey-form[data-screen="confirm"] .privacy{
  display: none;
}
.smf-action .smf-button-control__control[data-action="back"]{
  background: #fff;
}
.smf-focus-point{
  top: -40vh;
}

#footer_inner{
  display: none;
}
#footer_nav{
  border-top: none;
}

.page-id-3 #page_contents .post_content,
.page-id-39 #page_contents .post_content,
.page-id-37 #page_contents .post_content{
  max-width: 1100px;
}
.page-id-3 #page_header .design_header,
.page-id-39 #page_header .design_header,
.page-id-37 #page_header .design_header{
  max-width: 1100px;
  margin-bottom: 100px;
}

.post_content table{
  border-collapse: collapse !important;
}

.page-id-3 .post_content h2{
  font-size: 22px;
  margin: 2em 0 .5em;
}
.page-id-3 .post_content p{
  line-height: 2;
}
.page-id-3 .post_content ul{
  list-style: disc;
}
.page-id-39 .post_content table{
  border: none;
}
.page-id-39 .post_content table td{
  border: none;
  border-bottom: solid 1px #ccc;
  padding-top: 1.5em;
  padding-bottom: 1.5em;
}
.page-id-39 .post_content tr td:nth-child(1){
  width: 30%;
  padding-right: 3em;
}
#body .smf-complete-content p{
  text-align: center;
}
body.page-id-37.hide_breadcrumb #container,
body.page-id-39.hide_breadcrumb #container,
body.page-id-3.hide_breadcrumb #container{
  padding-top: 100px;
}
.page-id-37 .privacy a{
  color: #000;
  text-decoration: underline;
}
.page-id-37 .message-item{
  align-items: flex-start;
}
.page-id-37 .message-item .smf-item__col--label{
  margin-top: 1em;
}
#return_top.active{
  bottom: 85px;
}
.grecaptcha-badge{
  z-index: 2;
}
#recent_news{
  display: none;
}
.widget_headline{
  background: #E6B925;
}
#side_col{
  top: -200px;
}
.single #main_content{
  padding-bottom: 0;
}
.single #main_col{
  margin-bottom: 80px;
}


@media (min-width: 640px) {
  .page-id-37 .smf-form--simple-table .smf-item__col--label{
    flex: 0 0 17em;
    max-width: 17em;
  }
  .page-id-37 .smf-form--simple-table .smf-item__col--controls{
    flex: 1 1 calc(100% - 17em);
    max-width: calc(100% - 17em);
  }
}

@media screen and (max-width: 1200px) {
  #front_page_contents #profile{
    margin: 0 50px 60px;
  }
  #front_page_contents #profile .img{
    width: 43.5%;
    top: calc(-110vw / 12);
  }
  #front_page_contents #profile img{
    border-radius: calc(80vw / 12);
  }
  #front_page_contents #profile .txts{
    padding: 50px 70px 50px 50px;
    border-radius: calc(80vw / 12);
  }
}
@media screen and (max-width: 1100px) {
  #front_page_contents #profile .txts p:nth-child(1),
  #front_page_contents #profile .txts p:nth-child(2){
    font-size: 16px;
  }
  #front_page_contents #txtsArea p{
    font-size: 16px;
  }
  #front_page_contents #txtsArea > .wp-block-group__inner-container{
    padding: 65px;
    border-left-width: 8px;
  }
  .page-id-35 #titleArea h2{
    font-size: calc(76vw / 11);
  }
  .page-id-35 #titleArea p{
    font-size: calc(23vw / 11);
  }
  .page-id-35 #titleArea{
    margin-bottom: calc(50vw / 11);
  }
  .page-id-35 .lead{
    font-size: calc(35vw / 11);
    margin-bottom: calc(160vw / 11);
  }
  .page-id-35 .sec h3{
    font-size: calc(30vw / 11);
  }
  .page-id-35 #page_contents{
    padding-right: 50px;
    padding-left: 50px;
  }
  .page-id-35 #page_contents .post_content{
    padding: 0 !important;
  }
  .page-id-35 .sec{
    padding: calc(80vw / 11);
    border-radius: calc(100vw / 11);
    margin-bottom: calc(120vw / 11);
  }
  .page-id-35 .sec p,
  .sec1 .wp-block-columns h4{
    font-size: 17px;
  }
  .sec1 .wp-block-columns p{
    font-size: 16px;
  }
  .sec1 .wp-block-columns{
    padding: calc(50vw / 11);
    border-radius: calc(60vw / 11);
    margin-top: calc(50vw / 11);
  }
  .sec1 .wp-block-columns img{
    border-radius: calc(40vw / 11);
  }
  .sec5{
    margin-bottom: calc(100vw / 11);
  }
  .sec5 .headline h2{
    font-size: calc(44vw / 11);
  }
  .sec5 .headline p{
    font-size: calc(24vw / 11);
  }
  .sec5 ul{
    margin-bottom: calc(75vw / 11);
  }
  .sec5 li{
    font-size: calc(30vw / 11);
  }
  .sec5 .headline{
    margin-bottom: calc(65vw / 11);
  }
  .sec6 .titles h4{
    font-size: calc(28vw / 11);
  }
  .page-id-35 .sec6 .titles p{
    font-size: calc(17vw / 11);
  }
  .smf-action .smf-button-control__control{
    font-size: calc(18vw / 11);
  }
  .page-id-35 .sec6{
    margin-bottom: calc(80vw / 11);
  }
  #header_slider_wrap.layout_type2 #header_slider_content{
    padding-bottom: 130px;
  }
  #news{
    padding-bottom:calc(240vw / 11) ;
  }
  #side_col{
    top: 0;
  }
  .single .widget_content{
    width: 100%;
  }
}
/*      [ PC small ]
-----------------------------------------------*/
@media screen and (max-width: 960px) {
  .page-id-35 .sec p, .sec1 .wp-block-columns h4{
    font-size: 16px;
  }
  .sec1 .wp-block-columns p{
    font-size: 15px;
  }
  .post_content .sec ul{
    font-size: 16px;
  }
}
@media screen and (max-width: 900px) {
  .page-id-35 .lead{
    font-size: calc(28vw / 9);
  }
  .sec6 .titles h4{
    font-size: 24px;
  }
  .page-id-35 .sec6 .titles p{
    font-size: 14px;
  }
  .smf-action .smf-button-control__control{
    font-size: 16px;
  }
}
/*      [ Tablet large]
-----------------------------------------------*/
@media screen and (max-width: 800px) {
  #header_slider_wrap.layout_type2 #header_slider_content{
    padding: 100px 0 100px;
  }
  #front_page_contents #profile{
    display: flex;
    flex-direction: column-reverse;
  }
  #front_page_contents #profile .img{
    position: relative;
    top: 0;
    width: 290px;
    margin: 0 auto -80px;
  }
  #front_page_contents #profile .txts{
    width: 100%;
    padding: 70px 40px 40px 40px;
  }
  #front_page_contents #txtsArea > .wp-block-group__inner-container{
    padding: 50px;
    border-left-width: 6px;
    border-radius: 50px;
    text-align: justify;
  }
  .page-id-35 #page_contents{
    padding: 70px 30px 50px !important;
  }
  .page-id-35 .sec h3{
    font-size: calc(26vw / 8);
  }
  .page-id-35 .smf-form--simple-table .smf-item__col--label{
    flex: 0 0 15em;
    max-width: 15em;
  }
  .page-id-35 .smf-form--simple-table .smf-item__col--controls{
    flex: 1 1 calc(100% - 15em);
    max-width: calc(100% - 15em);
  }
  .page-id-35 .smf-form--simple-table .checkbox .smf-item__col--controls{
    max-width: 100%;
  }
  .page-id-35 .sec6{
    margin-bottom: calc(100vw / 8);
  }
  body.page-id-37.hide_breadcrumb #container,
  body.page-id-39.hide_breadcrumb #container,
  body.page-id-3.hide_breadcrumb #container{
    padding-top: 0;
  }
  .page-id-37 .smf-form--simple-table .smf-item__col--label{
    flex: 0 0 20em;
    max-width: 20em;
  }
  .page-id-37 .smf-form--simple-table .smf-item__col--controls{
    flex: 1 1 calc(100% - 20em);
    max-width: calc(100% - 20em);
  }
  .page-id-37 .large_headline,
  .page-id-39 .large_headline,
  .page-id-3 .large_headline{
    font-size: 45px !important;
  }
  body:not(.show_sidebar) #page_header.large_height{
    height: 200px;
  }
  .page-id-39 .post_content table tr:last-child td{
    border-bottom: none;
  }
  #news{
    padding-bottom:100px;
  }
  .single .post_content h3,
  .single .post_content h4,
  .single .post_content h5{
    font-size: 18px;
  }
}
@media screen and (max-width: 781px) {
  .sec1 .wp-block-columns{
    flex-direction: column-reverse;
  }
}
@media screen and (max-width: 768px) {
  .page-id-39 .post_content tr td:nth-child(1),
  .page-id-39 .post_content table td{
    display: block;
    width: 100%;
    padding-top: 1.5em;
  }
  .page-id-39 .post_content tr td:nth-child(1){
    border-bottom: none;
    padding-bottom: 0;
    font-weight: bold;
  }
  .page-id-39 .post_content tr td:nth-child(2){
    padding-top: .5em;
  }
}
/*      [ Tablet small]
-----------------------------------------------*/
@media screen and (max-width: 650px) {
  .page-id-35 .smf-form--simple-table .smf-item__col--label,
  .page-id-35 .smf-form--simple-table .smf-item__col--controls,
  .page-id-37 .smf-form--simple-table .smf-item__col--label,
  .page-id-37 .smf-form--simple-table .smf-item__col--controls{
    max-width: 100%;
  }
  #snow-monkey-form-42 .privacy,
  #snow-monkey-form-115 .privacy{
    text-align: left;
    font-size: 14px;
  }
  .smf-item__label__text{
    font-size: 16px;
  }
  .smf-form .smf-text-control__control, .smf-form .smf-textarea-control__control{
    font-size: 16px;
  }
  .page-id-35 .sec6{
    margin-bottom: 70px;
  }
  .page-id-39 .large_headline,
  .page-id-37 .large_headline,
  .page-id-3 .large_headline{
    font-size: 30px !important;
  }
  .page-id-3 .post_content h2{
    font-size: 18px;
  }
  .single #main_content{
    padding-bottom: 50px;
  }
  .single #main_col{
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 600px) {
  #front_page_contents #profile{
    margin: 0 15px 50px;
  }
  #header_slider_wrap #header_slider_content .catch{
    font-size: calc(26vw / 3.75);
    margin-bottom: 1em;
    line-height: 1.7;
  }
  #header_slider_wrap #header_slider_content .desc{
    font-size: calc(16vw / 3.75);
    line-height: 2.4;
  }
  #front_page_contents #profile .img{
    width: 220px;
    margin-bottom: -60px;
  }
  #front_page_contents #profile .txts{
    padding: 55px 30px 30px 30px;
    border-radius: 30px;
  }
  #front_page_contents #txtsArea{
    padding: 50px 15px 50px;
  }
  #front_page_contents #txtsArea > .wp-block-group__inner-container{
    padding:40px 30px 45px;
    border-left-width: 3px;
    border-radius: 30px;
  }
  #front_page_contents #txtsArea p{
    line-height: 2.1;
  }
  #front_page_contents #profile .txts p:nth-child(2)::after{
    width: 3em;
  }
  #front_page_contents #profile img{
    border-radius: 30px;
  }
  #front_page_contents #profile .txts p{
    font-size: 16px;
    text-align: justify;
  }
  .page-id-35 #page_contents {
    padding: 55px 15px 30px !important;
  }
  .page-id-35 #titleArea{
    margin-bottom: calc(25vw / 4.14);
  }
  .page-id-35 .lead{
    font-size: calc(18vw / 4.14);
    line-height: 2.6;
  }
  .page-id-35 .lead br:nth-child(3){
    display: block;
  }
  .page-id-35 #titleArea h2{
    margin: 0 5px .2em;
    padding-bottom: .2em;
  }
  .page-id-35 .sec{
    padding: 30px;
    text-align: justify;
    border-radius: 30px;
    margin-bottom: calc(50vw / 4.14);
  }
  .page-id-35 .sec h3{
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: .05em;
  }
  .page-id-35 .sec p{
    letter-spacing: .05em;
  }
  .page-id-35 #titleArea p{
    font-size: 11px;
  }
  .sec1 .wp-block-columns{
    padding: 30px;
    border-radius: 30px;
  }
  .post_content .sec ul li + li{
    margin-top: .9em;
  }
  .sec5{
    margin-bottom: calc(50vw / 4.14);
    padding-top: 15px;
  }
  .sec5 .headline h2{
    font-size: calc(24vw / 4.14);
    line-height: 1.5;
  }
  .sec5 .headline h2 br{
    display: block;
  }
  .sec5 .headline p{
    font-size: 11px;
  }
  .sec5 li{
    font-size: 18px;
    text-indent: -1em;
    padding-left: 1em;
  }
  .sec5 li + li{
    margin-top: .7em;
  }
  .sec5 .headline{
    margin-bottom: calc(40vw / 4.14)
  }
  .page-id-35 .sec6 h3{
    text-align: left;
  }
  .page-id-35 .sec6 h3 br{
    display: none;
  }
  .sec6 .titles h4{
    font-size: 20px;
  }
  .page-id-35 .sec6 .titles p{
    font-size: 11px;
  }
  .sec1 .wp-block-columns img{
    border-radius: 30px;
  }
  .sec6 .titles{
    margin: 60px 0 25px;
  }
  #news {
    padding-bottom: 75px;
  }

}
/*      [ Smartphone ]
-----------------------------------------------*/
@media screen and (max-width: 480px) {

}