@charset "utf-8";

/*************** HTML5 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 {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
body {
    margin-right: auto;
    margin-left : auto;
	line-height: 1.6;
    width: 100%;
    overflow-x: hidden;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display: block;
}
ul, ol, li {
    list-style: none;
}

img {
	vertical-align: top;
}

a {
	text-decoration: none;
}

a:hover {
    opacity: 0.8;
}

/*************** Common ***************/
html {
	overflow-y: scroll;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	letter-spacing: -0.001em;
	font-size: 14px;
    text-align: left;
    font-feature-settings: "palt";
}	
body {
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: 100%;
    font-weight: 500;
	color: #333333;
	background-color: #fff;
}


.sp {
    display: none;
}

.pc {
    display: block;
}

.none {
    display: none;
}

.right {
    text-align: right;
}

.contents {
    margin: 0 auto;
}

/* siteHeader */
#siteHeader {
    background-color: #0078c3;
}

#headerWrap {
    width: 1000px;
    margin: 0 auto;
    display: flex;
    padding: 20px 0;
    align-items: center;
    position: relative;
}

#headerMenu {
	display: flex;
	font-size: 18px;
	font-weight: bold;
}

#headerMenu li {
    margin-left: 40px;    
}

#headerMenu a {
	color: #fff;
}

#corpLogo {
    position: absolute;
    right: 0;
}

#inquiry_icon {
    display: flex;
    align-items: center;
	position: fixed;
	top: 85px;
	right: 5%;
	z-index: 1010;
	border: 6px solid #0078c3;
	border-radius: 20px;
	background-color: #fff;
    padding: 16px;
    transition: 1s;
}

#inquiry_icon.inqiry_icon_slide {
    transition: 1s;
    top: 20px;
}

#inquiry_icon a:nth-child(n+2) img {
    margin-left: 15px;
}

/*main*/
#main {
    border-bottom: 7px solid #fff;
}

#main h2 {
    text-align: center;
    font-size: 60px;
    margin-top: 60px;
    color: #0078c3;
}

#main .contents {
    text-align: center;
}

#main .contents img {
    margin: 25px auto;
}

#main .contents > p {
    font-size: 45px;
    font-weight: bold;
    color: #0078c3;
    line-height: 1.2em;
}

#main .contents p span {
    color: #ffcd00
}

#move {
    background-color: #0078c3;
}

#move .bigArrow {
    margin-top: 60px;
}

#move .bigArrow img {
    margin-bottom: 30px;
    margin-top: -40px;
}

#move_contents {
    position: relative;
    width: 1000px;
    margin: 0 auto;
}

.price {
	position: absolute;
	right: 0;
    top: 545px;
    transform: translateX(150px);
    opacity: 0;
    transition: opacity 1.5s,transform 1s;
}

.fadein{
    opacity: 1;
    transform: translateX(0px);
  }

#move_contents p {
	margin-top: 90px;
	font-size: 24px;
	color: #fff;
	padding-bottom: 40px;
}

/*point*/
#point {
    background-color: #0078c3;
    padding: 5px 0 60px 0;
}

#point h2 {
	text-align: center;
	font-size: 60px;
	color: #fff;
	padding: 10px 0;
}

#point .contents {
    text-align: center;
}

#pointList {
    width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

#pointList dl {
    width: 30%;
}

#pointList dt {
	font-size: 27px;
	font-weight: bold;
	color: #fff;
	border-radius: 13px;
	padding: 12px 10px 10px 10px;
	line-height: 1.3em;
}

#pointList dl:nth-child(1) dt {
    background-color: #0eb15f;
}

#pointList dl:nth-child(2) dt {
    background-color: #fd7e00;
}

#pointList dl:nth-child(3) dt {
    background-color: #00b1ee;
}


#pointList dd {
    text-align: justify;
    font-size: 21px;
	color: #fff;
	margin-top: 10px;
}

/*sample*/
#sample {
    margin-bottom: 40px;
}

#sample .bigArrow {
    text-align: center;
    margin-top: -40px;
    margin-bottom: -15px;
}

#sample h2 {
    text-align: center;
    font-size: 40px;
    color: #0078c3;
    padding: 20px 0 10px 0;
}

.sampleTitle {
    width: 900px;
    margin: 0 auto;
    margin-bottom: 30px;
    padding: 8px 15px 6px;
	box-sizing: border-box;
	border-top: 2px solid #0078c3;
	border-bottom: 2px solid #0078c3;
	line-height: 1.5;
	font-size: 24px;
}

