@charset "utf-8";

/****************************************

    /* CSS Reset

*****************************************/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    font-size: 100%;
    vertical-align: baseline;
    border: 0;
    outline: 0;
    background: transparent;
    margin: 0;
    padding: 0;
}

body {
    line-height: 1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display: block;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: "";
    content: none;
}

a {
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    margin: 0;
    padding: 0;
}

ins {
    color: #000;
    text-decoration: none;
    background-color: #ff9;
}

mark {
    color: #000;
    font-style: italic;
    font-weight: bold;
    background-color: #ff9;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

input, select, textarea, img, th, td {
    vertical-align: middle;
}

ul, dl, ol {
    list-style: none;
}

/****************************************

    /* 共通設定

*****************************************/

* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-appearance: none;
            appearance: none;
}

body {
    font-family: Meiryo, sans-serif;
    font-size: 16px;
    color: #333;
    line-height: 1.6;
    background: #fff;
    -webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 800px) {

body {
    font-size: 14px;
}

}

h1, h2, h3, h4, h5, h6, th {
    font-weight: normal;
}

a {
    color: #333;
    text-decoration: underline;
    transition-duration: .3s;
}

a:hover {
    text-decoration: none;
    transition-duration: .3s;
}

a:hover img {
    -moz-opacity: .5;
    opacity: .5;
    transition-duration: .3s;
}

img, video, object {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    border: none;
    transition-duration: .3s;
}

button{
    padding: 0;
    border: 0;
}

table {
    table-layout:fixed;
}

table th,
table td {
    vertical-align: middle;
}
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

@media screen and (min-width: 768px){
    .hidden_pc {
        display:none;
    }
}

/* ■ Wrap
----------------------------- */

.wrap {
    width: 1200px;
    margin: 0 auto;
    position: relative;
}
@media screen and (min-width:980px) and ( max-width:1199px){
    .wrap {
        width: 100%;
    }
    img{
        max-width: 100%;
    }
}

.wrap:after {
    content: "";
    display: block;
    clear: both;
}


/* ■ Flexbox
----------------------------- */

.flex {
    display: flex;
    margin: 0 auto;
}

.flex li {
    flex: 1;
    margin: 0 auto;
}

@media screen and (max-width: 800px) {

.flex {
    flex-direction: column;
}

}

/* ■ scrollTop
----------------------------- */

#scrollTop {
    position: fixed;
    bottom: 10px;
    right: 10px;
}

#scrollTop a {
    display: block;
    width: 40px;
    height: 40px;
    color: #fff;
    text-decoration: none;
    background: rgba(0,0,0,.50);
    position: relative;
    border-radius: 20px;
}

#scrollTop a::after {
    display: block;
    content: "";
    width: 8px;
    height: 8px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    margin-top: -3px;
    position: absolute;
    top: 50%;
    left: 15px;
    transform: rotate(-45deg);
    transition-duration: .3s;
}

#scrollTop a:hover {
    text-decoration: none;
    background: rgba(0,0,0,.75);
}

#scrollTop a:hover::after {
    margin-top: -8px;
    transition-duration: .3s;
}

/* ■ youtube
----------------------------- */

.ytWrap {
    width:657px;
    margin: 0 auto;
}

.ytWrap_left {
    width: 490px;
    height: 320px;
}

.ytWrap_min {
    width: 375px;
    height:250px;
    margin: 0 10px;
}

.ytResp {
    height: 0;
    padding-bottom: 56.25%;
    position: relative;
    overflow: hidden;
}

.ytResp iframe,
.ytResp object,
.ytResp embed {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.ytWrap_left .ytResp {
    top: 30px;
}

.youtube {
    display: none;
}

.youtube img {
    width: 100%;
}

.disp {
    display: block !important;
}


/* ■ seminar-gif
----------------------------- */

.seminar_sample {
    position:relative;
    margin: 0;
}

.frame {
    z-index: 0;
    height: 290px;
}

.seminar {
    z-index: 10;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 90%;
    height: auto;
}
 
/****************************************

    /* lines-on-sides

*****************************************/

.lines-on-sides {
  display: table;
  text-align: center;
  white-space: nowrap;
}
.lines-on-sides:after, .lines-on-sides:before {
  content: '';
  display: table-cell;
  width: 50%;
  background: -webkit-linear-gradient(transparent 50%, currentColor 50%, currentColor -webkit-calc(50% + 1px), transparent -webkit-calc(50% + 1px));
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(50%, currentColor), color-stop(currentColor calc(50% + 1px)), to(transparent calc(50% + 1px)));
  background: linear-gradient(transparent 50%, currentColor 50%, currentColor calc(50% + 1px), transparent calc(50% + 1px));
  -webkit-background-clip: padding;
  background-clip: padding;
}
.lines-on-sides:after {
  border-left: 1em solid transparent;
}
.lines-on-sides:before {
  border-right: 1em solid transparent;
}
 



