@charset "UTF-8";

@media screen and ( max-width:640px ) {
	/*　ヘッダー　*/
	body {
		min-width: 320px;
		width: 100%;
	}
	.nonePc {
		display: inline-block;
	}
	#gNav li.nonePc {
		display: block;
	}
	.none,
	#gNav #headerContact p#headerCW,
	#footerContactIn p:first-child {
		display: none;
	}
	.brSp {
		display: inline-block;
	}
	
	#topHeader {
        width: 100%;
        padding: 0;
    }
	#headerIn {
		width: 100%;
		height: 100%;
	}
	#logo {
		width: 230px;
		padding: 10px 0;
	}
	h1 a img {
		width: auto;
		height: 60px;
	}
	ul.freee li {
		width: 49%;
	}
	ul.freee li:first-child {
	}
    #topHeader {
        top: 0;
        position: fixed;
		min-width: 320px;
        margin-top: 0;
    }
    /* Fixed reset */
    #topHeader.fixed {
        padding-top: 0;
        background: transparent;
    }
    #mobileHeader {
		position: relative;
		width: 100%;
        height: 75px;
		margin: 0 auto;
		background-color: #fff;
        z-index: 999;
    }
	#mobileHeaderIn {
		position: relative;
		width: 90%;
		margin: 0 auto;
		z-index: 1000;
	}
    #topHeader.fixed .logo,
    #topHeader .logo {
        position: absolute;
        left: 13px;
        top: 13px;
        color: #333;
        font-size: 26px;
    }
    #gNav {
        position: absolute;
        /* 開いてないときは画面外に配置 */
        top: -498px;
        width: 103%;
		height: auto;
		background: #45474d;
        text-align: left;
        padding: 5px 0;
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
		-webkit-opacity: 0.95;
		-moz-opacity: 0.95;
		opacity: 0.95;
		overflow-y: scroll;
    }
    #gNav ul {
        position: static;
		width: 90%;
        right: 0;
        bottom: 0;
		margin: 0 auto;
        font-size: 14px;
    }
    #gNav ul li {
		display: block;
        float: none;
        position: static;
		padding: 0;
		border-top: solid 1px #a8a9ac;
    }
	#gNav ul li:first-child {
		border-top: none;
	}
	#gNav ul li.twitter {
		padding: 0;
	}
	#gNav ul li ul {
		width: 100%;
	}
	#gNav ul li ul li {
		border-top: none;
		text-indent: 0.5em;
	}
    #topHeader #gNav ul li a,
    #topHeader.fixed #gNav ul li a {
        width: 100%;
        display: block;
		border-bottom: none;
        color: #dadadb;
        padding: 12px 0;
    }
    #navToggle {
        display: block;
    }
    /* #nav-toggle 切り替えアニメーション */
    .open #navToggle span:nth-child(1) {
        top: 11px;
		-ms-transform: rotate(315deg);
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }
    .open #navToggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #navToggle span:nth-child(3) {
        top: 11px;
		-ms-transform: rotate(-315deg);
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
    /* #global-nav スライドアニメーション */
    .open #gNav {
        /* #global-nav top + #mobile-head height */
		-ms-transform: translateY(576px);
        -moz-transform: translateY(576px);
        -webkit-transform: translateY(576px);
        transform: translateY(576px);
    }
	
	#banner {
		padding: 105px 0 25px;
	}
	#banner h2 {
		width: 100%;
		font-size: 28px;
		font-size: 2.8rem;
	}
	article {
		width: 90%;
	}
	section {
		width: 100%;
	}
	.linkBtn,
	.linkBtnDialogue {
		width: 100%;
		margin: 30px 0 0;
	}
	#grand .linkBtnDialogue,
	#recruit .linkBtnDialogue {
		margin: 20px 0 0;
	}
	
	/*---- top ----*/
	#top #banner #bannerIn {
		width: 90%;
		text-align: center;
	}
	#top #banner {
		min-width: initial;
		min-width: auto;
		padding: 140px 0 70px;
		background-image: none;
	}
	#top #banner h2 {
		font-size: 30px;
		font-size: 3.0rem;
		text-align: center;
	}
	.linkBtnBanner {
		margin: 15px auto 0;
	}
	#info {
		width: 100%;
	}
	#news {
		width: 90%;
	}
	#news dt {
		float: none;
		margin: 0;
		padding: 0 0 3px;
	}
	#newsIn dd {
		padding: 0 0 5px;
	}
	.noteLT {
		width: 90%;
		box-sizing: border-box;
	}
	#top article.courseTop section {
		width: 90%;
	}
	#top article.courseTop section h3 {
		display: inline-block;
		width: 100%;
	}
	#top article.courseTop section h3.nonePc {
		display: inline-block;
	}
	#top article.courseTop section h3.none {
		display: none;
	}
	#top article.courseTop section div {
		display: inline-block;
		width: 100%;
	}
	#top article.courseTop section p {
		font-size: inherit;
	}
	.infoTop {
		width: 100%;
	}
	.infoTopIn {
		width: 90%;	
	}
	.infoTop section {
		display: block;
	}
	.infoTop section + section {
		margin: 20px 0 0;
	}
	.aboutCloud {
		width: 90%;
	}
	.aboutCloudMenu li {
		margin: 0;
	}
	.aboutCloudMenu li ul {
		display: block;
	}
	.aboutCloudMenu li ul li,
	.aboutCloudMenu li.column2 ul li + li {
		width: 100%;
		margin: 60px 0 0;
	}
	#top .map {
		width: 100%;
		height: 250px;
	}
	
	/*---- GRAND ----*/
	.check {
		width: auto;
		font-size: 14px;
		font-size: 1.4rem;
	}
	.check p {
		width: 100%;
		margin: 0 0 20px;
	}
	.check p::after {
		display: none;
	}
	.example {
		width: 100%;
	}
	.courseWrap {
		display: block;
	}
	.course {
		max-width: 420px;
		width: 90%;
		margin: 0 auto;
	}
	.course + .course {
		margin: 16px auto 0;
	}
	#fudousan .courseName p {
		height: auto;
	}
	.price {
		height: auto;
	}
	.annotation ul {
		width: 90%;
	}
	
	/*---- LINE ----*/
	.lineService {
		width: 90%;
	}
	.lineService > p {
		width: 100%;
	}
	.lineServiceMenu,
	.lineServiceMenuU {
		display: block;
	}
	.lineServiceListWrap {
		width: 100%;
	}
	.modal p a {
		width: 100%;
	}
	.lineServiceMenu a,
	.lineServiceMenuU a {
		width: auto;
	}
	.lineServiceMenu a.lineServiceList {
		width: auto;
	}
	.lineServiceMenu a.lineServiceList p {
		text-align: center;
	}
	
	/*---- LIBRARY ----*/
	.libraryWrap {
		width: 90%;
	}
	.libraryWrap ul li {
		width: 100%;
		padding: 0 0 60px;
	}
	video {
	width: 100%;
	}
	
	/*---- company ----*/
	#company section {
		width: 100%;
	}
	.greeting {
		float: none;
		width: 100%;
	}
	.representative {
		float: none;
		margin: 0 auto;
	}
	.representative img {
		margin-top: 40px;
	}
	#company .outlineWrap {
		width: 90%;
	}
	.outline {
		width: 100%;
		margin: 0 auto;
	}
	.map {
		width: 100%;
		margin: 30px auto 0;
	}
	
	/*---- contact , thanks ----*/
	#contact section,
	#thanks section {
		width: 100%;
	}
	#contact section p {
		line-height: 1.6;
	}
	select {
		width: 100%;
	}
	#contact .form {
		width: 100%;
	}
	input[type="text"],
	input[type="tel"],
	input[type="email"],
	textarea {
		width: 100%;
	}
	#contact form p.toPp {
		margin: 10px 0 16px;
	}
	#contact #mailCw {
		width: 100%;
	}
	#contact #mailCw section.mail {
		width: 100%;
		margin: 0 0 90px;
		padding: 0 0 90px;
		border-right: none;
		border-bottom: 1px solid #dadadb;
	}
	#contact #mailCw section.cW {
		width: 100%;
		padding: 0;
	}
	#contact section.cW .aboutCw p {
		width: auto;
	}
	#thanks section p {
		text-align: justify;
	}
	#thanks section p.phone {
		text-align: center;
	}
	
	/*---- partner ----*/
	.infoWrapper {
		display: block;
	}
	.infoWrapper .info {
		margin: 0 0 20px;
	}
	#partner .partner section,
	#partner .bizPartner section {
		width: 100%;
	}
	#partner .bizPartner section img.adjustment {
		width: 100%;
		height: auto;
	}
	#partner section.noPhoto h1 {
		display: inline-block;
		width: 100%;
		height: auto;
		margin: 0;
	}
	#partner .mPartner section h1,
	#partnerPer h4 {
		display: block;
		width: 100%;
		height: auto;
	}
	.intro {
		width: 100%;
	}
	#partner .partner {
		display: block;
	}
	#partner .partner section {
		margin: 0;
		padding: 0 0 60px;
	}
	#partner .partner section + section {
		margin: 0;
		padding: 0 0 60px;
	}
	#partner .bizPartner section {
		padding: 0 0 60px;
	}
	
	/*---- partner個別 ----*/
	#partnerPer ul.nonePC {
		display: block;
	}
	#partnerPer ul.pager li,
	#partnerPer ul.pager li:first-child {
		display: inline-block;
		width: 50%;
	}
	#partnerPer ul.pager li {
		text-align: right;
	}
	#partnerPer ul.pager li a {
		width: auto;
	}
	#partnerPer ul.pager li.partnerList {
		width: 100%;
		margin: 10px 0 0;
		text-align: center;
	}
	#partnerPer ul.pager li.partnerList a {
		width: 100%;
		padding-top: 8px;
		padding-bottom: 6px;
		border: 1px solid #23acd2;
		border-radius: 5px;
	}

	/*---- M&A ----*/
	#mA section > p.btn {
		line-height: 1.6;
	}
	
	/*---- privacy ----*/
	#pP article,
	#recruit article,
	#mA article {
		width: 90%;
	}
}
@media screen and ( max-width:512px ) {
	ul.freee li {
		width: 100%;
	}
}
@media screen and ( max-width:320px ) {
	#fadeCopy {
		font-size: 30px;
	}
}