.sampleContent {
    width: 900px;
    margin: 0 auto;
	display: flex;
    align-items: center;
}

.sampleContent > li:nth-child(2) {

	top: -30px;
	position: relative;
}

.sampleContent > li .inner .thumbnail {
	padding-bottom: 30px;
	text-align: center;
}

.sampleBook img {
	width: 200px;
	border: 1px solid #c9c9c9;
}

.sampleContent > li .inner .links li:last-child {
	padding-bottom: 0;
}

.sampleContent > li .inner .links li a {
	display: block;
	position: relative;
	height: 50px;
	border-radius: 25px;
	line-height: 50px;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	background: #0078c3;
}

.sampleContent > li .inner .links li a::before, .sampleContent > li .inner .links li a::after {
	content: "";
	position: absolute;
	top: 50%;
}

.sampleContent > li .inner .links li a::before {
	left: 25px;
	margin-top: -16px;
	width: 22px;
	height: 32px;
	background: url("/static/img/common/icon_book.png") no-repeat;
}

.sampleContent > li .inner .links li a::after {
	right: 20px;
	margin-top: -6px;
	width: 12px;
	height: 12px;
	background: url("/static/img/common/icon_external.png") no-repeat;
}

.ptom img {
    width: 180px;
    padding: 0px 5px;
}

/*scene*/
#scene {
    margin-bottom: 40px;
}

#scene h2 {
    font-size: 30px;
    display: flex;
    align-items: center;
    color: #a1a1a1;
    margin-bottom: 10px;
}

#scene h2::before, #scene h2::after {
    content: "";
    height:6px;
    flex-grow: 1;
    background-color: #c9c9c9;
    border-radius: 5px;
}
#scene h2::before {
    margin-right: 1rem;
}
#scene h2::after {
    margin-left: 1rem;
}

#scene .contents {
    width: 1000px;
}

#scene .contents > ul {
    display: flex;
    justify-content: center;
}

#scene .contents > ul li {
	display: flex;
	white-space: nowrap;
}

#scene .contents > ul > li:last-child {
    margin-left: 75px;
}

.sceneEx {
    margin-left: 20px;
}

.sceneEx ul {
    padding-top: 35px;
}

.sceneEx li {
    font-size: 20px;
}

.sceneEx li::before {
    content: "●";
    margin-right: 5px;
    color: #0078c3;
}

.sceneEx img {
	margin-left: auto;
	margin-right: 0;
	display: block;
}

/*flow*/
#flow {
    margin-bottom: 100px;
}

#flow h2 {
    font-size: 30px;
    display: flex;
    align-items: center;
    color: #a1a1a1;
    margin-bottom: 10px;
}

#flow h2::before, #flow h2::after {
    content: "";
    height:6px;
    flex-grow: 1;
    background-color:#c9c9c9;
    border-radius: 5px;
}

#flow h2::before {
    margin-right: 1rem;
}
#flow h2::after {
    margin-left: 1rem;
}

#flow .contents {
    width: 1000px;
    position: relative;
}

#flow .contents img {
    margin: 0 auto;
}

.flowText {
    position: absolute;
    top: 0;
    right: 0;
    width: 434px;
    font-size: 19px;
    text-align: justify;
}

/*plan*/
#plan {
    background-color: #0078c3;
    padding-bottom: 60px;
}

#plan .bigArrow {
    text-align: center;
}

#plan .bigArrow img {
    margin-top: -40px;
    margin-bottom: -15px;
}

#plan h2 {
    text-align: center;
    font-size: 40px;
    padding: 20px 0 10px 0;
}

#plan .contents {
    width: 879px;
    background-color: #fff;
}

#planExplanation {
    width: 800px;
    margin: 0 auto;
}
#planExplanation table {
    border-collapse: collapse;
    box-sizing: border-box;
}

#planExplanation th, #planExplanation td {
    vertical-align: middle;
    text-align: center;
    border: solid 3px #c9c9c9;
    box-sizing: border-box;
}

#planExplanation th {
    font-size: 20px;
    font-weight: bold;
    height: 45px;
}

#planExplanation td {
    font-size: 24px;
}

#planExplanation th:nth-child(1), #planExplanation td:nth-child(1) {
    width: 120px;
}

#planExplanation th:nth-child(2), #planExplanation td:nth-child(2) {
    width: 130px;
}

#planExplanation th:nth-child(3), #planExplanation td:nth-child(3) {
    width: 100px;
}

#planExplanation th:nth-child(4), #planExplanation td:nth-child(4) {
    width: 450px;
}