/****************************************

    /* header

*****************************************/


header {
    width: 100%;
    height: 70px;
    text-align: center;
    background: #000;
    color: #fff;
}
header .wrap{
    width: 700px;
}
header li:first-child{
    text-align: right;
    margin-right: 10px;
}
header li:last-child{
    text-align: left;
}
header #cd {
    color: #fff;
    font-size: 30px;
    font-weight: bold;
    line-height: 70px;
    text-shadow: 1px 1px 1px rgba(0,0,0,.8);
}

header #cd span {
    color: #df2;
}

header#catchphrase {
    background: #3e83ac;
    color: #fff;
    font-size: 26px;
    font-weight: bold;
    height: unset;
    text-shadow: 1px 1px 1px rgba(0,0,0,.8);
    position: fixed;
    z-index: 999;
}

header#catchphrase .wrap {
    width: unset;
    padding: 7px;
}

header .border {
    border: solid;
    min-width: 900px;
    display: inline-block;
    padding: 3px 60px;
}


/****************************************

    /* #keyvisual

*****************************************/

#keyvisual {
    width: 100%;
    text-align: center;
    background: url(../images/keyvisual-bg.jpg);
    background-size: cover;
    padding: 90px 0;
}
@media screen and (min-width:980px) and ( max-width:1199px){
	#keyvisual {
	    background: url(../images/keyvisual-bg.jpg) no-repeat top center;
	    background-size: cover;
    }
}
#keyvisual h2{
    margin-top: -40px;
}

/****************************************

    /* qrcode

*****************************************/

.qrcode {
    padding: 25px;
    background-color: white;
}
.qrcode canvas{
    vertical-align: middle;
}

#cta-form-line-wrap {
    position: relative;
    width: 845px;
    margin: 0 auto;
}

#cta-form-line-wrap .qrcode {
    position: absolute;
    top: 252px;
    left: 106px;
}


/****************************************

    /* cta-link

*****************************************/

.cta-link {
    width: 100%;
/*    height: 1031px; LINEあり */
    height: 941px;
    text-align: center;
    background: url(../images/cta-link-bg.jpg);
    background-size: cover;
}

.cta-link-top {
    width: 100%;
	height: 711px;
	text-align: center;
    background: url(../images/cta-link-bg.jpg);
    background-size: cover;
}

.cta-link .bottom-wrap{
    width: 657px;
    margin: 0 auto;
}
.cta-link .left{
    float: left;
    width: 269px;
    margin-right: 25px;
}
.cta-link .line-btn{
    margin-bottom: 30px;
    position: relative;
    width: 362px;
    height: 75px;
    overflow    :hidden;
}
.cta-link .mail-btn{
    position: relative;
    width: 362px;
    height: 75px;
    overflow    :hidden;
}

.cta-link h1 {
    font-size: 26px;
}
.cta-link h1 span {
    font-size: 32.5px;
}

.reflection-line {
    height      :100%;
    width       :30px;
    position    :absolute;
    top         :-75px;
    left        :0;
    background-color: #fff;
    opacity     :0;
    transform: rotate(45deg);
    animation: reflection 3s ease-in-out 2s infinite;
}
.reflection {
    height      :100%;
    width       :30px;
    position    :absolute;
    top         :-75px;
    left        :0;
    background-color: #fff;
    opacity     :0;
    transform: rotate(45deg);
    animation: reflection 3s ease-in-out infinite;
    -webkit-transform: rotate(45deg);
    -webkit-animation: reflection 3s ease-in-out infinite;
    -moz-transform: rotate(45deg);
    -moz-animation: reflection 3s ease-in-out infinite;
    -ms-transform: rotate(45deg);
    -ms-animation: reflection 3s ease-in-out infinite;
    -o-transform: rotate(45deg);
    -o-animation: reflection 3s ease-in-out infinite;
}
 
