@charset "UTF-8";
/*----------------------------------------------------------------------------------------------------
 *
 * Theme Name: locadai, Inc ver1.0
 * Theme URI: https://kumamoto.local-business-daigaku.site/
 * Author: Kinjo Aimi
 * Author URI: 
 * Description: 地域会議用のテーマ
 * Version: 1.0
 * License: GNU General Public License v2 or later
 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain: 2b
 *
 *--------------------------------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------------
 *
 *
 * リセット
 *
 *
--------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; font:inherit; font-size:100%; vertical-align:baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }
html, body { width:100%; height:100%; line-height:1; }
ol, ul { list-style:none; }
blockquote, q {quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }
table { border-collapse:collapse; border-spacing:0; }
* { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; }

/*--------------------------------------------------

   Clearfix

--------------------------------------------------*/
.cf { zoom:1; } .cf:before,.cf:after { content:""; display:table; } .cf:after { clear:both; }

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * 基本設定
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
html { overflow:auto; }
@media screen and (max-width:1000px){ body { width:1000px; } }
@media screen and (max-width:768px){ body { width:100%; background:#fff; } }
body {display: flex;
  flex-direction: column;
  min-height: 100vh; font-family: 'Noto Sans JP', sans-serif;}
a:link,
a:visited { color:#000 ; text-decoration:none; transition:.3s ease; }
a:hover,
a:active { color:#000; text-decoration:none; transition:.3s ease; }
img { max-width:100%; height:auto; vertical-align:top; backface-visibility:hidden; }
a:link img,
a:visited img {opacity:1.0; transition:.3s ease; }
a:hover img,
a:active img {opacity: 0.6; transition: .3s ease; }
video::-webkit-media-controls-enclosure { overflow:hidden; }
video::-webkit-media-controls-panel { width: calc(100% + 30px); }
.fa, .far, .fas {font-family: "Font Awesome 5 Free";}
/* ------------------------------小見出し属性------------------------------　*/
h1 , h2 ,h3 ,h4 ,h5 { margin:0; padding:0; line-height:1.7; margin:0 0 20px 0; font-weight:bold; }
h1 { font-size:30px; }
h2 { font-size:26px; text-align:center; }
h3 { font-size:22px; }
h4 { font-size:18px; }
h5 { font-size:16px; }

@media screen and (max-width:768px){
	h1 { font-size:24px;}
	h2 { font-size:19px; }
	h3 { font-size:18px; }
	h4 { font-size:16px; }
	h5 { font-size:16px; }
}
p { font-size:16px; margin:0 0 0px 0; padding:0; line-height:2; display:block; color:#000; letter-spacing: 1.08px;}
ul { margin:0; padding:0; }
li { margin:0; padding:0; font-size:16px; line-height: 1.8;}
img { max-width:100%; height:auto; display:block; }
@media screen and (max-width:768px){
	p { font-size:3.8vw; }
	li { font-size:3.8vw; }
}
img.center,.aligncenter { margin:0 auto; display:block; }
img.left { float:left; margin:0 30px 30px 0; }
img.right { float:right; margin:0 0 30px 30px; }
img.photo00 { background:#ffffff; padding:5px; box-shadow:0px 0px 5px 5px rgba(0,0,0,0.05); }
img.photo-left { transform:rotate(-4deg); -moz-transform:rotate(-4deg); -webkit-transform:rotate(-4deg); background:#ffffff; padding:5px; box-shadow:0px 0px 5px 5px rgba(0,0,0,0.05); }
img.photo-right { transform:rotate(4deg); -moz-transform:rotate(4deg); -webkit-transform:rotate(4deg); background:#ffffff; padding:5px; box-shadow:0px 0px 5px 5px rgba(0,0,0,0.05); }
.bold { font-weight:bold; }
.underline { text-decoration:underline; font-weight:bold; }
.red { color:#cd4a38; font-weight:bold; }
.red_underline { background:linear-gradient(transparent 60%, #ff9999 60%); }
.yellow { color:#000000; font-weight:bold; background:linear-gradient(transparent 60%, #ffff00 60%); }
.center { text-align:center; }
.big { font-size:20px; }
.sp00 { margin-top:0 !important; }
.sp10 { margin-top:10px !important; }
.sp20 { margin-top:20px !important; }
.sp30 { margin-top:30px !important; }
.sp50 { margin-top:50px !important; }
.sp70 { margin-top:70px !important; }
.sp100 { margin-top:100px !important; }
.align_left { text-align:left; }
.align_right { text-align:right; }
.align_center { text-align:center; }
.ffffff { background:#ffffff!important; }
.f7f7f7 { background:#f7f7f7!important; }
@media screen and (max-width:768px){
	img.left , img.right  { float:none; margin:0 auto 20px auto; display:block; }
	.big { font-size:16px; }
}
.pc { display:block!important; }
.sp { display:none!important; }
@media screen and (max-width:768px){
	.pc { display:none!important; }
	.sp { display:block!important; }
}
.back-main-color {background: #ffdc00;}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * ヘッダー
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
/* ------------------------------ロゴ・メニューバーエリア------------------------------　*/
header {
	width: 100%;
  height: 0px;
  margin: 0 auto;
  background: transparent;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
header .inner {width: 95%; margin: 0 auto; height: 100px;
    display: flex;
    align-items: center;}
#h1 {margin: 0;}
#h1 a {color: #FFF;
text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.50);
font-size: 36px;
font-style: normal;
font-weight: 700;
line-height: 76.16px; /* 211.556% */
letter-spacing: 16px;}
#h1 img {height: 40px; width: auto; object-fit: contain;}

@media screen and (max-width:966px){
	#h1 a {font-size: 22px; letter-spacing: .5em;}
}


/* ------------------------------キービジュアル------------------------------　*/
.kv {
	background-image: url(img/kv.jpg);
  background-position: center;
  background-size: cover;
  height: 100vh;
}
.kv-inner {height: 100vh; max-width: 1100px; width: 90%; margin: auto; position: relative;}
.kv-wrapper {display: flex; justify-content: center; align-items: center; height: 100vh;}
h1.catch-copy span.fukidashi {
	position: relative;
    display: inline-block;
    margin: 0 0 1.5em 0;
    padding: 16px 30px;
    max-width: 100%;
    color: #000;
    font-size: 18px;
    border: solid 3px #000;
    box-sizing: border-box;
    letter-spacing: .2em;
    line-height: 1.7;
}
h1.catch-copy span.fukidashi:before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #FFF;
  z-index: 2;
}

h1.catch-copy span.fukidashi:after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 14px solid #000;
  z-index: 1;
}
h1.catch-copy span.copy {
	display: block;
	text-align: center;
	font-size: 23px;
	letter-spacing: 7px;
	margin-bottom: 1.5em;
}
h1.catch-copy {
	font-size: 52px;
	font-style: normal;
	font-weight: 700;
	line-height: 47.2px; 
	letter-spacing: 9px;
	margin-bottom: 70px;
}
.kv .txt-wrapper {
    text-align: center;
}
.btn-wrapper {
	max-width: 400px;
  margin: 50px auto 0;
}
a.btn {
	color: #fff;
  text-align: center;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 70px;
  letter-spacing: 3px;
  display: block;
  border-radius: 2px;
  background: #1E3050;
  position: relative;
}
a.btn::after {
	content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 27px;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  box-sizing: border-box;
}
.kv ul.note {max-width: 400px; margin: 25px auto 0;}
.kv ul.note li {text-align: left;}

@media screen and (max-width:766px){
	h1.catch-copy {
	    font-size: 7vw;
	    line-height: 1.3;
	    letter-spacing: .2em;
	    margin-bottom: 5%;
	}
	h1.catch-copy span.fukidashi {
		font-size: 3.2vw;
		letter-spacing: 0;
		padding: 3vw;
	}
	h1.catch-copy span.copy {
	    font-size: 4vw;
	    line-height: 1.8;
	    letter-spacing: .3em;
	    margin-bottom: 4%;
	    font-weight: normal;
	}
	.btn-wrapper {margin: 50px auto 0; max-width: 320px;}
}



/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * コンテンツ
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

/* ------------------------------共通------------------------------　*/
section { width:100%; }
section .inner { max-width:1000px; width: 90%; margin:0 auto; padding:100px 0; }
.ttl {margin-bottom: 50px;}

.ttl h1 {
	color: #000;
text-align: center;
font-size: 42px;
letter-spacing: 0.5px;
} 
.ttl h1 span {
	color: #6F6F6F;
  text-align: center;
  font-size: 20px;
  letter-spacing: 0.5px;
  display: block;
  font-weight: normal;
  text-transform: uppercase;
}

@media screen and (max-width:766px) {
	section .inner { width:90%; padding:60px 0; }
	.ttl h1 {font-size: 8vw;}
	.ttl h1 span {font-size: 4.4vw;}
/*
	.page-top {
    margin-top: -60px;
}
*/
}

.page-top {position: relative;}
ul.note {margin-top: 10px;}
ul.note li {font-size: 14px; position: relative; padding-left: 17px;letter-spacing: .03em;}
ul.note li:before {content: '※'; position: absolute; left: 0;}

@media screen and (max-width:766px){
	ul.note li {font-size: 2.8vw;}
}

/*--------------------------------------------------------------------------------
 * about
--------------------------------------------------------------------------------*/
.about {background: #fff;}
.about p.lead {font-size: 18px; text-align: center;}
.about p.lead:not(:last-of-type) {margin-bottom: 30px;}
.about ul.note {text-align: center;margin-top: 30px;}
.about ul.note li {display: inline-block; text-align: left;}

@media screen and (max-width:766px){
	.about p.lead {text-align: left;font-size: 4vw;}
	.about ul {flex-wrap: wrap;}
	.about ul li {flex-basis: 100%; margin: 3% 0;}
}

/*--------------------------------------------------------------------------------
 * policy
--------------------------------------------------------------------------------*/
.policy {background: #F5F5F5;}
.policy p.lead {margin-bottom: 20px;text-align: center;}
.policy ul {display: flex; justify-content: space-between;}
.policy ul li {flex-basis: 30%; background: #fff; border-radius: 10px; padding: 30px 0;text-align: center;}
.policy ul li .img-wrapper {width: 100px; height: 100px; display: flex; justify-content: center; align-items: center;margin: 0 auto;}
.policy ul li p {min-height: 60px; display: flex; justify-content: center; align-items: center;}

@media screen and (max-width:766px){
	.policy p.lead {text-align: left;}
	.policy ul{display: block;}
	.policy ul li:not(:last-of-type){margin-bottom: 5%;}
	.policy ul li .img-wrapper {width: 80px; height: 80px;margin: 0 auto 5%;}
	.policy ul li p {min-height: auto;}
 }


/*--------------------------------------------------------------------------------
 * like
--------------------------------------------------------------------------------*/
.like ul {display: flex; flex-wrap: wrap; justify-content: space-between;}
.like ul li {flex-basis: 31%; background: #fff; padding: 30px 0;}
.like ul li .img-wrapper {width: 120px; height: 120px; display: flex; justify-content: center; align-items: center;margin: 0 auto; border-radius: 50%;overflow: hidden; margin-bottom: 20px;}
.like ul li p {min-height: 60px; display: flex; justify-content: center; align-items: center;text-align: center;}

@media screen and (max-width:766px){
	.like ul li {flex-basis: 100%;}
	.like ul li .img-wrapper {width: 80px;height: 80px;}
}



/*--------------------------------------------------------------------------------
 * features
--------------------------------------------------------------------------------*/
.features {background: url(img/bg-features.jpg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;}

/*--------------------------------------------------------------------------------
 * program
--------------------------------------------------------------------------------*/
.program .ttl {text-align: center;}
.program h2 {position: relative; font-size: 32px;position: relative;display: inline-block;padding-left: 70px;text-align: left;line-height: 1.5;}
.program h2:before {content: '01';
    font-family: "Jost", sans-serif;
    color: #6F6F6F;
    font-size: 70px;
    font-weight: 500;
    margin-right: 30px;
    position: absolute;
    left: 0;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);}
.program02 h2:before {content: '02';}
.program03 h2:before {content: '03';}
.program h2 span {font-size: 25px;}

/* ------------------------------program-01------------------------------　*/
ul.program-wrapper01 {display: flex; flex-wrap: wrap;  justify-content: space-between;margin-bottom: 60px;}
ul.program-wrapper01 li {background: #f5f5f5; flex-basis: 48%; padding: 30px; display: flex; justify-content: space-between;align-items: center;margin: 20px 0px;}
ul.program-wrapper01 li .img-wrapper {flex-basis: 100px; display: flex; justify-content: center; align-items: center;}
ul.program-wrapper01 li p {flex-basis: calc(100% - 120px); font-size: 18px; font-weight: bold;line-height: 1.7;}

.program-wrapper02 {border: 2px solid #000; padding: 50px;}
.program-wrapper02 h3{text-align: center; font-size: 32px;}
.flex-wrapper {display: flex; justify-content: space-between;}
.flex-wrapper dl {flex-basis: 31.5%;background: #F5F5F5;}
.flex-wrapper dt {background: #1E3050; color: #fff; text-align: center; font-size: 38px;font-weight: bold;padding: 16px;letter-spacing: .05em;}
.flex-wrapper dt span {font-size: 18px;} 
.flex-wrapper dd {padding: 30px;
    line-height: 1.6;
    font-size: 18px;
    font-weight: bold;}
.flex-wrapper:first-of-type {margin-bottom: 30px;}
.flex-wrapper ul {flex-basis: 48%;}
.flex-wrapper ul li  {
	padding-left: 16px;
	position: relative;

}
.flex-wrapper  ul li::before {
	content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    position: absolute;
    left: 0;
    background: #000;
    top: 12px;
}

/* ------------------------------program-02------------------------------　*/
.program .img-wrapper {flex-basis: 47%;}
.program .txt-wrapper {flex-basis: 49%;}
.program .txt-wrapper p {font-size: 18px;}
.program02 .inner {padding: 10px 0;}
.program02 .flex-wrapper,
.program03 .flex-wrapper {align-items: center;}
.program03 .flex-wrapper {flex-direction: row-reverse;}

@media screen and (max-width:766px){
	.program .ttl {padding-top: 5vw;}
	.program h2 {font-size: 7vw;padding-left: 0;padding-top: 11vw;text-align: center;}
	.program h2:before {top: 0;left: 50%;font-size: 15vw;}
	.program h2 span {font-size: 5vw;}
	ul.program-wrapper01 li {flex-basis: 100%;padding: 4vw;margin: 0;}
	ul.program-wrapper01 li:not(:last-of-type) {margin-bottom: 5%;}
	ul.program-wrapper01 li .img-wrapper {flex-basis: 18vw;}
	ul.program-wrapper01 li .img-wrapper img{width: 75%;} 
	ul.program-wrapper01 li:last-of-type .img-wrapper img {width: 45%;}
	ul.program-wrapper01 li p {flex-basis: calc(100% - 20vw);font-size: 3.8vw;}
	.program-wrapper02 {padding: 5vw;}
	.program-wrapper02 h3 {font-size: 6vw;}
	.flex-wrapper {flex-wrap: wrap;}
	.flex-wrapper dl {flex-basis: 100%; margin-bottom: 5%;}
	.flex-wrapper dt {font-size: 5vw;}
	.flex-wrapper dd {padding: 5vw; font-size: 4vw;}
	.flex-wrapper dt span {font-size: 4.4vw;}
	.flex-wrapper ul {flex-basis: 100%;font-size: 3.8vw;padding: 1.5vw 0 1.5vw 3.5vw;line-height: 1.5;}
	.program .img-wrapper {flex-basis: 100%;margin-bottom: 5%;}
	.program .txt-wrapper {flex-basis: 100%;}
	.program .txt-wrapper p{font-size: 3.8vw;}
}

/*--------------------------------------------------------------------------------
 * CTA
--------------------------------------------------------------------------------*/
.cta {background: url(img/bg-cta.jpg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;}
.cta h1 {color: #fff; font-size: 26px; text-align: center;}
.cta .btn-wrapper {margin: 10px auto 0;}
a.cta-btn {background: #fff; color: #1E3050;}
a.cta-btn::after {
	border-top: 2px solid #1E3050;
  border-right: 2px solid #1E3050;
}
.cta ul.note {max-width: 400px; margin: 25px auto 0;}
.cta ul.note li {text-align: left; color: #fff;}

@media screen and (max-width:766px){
	.cta h1 {font-size: 6vw;}
	.cta .btn-wrapper {margin: 30px auto 0;}
}

/*--------------------------------------------------------------------------------
 * lecturers
--------------------------------------------------------------------------------*/
.lecturers dl {background: #F5F5F5; display: flex; align-items: center; padding: 30px; justify-content: space-between;}
.lecturers dl:not(:last-of-type) {margin-bottom: 35px;}
.lecturers dt {border-right: 1px solid #000;}
.lecturers dt {flex-basis: 35%; display: flex; align-items: center;}
.lecturers dt p {margin-left: 20px;}
.lecturers dt span.company {display: block; font-size: 14px;line-height: 1.5; margin-bottom: 10px;}
.lecturers dt span.name {font-size: 18px;}
.lecturers dd {flex-basis: 60%; }
.lecturers dd span.ttl {display: inline-block; background: #1E3050; color: #fff;padding: 8px 38px;margin-bottom: 20px;letter-spacing: .1em;}
.lecturers dd span.txt {display: block;line-height: 1.6; margin-bottom: 20px;}
span.tag {display: inline-block;
    border-radius: 20px;
    background: #fff;
    color: #000;
    margin-bottom: 5px;
    font-size: 14px;
    padding: 10px 16px;
    margin-right: 10px;}

@media screen and (max-width:766px){
	.lecturers dl {display: block;padding: 5vw;}
	.lecturers dt {border-right: none; border-bottom: 1px solid #000;padding-bottom: 5vw;}
	.lecturers dt picture {flex-basis: 25vw;}
	.lecturers dt picture img {width: 100%;}
	.lecturers dd {padding: 5vw 0 0 0;}
	.lecturers dd span.ttl {padding: 2vw 5vw;font-size: 4vw;margin-bottom: 5%;}
	.lecturers dd span.txt {font-size: 4.4vw;}
	.lecturers dt span.company {margin-bottom: 0;}
	span.tag {font-size: 3.3vw;padding: 2vw 4vw;}
}
    
/*--------------------------------------------------------------------------------
 * can
--------------------------------------------------------------------------------*/    
.can {background: #F5F5F5;}   
.can ul {display: flex; justify-content: space-between;}   
.can ul li {flex-basis: 32%;background: #fff; border-radius: 10px; padding: 30px;}   
.can ul li img {display: block; margin: 0 auto 20px;}    
.can ul li p {display: flex; justify-content: center; align-items: center;min-height: 60px;text-align: center;}    

@media screen and (max-width:766px){
	.can ul {display: block;}
	.can ul li:not(:last-of-type) {margin-bottom: 5%;}
	.can ul li img {width: 80px; height: 80px;}
	.can ul li p {min-height: auto;}
 }

/*--------------------------------------------------------------------------------
 * enroll
--------------------------------------------------------------------------------*/    
.enroll ol {counter-reset: number;
    list-style-type: none;
    }
.enroll ol > li {
    position: relative;
    padding: 40px 40px 40px 140px;
    background: #F5F5F5;
    border-radius: 10px;
}
.enroll ol > li:before {
    position: absolute;
    counter-increment: number;
    content: '0'counter(number);
    display: inline-block;
    color: white;
    font-family: "Jost", sans-serif;
    color: #6F6F6F;
    font-size: 70px;
    font-weight: 500;
    margin-right: 30px;
    
    position: absolute;
    top: 50%;
    left: 70px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.enroll ol > li:not(:last-of-type) {margin-bottom: 30px;}
.enroll ol > li:not(:last-of-type):after {
	content: "";
  position: absolute;
  top: 100%;
  left: 70px;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #F5F5F5;
}

@media screen and (max-width:766px){
	.enroll ol > li {padding: 23vw 7vw 7vw;font-size: 4vw;}
	.enroll ol > li:before {top: 14vw;left: 50%;font-size: 15vw;}
}



/*--------------------------------------------------------------------------------
 * qa
--------------------------------------------------------------------------------*/  
.qa {background: #f5f5f5;}
.qa dd ul li {
    padding-left: 16px;
    position: relative;
}
.qa dd ul li::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    position: absolute;
    left: 0;
    background: #000;
    top: 12px;
}


/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * 問い合わせフォーム
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
form dl,dt,dd {margin:0; padding:0; }
form dl { width:100%; font-size: 14px; font-weight: bold;
	display:-webkit-box; display:-ms-flexbox; display: flex;
	-webkit-box-align: center; -ms-flex-align: center; align-items: center;}
form dt {width: 35%;}
form dd {width: 65%;}
form dt,dd { padding:20px 0; }
dl.form dt { clear:left; float:left; width:27%; font-size:16px; font-weight: bold;}
dl.form dd { margin-left:27%;}

@media screen and (max-width:768px){
	form dl {display: block; margin-bottom: 10px;}
	form dt {width: 100%;}
	form dd  {width: 100%;}
	form dt, dd {padding: 8px 0;}
}

/* ------------------------------プレースホルダーの色・サイズ指定------------------------------　*/
input::-webkit-input-placeholder {color:#ccc; font-size:14px; }
input:-moz-placeholder {color:#ccc; font-size:14px; }
textarea::-webkit-input-placeholder {color:#ccc; font-size:14px; }
textarea:-moz-placeholder {color:#ccc; font-size:14px; }

/* ------------------------------コンタクトフォーム７------------------------------　*/
div.wpcf7 { display:block; width:100%; margin:0 auto!important; box-shadow:none; background:transparent; }
div.wpcf7 p { padding:0; margin:0; line-height:2; }
div.wpcf7 input, .wpcf7 textarea , .wpcf7 select { width:100%; border:none; padding:14px; font-size:16px; border-radius:2px; background: #f5f5f5;}
div.wpcf7 textarea { height:215px; }
div.wpcf7 select { height:60px; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border:1px solid #009de1; }
.wpcf7-captchac { border:1px solid #ccc; }

@media screen and (max-width:768px){
	div.wpcf7 { width:100%; }
}

/* ------------------------------エラー個所をわかりやすく表示------------------------------　*/
.wpcf7 .wpcf7-not-valid { background:#ffb6c1; }
.wpcf7 span.wpcf7-not-valid-tip { font-size:80%; margin-top: 10px;}
.wpcf7 .wpcf7-response-output {margin:10px 0 0; padding:8px 35px 8px 14px; text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px; -moz-border-radius:4px; border-radius:4px; }
.wpcf7 .wpcf7-validation-errors { color:#B94A48; background-color:#F2DEDE; border:1px solid #EED3D7;}
.wpcf7 .wpcf7-mail-sent-ok { color:#3A87AD; background-color:#D9EDF7; border:1px solid #BCE8F1;}
/* 必須赤色表示 */
.wpcf7 .required { color: #000000;}
/* 任意緑色表示 */
.wpcf7 .any{ color: #080;}
select { background:#ffffff; border:1px solid #cccccc; border-radius:3px; color:#0C2245; font-size:14px; height:40px; line-height:30px; text-align:left; text-indent:5px; vertical-align:middle; width:100%; }
.hissu{ background:#ff6600; color:#ffffff; margin:0 0 0 5px; padding:3px 7px; font-weight:bold; border-radius:3px; font-size:12px; }
.nini{ background:#777777; color:#ffffff; margin:0 0 0 5px; padding:3px 7px; font-weight:bold; border-radius:3px; font-size:12px; }

/* ------------------------------送信ボタン------------------------------　*/
input[type="submit"] { -webkit-appearance:none; margin:0 auto; background:none; }
input.wpcf7-submit { display:block; font-size:16px; width:100%; height:80px; margin:0 auto; border: 3px solid #000!important;
    color: #000;
    border-radius: 50px !important;
    background: #ffdc00 !important; font-weight: bold;}
input.wpcf7-submit:hover { /*border:2px solid #cd4a38!important;  */ background:#000 !important; color:#fff; transition:.3s ease; }

@media screen and (max-width:768px){
	input.wpcf7-submit {height: 60px;}
}
/* ------------------------------チェックボックスのデザイン------------------------------　*/
input[type=checkbox] { display:none; }
.wpcf7-list-item-label { position:relative; padding:0 0 0 56px; top:0px; }
.wpcf7-list-item-label:hover:after { border-color:#00b498; }
.wpcf7-list-item-label:after,  .wpcf7-list-item-label:before{position:absolute; content:""; display:block; top:50%; }
.wpcf7-list-item-label:after { left:0px; margin-top:-20px; width:36px; height:36px; border:2px solid #ccc; border-radius:3px; }
.wpcf7-list-item-label:before { left:18px; margin-top:-7px; width:5px; height:9px; border-right:3px solid #00b498; border-bottom:3px solid #00b498; transform:rotate(45deg); opacity:0; }
input[type=checkbox]:checked + .wpcf7-list-item-label:before {opacity:1; }

@media screen and (max-width:768px){
	.wpcf7-list-item  { padding:15px 0; } /* チェックボックス下に14pxのスペース */
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * フッター
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
footer { position:relative; width:100%; margin:0; padding:20px 0; background:#000; z-index:999;  margin-top: auto;}
address { font-size:10px; text-align:center;color:#fff; }

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * その他（jQueryなど）
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

/* ------------------------------ページトップへ戻る------------------------------　*/
#pageTop { position:fixed; bottom:20px; right:20px;}
#pageTop a { display:block; z-index:999; margin:0; padding:0; width:60px; height:60px; background:url(img/top.png) no-repeat 0 0; }
#pageTop a:hover { text-decoration:none; opacity:0.7; }
@media screen and (max-width:768px){
	#pageTop , #pageTop a { display:none; }
}

/* ------------------------------グローバルナビ上部固定------------------------------　*/
.fixed { position:fixed; top:0; width:100%; z-index:10000; }
@media screen and (max-width:768px){
.fixed { position:static; }
}

/* ------------------------------ページ下部固定CTA------------------------------　*/
#buttonTow , #buttonTow a { display:none; }
@media screen and (max-width:768px){
#buttonTow { position:fixed; bottom:0; background:rgba(0,0,0,0.5); width:100%; height:auto; z-index:1000; }
#buttonTow #box01 { width:50%; float:left; background:#fdbbc5; background-size:contain; padding:20px 10px;}
#buttonTow #box02 { width:50%; float:right; background:#fc9eae; background-size:contain; padding:20px 10px;}
#buttonTow a { display:block; text-align:center; font-size:14px; color:#ffffff; }
#buttonTow a img { margin:0 auto; padding:0; }
#buttonTow a:hover { text-decoration:none; opacity:0.7; }
}

/* ------------------------------ページ下部固定CTA_PC------------------------------　*/
#buttonPc { position:fixed; bottom:0; background:#191e32; width:100%; height:auto; z-index:1000; }
#buttonPc a#pc_box { display:block; width:100%; height:auto; color:#ffffff; padding:15px 0; text-align:center; font-size:16px; }
#buttonPc a:hover { text-decoration:none }

@media screen and (max-width:768px){
	#buttonPc { display:none; }
	#buttonPc a#pc_box { display:none; }
}

/* ------------------------------アコーディオン------------------------------　*/
.accordion dl, .accordion dt, .accordion dd{ margin:0; padding:0; }
.accordion dl {background: #ffffff; padding: 30px;}
.accordion dl:not(:last-of-type){margin-bottom: 20px;}
.accordion dt {display: block; width: 100%; height: auto; line-height: 1.4; cursor: pointer; border-radius: 10px; position: relative; font-size: 15px !important; font-weight: bold; margin: 0;}
.accordion dt p {position: relative; padding: 0 30px 0 50px;}
.accordion dt p:before {content: 'Q'; display: inline-block; color: white; font-family: "Jost", sans-serif; color: #6F6F6F; font-size: 30px; font-weight: 500; margin-right: 30px; position: absolute; top: 17px; left: 20px; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}  
.accordion dt:before,
.accordion dt:after
 {position: absolute; content: ""; width: 13px; height: 2px; background-color: #707070; top: 50%; right: 0; transform: translateY(-50%);}
.accordion dt:after {transform: translateY(-50%) rotate(-90deg); transition: all 0.1s;}
.accordion dt.close:after {transform: translateY(-50%) rotate(0deg);}
.accordion dd { width:100%; height:auto; display:none; margin:0; padding: 30px 30px 0 50px;line-height: 1.8; position: relative;}
.accordion dd:before {content: 'A'; display: inline-block; color: white; font-family: "Jost", sans-serif; color: #1E3050; font-size: 30px; font-weight: 500; position: absolute; top: 45px; left: 20px; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}  
.accordion dd a {text-decoration: underline; color: darkblue;} 
.accordion dd img { border-radius:20px; border:3px solid #000000; box-shadow:6px 6px rgba(0,0,0,0.3); margin:0 0 30px 0;}
.accordion br { display:inline; }

@media screen and (max-width:766px){
	.accordion dl {padding: 5vw 4vw;}
	.accordion dt p {padding: 0 6vw 0 11vw;}
	.accordion dt p:before {font-size: 8vw;top: 5vw;}
	.accordion dd {font-size: 3.8vw;padding: 4vw 5vw 0 12vw;text-align: justify;}
	.accordion dd:before {font-size: 8vw;top: 8vw;}
}

/* ------------------------------フェードインアニメーション------------------------------　*/
.sa {opacity: 0; transition: all .5s ease; } /* ノーマル */
.sa.show {opacity: 1; transform: none; } /* ノーマル */
.sa-lr {transform: translate(-100px, 0); } /* 右から */
.sa-rl {transform: translate(100px, 0); } /* 左から */
.sa-up {transform: translate(0, 100px); } /* 下から */
.sa-down {transform: translate(0, -100px); } /* 上から */
.sa-scaleUp {transform: scale(.5); } /* 縮小→拡大 */
.sa-scaleDown {transform: scale(1.5); } /* 拡大→縮小 */
.sa-rotateL {transform: rotate(180deg); } /* 左回転 */
.sa-rotateR {transform: rotate(-180deg); } /* 右回転 */

/* ------------------------------ふわふわ------------------------------　*/
@keyframes horizontal {
    0% { transform:translateX( -5px); }
  100% { transform:translateX(  0px); }
}
@keyframes vertical {
    0% { transform:translateY(-5px); }
  100% { transform:translateY(  0px); }
}
img.huwahuwa { animation: horizontal 2s ease-in-out infinite alternate; }
img.huwahuwa { animation: vertical 2s ease-in-out infinite alternate; }
img.huwa01 { animation-duration: 1.1s}
img.huwa02 { animation-duration: 1.3s}
img.huwa03 { animation-duration: 1.5s}