#planExplanation td:nth-child(1) {
    font-weight: bold;
    color: #0078c3;
    line-height: 1.1em;
    font-size: 26px;
}

#planExplanation td:nth-child(4) {
    text-align: justify;
    font-size: 16px;
    padding: 17px;
}

#planExplanation td:nth-child(4) p {
    margin-bottom: 20px;
}

#planExplanation td:nth-child(4) li::before {
    content: "●";
}

#plan .contents > p {
    width: 800px;
    margin: 0 auto;
}

#plan .contents > p:last-child {
    font-size: 16px;
    text-align: justify;
    padding-top: 5px;
    padding-bottom: 20px;
}

/***footer***/
/*inquiry*/
#inquiry {
    border-bottom: 3px solid #c9c9c9;
}

address {
    width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 15px 0;
}

.companyInfo {
    width: 1000px;
    margin: 0 auto;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    padding: 15px 0;
}

.companyInfo .en {
    padding-left: 5px;
    padding-right: 20px;
    font-size: 80%;
}

.address {
    position: relative;
    padding-left: 20px;
    font-size: 80%;
}

.address::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -13px;
	width: 16px;
	height: 26px;
	background: url("../img/icon_pin.svg") no-repeat;
}

#pageTop {
	position: fixed;
	bottom: 15%;
	right: 5%;
	z-index: 1010;
}



@media screen and (max-width:750px){
	.pc {
		display: none;
	}

	.sp {
		display: block;
    }

    #headerWrap {
        max-width: 750px;
        width: 95%;
    }

    #headerWrap h1 {
        width: 35%;
        padding-left: 10px;
    }
    
    #siteLogo img {
        max-width: 100%;
    }

    #headerMenu {
        display: block;
        width: 35%;
        font-size: 16px;
    }

    #headerMenu li {
        margin-left: 15px;
    }

    #corpLogo {
        position: initial;
        width: 30%;
    }

    #corpLogo img {
        width: 100%;
    }

    #inquiry_icon {
        padding: 10px;
        right: 1.5%;
    }

    #inquiry_icon img {
        max-width: 30px;
    }

    #main_visual, #move_contents {
        width: 95%;
        margin: 0 auto;
    }

    #main h2 {
        font-size: 6.5vw;
        margin-top: 5vw;
        line-height: 1.2em;
    }

    #main_visual img, #move_contents img {
        width: 100%;
    }
    #main .contents > p {
        font-size: 5vw;
    }

    #move_contents p {
        margin-top: 40px;
        font-size: 20px;
    }

    .price {
        top: 52vw;
    }

    #move_contents .price img {
        width: 30vw;
    }

    #point h2 {
        font-size: 50px;
    }

    #pointList {
        display: block ;
        width: 85%;
    }

    #pointList dl {
        width: 100%;
        margin-bottom: 30px;
    }

    #pointList dd {
        font-size: 20px;
    }

    #sample .contents {
        width: 95%;
    }

    .sampleTitle {
        width: 100%;
    }

    .sampleContent {
        width: 90%;
        display: block;
    }

    .sampleBook img {
        width: 60%;
    }

    .sampleContent > li:nth-child(2) {
        top: 0;
        margin: 30px 0;
    }

    .ptom {
        text-align: center;
    }

    .ptom img.sp {
        width: 141px;
        display: inline-block;
    }

    #scene .contents {
        width: 95%;
        text-align: center;
    }

    #scene .contents img {
        width: 50%;
    }

    #scene .contents > ul {
        display: inline-block;
    }

    #scene .contents > ul > li:last-child {
        margin-left: 0;
        margin-top: 30px;
    }

    #flow h2 {
        font-size: 6vw;
    }

    #flow .contents {
        width: 90%;
    }

    .flowText {
        position: initial;
        width: 100%;
        margin-bottom: 30px;
    }

    #plan .contents {
        width: 100%;
    }

    #planExplanation {
        width: initial;
        margin-left: 20px;
        margin-right: 20px;
        overflow: auto;
        white-space: nowrap;
    }

    #planExplanation td {
        padding: 10px;
    }

    #planExplanation p {
        text-align: left;
    }

    #plan .contents > p {
        width: 90%;
    }

    address {
        width: 100%;
        display: block;
    }

    address a, address img {
        margin: 0 auto;
        display: block;
        width: 90%;
    }

    address a {
        margin-top: 15px;
    }

    .companyInfo {
        width: 90%;
        font-size: 16px;
    }

    .companyInfo .en {
        padding-left: 0;
        padding-right: 0;
    }

    #pageTop {
        bottom: 3%;
    }
}