@keyframes reflection {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { transform: scale(4) rotate(45deg); opacity: 1; }
    100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflection {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-moz-keyframes reflection {
    0% { -moz-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -moz-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -moz-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -moz-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-ms-keyframes reflection {
    0% { -ms-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -ms-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -ms-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -ms-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-o-keyframes reflection {
    0% { -o-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -o-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -o-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -o-transform: scale(50) rotate(45deg); opacity: 0; }
}
.cta-link .right{
    float: right;
}

.cta-link h1{
    margin-bottom: 25px;
}

.cta-link .youtube img{
    max-width: 657px;
    max-height: 370px;
}
/****************************************

    /* cta-form

*****************************************/
#cta-form{
/*    height: 2394px; LINEあり */
    height: 1094px;
    background: url(../images/cta-form-bg.jpg);
    background-size: cover;
    text-align: center;
}

#top-cta #cta-form{
	height: 854px;
}

#cta-form h1{
    margin-bottom: 25px;
}
#cta-form h2{
    margin: 40px 0;
}
#cta-form .img01 {
    margin-bottom: 45px;
}
#cta-form .cta-form-wrap{
    background: #3dadbd;
    width: 724px;
    padding: 30px;
    margin: 0 auto;
    -webkit-border-bottom-right-radius: 10px;  
    -webkit-border-bottom-left-radius: 10px;
    -moz-border-radius-bottomright: 10px;  
    -moz-border-radius-bottomleft: 10px; 
}
.cta-form form,
#cta-form form{
    width: 657px;
}
.cta-form input[type="text"],
#cta-form input[type="text"] {
    width: 450px;
    height: 60px;
    float: left;
    font-family: Meiryo, sans-serif;
    font-size: 16px;
    font-weight: bold;
    border: 1px solid #ddd;
    margin: 0 0 15px;
    padding: 15px;
    outline: none;
    -webkit-border-top-left-radius: 5px;  
    -webkit-border-bottom-left-radius: 5px;
    -moz-border-radius-topleft: 5px;  
    -moz-border-radius-bottomleft: 5px; 
    box-shadow: inset 5px 5px 5px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.5);
    -webkit-appearance: none;
            appearance: none;
}
.cta-form input[type="image"],
#cta-form input[type="image"] {
    cursor: pointer;
    transition-duration: .3s;
}

.cta-form input[type="image"]:hover,
#cta-form input[type="image"]:hover {
    -moz-opacity: .5;
    opacity: .5;
    transition-duration: .3s;
}

/****************************************

    /* #section01

*****************************************/

#section01 {
    background: url(../images/section01-bg.jpg);
    background-size: cover;
    text-align: center;
}

/****************************************

    /* #section02

*****************************************/

#section02 {
    text-align: center;
    background: url(../images/section02-bg.jpg);
    background-size: cover;
    height: 687px;
}

#section02 .left {
    padding: 0 50px;
    width: 590px;
    text-align: center;
    float: left;
}
@media screen and (min-width:980px) and ( max-width:1199px){
	#section02{
		height: 607px;
	}
	#section02 .left{
		padding: 0 30px;
		width: 45%;
	}
		
	#section02 .right {
	    width: 55%;
	    text-align: left;
	}
	#section02 .right img{
		margin-top: -30px !important;
	    padding: 0 30px;
	}
    #section02 .left iframe{
        max-width: 100%;
    }
}

#section02 .left button img{
    border: 6px #f00 solid;
}

#section02 .right {
    float: right;
    text-align: center;
}
#section02 .right img {
    margin-top: -12px;
}

/****************************************

    /* #section03

*****************************************/

#section03 {
    text-align: center;
    background: url(../images/section03-bg.jpg);
    background-size: cover;
    height: 1160px;
}
@media screen and (min-width:980px) and ( max-width:1199px){
	#section03{
		height: 1040px;
	}
}
#section03 .img02 {
    margin-top: -25px;
}

/****************************************

    /* #section04

*****************************************/

#section04 {
    height: 687px;
    text-align: center;
    background: url(../images/section04-bg.jpg);
    background-size: cover;
}
 .attention {
    text-align: left;
    color: #fff;
    font-size: 13px;
}
/* 注釈の改行を揃える */
.attention p {
    padding-left: 1em;
    text-indent: -1em;
}

@media screen and (min-width:980px) and ( max-width:1199px){
	#section04{
		height: 590px;
	}
}

/****************************************

    /* #section05

*****************************************/

#section05 {
    /*height: 2080px;*/
    padding-bottom: 80px;
    text-align: center;
    background: url(../images/section05-bg.jpg);
    background-size: cover;
}
@media screen and (min-width:980px) and ( max-width:1199px){
	#section05{
		/*height: 1750px;*/
	}
}

/****************************************

    /* #section06

*****************************************/

#section06 {
    width: 100%;
    height: 1200px;
    text-align: center;
    background: url(../images/section06-bg.jpg);
    background-size: cover;
}
#section06 .voice {
    width: 900px;
    height: 320px;
    border: 1px solid #ddd;
    background: #fff;
    margin: 0 auto;
    overflow-y: scroll;
}

#section06 .voice ul {
    margin: 0 30px;
}

#section06 .voice ul li {
    border-bottom: 1px dotted #ddd;
    background: url(../images/section06-li-bg.png) no-repeat left center;
    padding: 40px 20px 40px 130px;
    text-align: left;
}

#section06 .voice ul li:last-child {
    border-bottom: none;
}

#section06 .voice ul li h3 {
    color: #f80;
    margin: 0 0 10px;
}

/****************************************

    /* #section07

*****************************************/

#section07 {
    height: 900px;
    text-align: center;
    background: url(../images/section07-bg.jpg);
    background-size: cover;
}

/****************************************

    /* #section08

*****************************************/

#section08 {
    height: 1780px;
    text-align: center;
    background: url(../images/section08-bg.jpg);
    background-size: cover;
}
@media screen and (min-width:980px) and ( max-width:1199px){
	#section08{
		height: 1680px;
	}
}

#section08 .top{
    margin-bottom: 70px;
}

#section08 table {
    display: table-cell;
}
#section08 td button {
    width: 375px;
    height: 250px;
}
#section08 td button img{
    height: 100%;
    width: 100%;
}
#section08 td .name {
    margin-top: 25px;
}
@media screen and (min-width:980px) and ( max-width:1199px){
    #section08 table {
        width: 100%;
    }
    #section08 table iframe{
        width: 90%;
    }
    #section08 td button {
        width: 90%;
        height: auto;
    }
}


/****************************************

    /* #section09

*****************************************/

#section09 {
    height: 442px;
    text-align: center;
    background: url(../images/section09-bg.jpg);
    background-size: cover;
}


/****************************************

    /* #section10

*****************************************/
#section10 {
    height: 1450px;
    text-align: center;
    background: url(../images/section10-bg.jpg);
    background-size: cover;
}
/*
#section10 {
    height: 1666px;
    text-align: center;
    background: url(../images/section10-bg.jpg);
    background-size: cover;
}
*/
@media screen and (min-width:980px) and ( max-width:1199px){
	#section10{
		height: auto;
	}
	#section10 .img01{
		width: 90%;
	}
	#section10 .img02{
		padding-bottom: 80px;
		display: inline-block;
	}
}

/****************************************

    /* #section11

*****************************************/

#section11 {
    height: 847px;
    text-align: center;
    background: url(../images/section11-bg.jpg);
    background-size: cover;
}

/****************************************

    /* #section12

*****************************************/

#section12 {
    height: 237px;
}

#section12 .photo {
    width: 100%;
    height: 187px;
    background: url(../images/section012-photo-bg.png) #fff;
}
#section12 .footer-wrap{
    background: #1b1b1b;    
}
#section12 ul{
    width: 1200px;
    height: 50px;
    margin: 0 auto;
}
@media screen and (min-width:980px) and ( max-width:1199px){
    #section12 ul{
        width: 100%;
    }
}
#section12 li{
    display: table-cell;
    padding: 0 20px;
    text-align: center;
    line-height: 50px;
    color: #fff;
    font-size: 10px;
}
@media screen and (min-width:980px) and ( max-width:1199px){
	#section12 li{
	    float: left;
    	padding: 0 20px;
	}
}
#section12 li:first-child,
#section12 li:nth-child(2),
#section12 li:nth-child(3){
    width: 20%;
}
#section12 li:last-child{
    width: 37%;
}
#section12 li a{
    color: #fff;
    font-size: 10px;
}

