@charset "UTF-8";

@media (max-width: 1300px) {
	/* 1300px以下の場合のスタイル */
	.header_menu > ul > li:last-of-type {
	  margin-left: 20px;
	}
	.header_menu > ul > li > a{
	  padding: 40px 20px;
	}
}



@media (min-width: 768px) and (max-width: 1500px) {
	
	/* ======================================================

	トップページ

	========================================================= */
	.intro-content .text-huge-title {
		font-size: 60px;
		padding-right: 5vw;
		line-height: 1.9em;
	}
	
	.projectCounts {
		left: 5% !important;
	}
	
	.text-pretitle {
		font-size: 38px;
	}
	.about-info__text h3 {
		font-size: 27px;
	}
	span.NameEn {
        font-size: 14px;
        color: #787878;
        position: relative;
        bottom: 0;
        top: -4px;
        left: 13px;
	}
	.text-pretitle {
		font-size: 27px;
	}
	.intro-scrolldown {
		right: 4.3%;
		top: 8%;
	}

	
	#pageTop {
		bottom: 74px;
	}
	.container {
		max-width: 1100px;
		margin: 0 auto;
	}
	section.contentsFaq .container {
		margin: 0 auto 0;
	}
	.contentsChoose .container {
		background: #FFF;
		padding: 60px 50px;
		position: relative;
		bottom: 620px;
	}
	.title_choose {
		font-size: 18px;
		margin: 25px 0 20px;
	}
	.contentsChoose {
		height: 960px;
	}
	.icon_choose img {
		width: 100%;
		height: auto;
	}
	#tab01_content ul li, 
	#tab02_content ul li {
		width: 48%;
	}

	a.btn_sub {
		width: 100%;
	}
	.btnArea {
		margin: 20px auto 0;
	}
	.contentsLineUp {
		padding: 100px 0 100px;
	}
	.price {
		font-size: 20px;
	}
	.sale_price {
		font-size: 42px;
	}
	span.widthAdjust {
		width: 600px;
	}
	.qa-7 summary {
		line-height: 1.5em;
		color: none;
	}
	.qa-7 summary {
		line-height: 1.5em;
	}
	footer .container {
		width: 100%;
		display: inline;
		text-align: center;
	}
	h3.sitename {
		font-size: 32px;
		margin: 0 auto 14px;
	}
	.nav_button {
		display: block;
	}
	.header_title h1 img {
    width: 230px;
    position: relative;
    top: -1px;
	}
	button.nav_button {
		background: none !important;
		border: #FFF;
		display: block;
	}
	  button.nav_button {
		display: block;
	}
	p.reserve-button a {
    background: #40c5bd;
    color: #FFF;
    padding: 15px 0;
    border-radius: 7px;
    display: block;
    text-align: center;
    font-size: 14px;
    width: 40%;
    margin: 40px auto;
	}
	.footer-right-content {
		display: none;
	}
	

	/* ======================================================

	header

	========================================================= */
	
	
	
	h2-bg-area {
		padding: 0 40px 40px 0;
	}
	
	
	
	/* 768px以上かつ1400px以下の場合のスタイル */
	.header_menu ul {
		display: none;
	}
	.nav_button {
		display: block; /* .nav_buttonを表示させる */
	}
	button {
		border: 0;
		background-color: transparent;
		outline: none;
		transition: opacity 0.2s ease-in-out;
		cursor: pointer;
	}
	span.menuJP {
		display: none;
	}

	section.contentsBlog {
		margin: 100px 0 30px;
	}
	.nav_button {
		width: 100%;
		margin-top: 30px;
	}
	.nav_button img {
		width: 100%;
		height: auto;
		position: relative;
		top: 11px;
	}
	.nav_menu {
		display: none;
		position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        padding-bottom: 25px;
        background-color: #fcfcfc;
        height: 100vh;
	}
	.nav_menu ul {
		padding: 0 110px;
		margin-bottom: 0;
		margin-top: 110px;
	}
	.nav_menu li {
		width: 100%;
		height: 60px;
		border-bottom: 1px solid #f0f0f0;
	}
	.nav_menu li a {
		display: block;
		position: relative;
		width: 100%;
		line-height: 50px;
		color: #505050;
	}
	.nav_menu li a img {
		width: 8px;
		height: auto;
		position: absolute;
		top: 20px;
		right: 0;
	}
	.close_button {
        display: block;
        margin: 0 auto;
        font-size: 18px;
        color: #818080;
	}
	.close_button img {
		width: 10px;
		height: auto;
		margin-right: 5px;
	}

	.header_title h1 img {
		width: 240px;
		position: relative;
		bottom: 4px;
	}
	header {
		padding: 0 10px;
	}
	.header_menu > ul > li:last-of-type {
		margin-left: 20px;
	}
	#outer_header {
		width: 100%;
		height: auto;
		padding: 10px 0;
	}
	#header {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}
	#header h1 {
		width: 443px;
	}
	.hamburger_menu_cover {
		display: none;
	}
	#header .g_navi {
		display: block;
	}
	#header .g_navi ul {
		height: 100%;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: flex-end;
		justify-content: flex-end;
		-webkit-align-items: center;
		align-items: center;
	}
	#header .g_navi ul li {
		font-family: "Montserrat";
		margin-right: 43px;
		margin-top: 6px;
		font-weight: 600;
	}
	#header .g_navi ul li:last-child {
		margin-right: 0;
	}
	#header .g_navi ul li:nth-child(3) {
		margin-right: 40px;
	}
	#header .g_navi ul li a {
		text-decoration: none;
		transition: 0.3s;
	}
	#header .g_navi ul li a:hover {
		transition: 0.3s;
		opacity: 0.8;
	}
	#header .g_navi ul li:last-child a {
		color: #0311de;
	}
}


@media (max-width: 1300px) {
	#pageCompany .container {
		margin: 0 20px 100px;
		max-width: 1000px;
	}
	.nav_menu ul li a {
		line-height: 3.6em;
		color: #4e4e4e;
		font-size: 14px;
	}
	#pagePrivacy .container {
		margin: 0 20px;
	}
	header .container {
		padding-bottom: 0;
	}
	.header_menu ul {
		display: none;
	}
	#outer_header {
		width: 100%;
		height: auto;
		padding: 10px 0;
	}
	.hamburger_menu_cover {
		display: none;
	}
	#header .g_navi {
		display: block;
	}
	#header .g_navi ul li:last-child {
		margin-right: 0;
	}
	#header .g_navi ul li:nth-child(3) {
		margin-right: 40px;
	}
	#header .g_navi ul li a {
		text-decoration: none;
		transition: 0.3s;
	}
	#header .g_navi ul li a:hover {
		transition: 0.3s;
		opacity: 0.8;
	}
}


@media (max-width: 768px) {
	/* トップ */
	section {
		margin-bottom: 0;
	}
	.about-info__pic {
		width: 100% !important;
		left: 0 !important;
		margin-bottom: 30px;
	}
	.projectCounts {
		left: 7%;
	}
	
	span.NameEn {
		margin-left: 0;
		font-size: 16px;
		color: #5f5f5f;
		position: relative;
		bottom: 0;
		display: block;
        top: 11px;
        left: 3px;
	}
	p.profileName {
		margin: 0 0 28px 0;
	}
	
	.col-lg-6 strong, b {
		width: 20px;
		display: inline-grid;
	}
	.col-lg-6 ul li {
		margin-right: 0 !important;
	}

	main.s-content {
		min-height: 660px !important;
	}

	
	p.attention-getter {
		line-height: 2.0em;
	}
	
	
	#pageTop .container {
		margin: 0 18px 0;
	}
	
	#pageTop .qa-7 summary::after {
		top: 27px;
		right: 22px;
	}
	span.widthAdjust {
		width: 250px;
		display: inline-flex;
	}
	#pageTop .container h3 {
		margin-bottom: 30px;
		font-size: 18px;
		line-height: 1.8em;
		letter-spacing: 0px;
	}
	.step-content p {
		font-size: 14px;
	}
	span.step-lists {
		font-size: 14px;
		margin-right: 12px;
	}
	
	.about-info__text .btn {
		padding: 13px 0;
		width: 100%;
		display: block;
		text-align: center;
		font-weight: 600;
	}
	.folio-list {
		margin-top: 30px;
	}
	.allow img {
		display: none;
	}
	section.contentsBlog {
    margin: 100px 0 0;
	}
	
	#worksDetails .container {
		margin-bottom: 60px;
	}
	.carName {
		background: #34a397;
		width: 100%;
		font-size: 13px;
		margin-bottom: 15px;
	}
	.pd20 {
		padding: 0 14px 14px;
	}
	.text_lineup {
    height: auto;
    letter-spacing: 0px;
	}
	.carNameLong {
		width: 100%;
		background: #35a397;
	}
	

	
	
	/* common */
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
	.container {
        padding: 0;
        width: 100%;
        margin: 0;
	}
	.container h3 {
		font-size: 20px;
		line-height: 1.8em;
		letter-spacing: 0px;
	}
	.btnArea {
		margin: 0 auto;
	}

	button {
		border: 0;
		background-color: transparent;
		outline: none;
		transition: opacity 0.2s ease-in-out;
		cursor: pointer;
	}
	.page_title_warp {
        height: 180px;
        width: 100%;
        margin: 0;
        background: url(../img/h2-bg_sp.png) no-repeat;
        background-size: contain;
        margin: 90px 0 30px;
	}
	.page_title_warp .page_title {
        font-size: 22px;
        margin: 0 auto;
        width: 100%;
        top: -31px;
        height: auto;
	}
	.page_title_warp .page_title .en {
		font-size: 12px;
        margin-top: 0;
        padding: 2px 0 0 3px;
	}


	/* ======================================================

	スキル

	========================================================= */
	ul.otherslills {
		margin-right: 0;
	}
	.skillsBox ul li {
		display: contents;
		margin: 0 18px;
	}
	.page_skills .container {
		padding: 0;
		width: 90%;
		margin: 0 20px 68px;
	}
	.tb_style tbody th, .tb_style tbody td {
		width: 100%;
		display: block;
	}
	
	
	/* ======================================================

	プロフィール

	========================================================= */
	.section-profile ul li {
		display: inline-grid;
		margin-right: 0!important;
	}
	#skills {
		margin: 60px 0 0 0 !important;
	}
	#skills ul {
		margin-bottom: 0;
	}
	p.message {
		font-size: 27px;
		line-height: 1.7em;
	}
	.section-profile .career p {
		margin-bottom: 18px;
		line-height: 1.8em;
	}
	.sectionLeftParts {
		width: 100%;
		margin-right: 0;
	}
	.sectionLeftParts img {
        width: 90%;
        margin: 0 auto 38px;
	}
	.sectionRightParts {
		width: 100%;
		bottom: 0;
		right: 0;
	}
	.profileContents ul {
		display: block;
		padding: 0;
	}
	.profileContents ul li {
		flex: none;
	}
	#about .container {
		width: 90%;
		margin: 0 18px;
	}
	
	
	/* ======================================================

	footer

	========================================================= */
	h3.sitename {
		font-size: 33px;
		padding-bottom: 10px;
	}
	.sp-hidden {
		display: none;
	}
	.footer-logo img {
		width: 60%;
		height: auto;
	}
	ul.list {
		display: none;
	}
	footer .copyright {
        font-size: 12px;
        padding: 20px 0;
        color: #868686;
	}
	footer .container {
		width: 100%;
		display: inline;
		text-align: center;
	}
	.footer-sns-icon {
		margin: 30px;
	}
	.pc-logo img {
		display: none;
	}
	.text-footer {
		margin-bottom: 40px !important;
		font-size: 14px;
	}
	.sp-logo {
		display: block;
	}


	/* ======================================================

	header

	========================================================= */

	header .container {
		height: 70px;
		padding: 0 20px;
		margin: 0;
	}
	  .nav_button {
		width: 46px;
	  }
	  button.nav_button {
		display: block;
	}
	.nav_menu {
        position: absolute;
        top: 90px;
        left: 0;
        width: 100%;
        padding-bottom: 25px;
        background-color: #fcfcfc;
        margin-bottom: 30px;
        height: 100vh;
	}
	
	  .nav_menu ul {
        width: 100%;
        padding: 0;
        margin-top: 20px;
	  }
	  .nav_menu li {
        width: 85%;
        height: 74px;
        border-bottom: 1px solid #f4f4f4;
        margin: 0 30px;
	  }
	  .nav_menu li a {
        display: block;
        position: relative;
        width: 100%;
        line-height: 0 !important;
        color: #505050;
        padding-top: 36px;
	}
	.nav_menu li a:hover {
		opacity: 0.3;
	}
	  .nav_menu li a img {
		width: 8px;
		height: auto;
		position: absolute;
		top: 20px;
		right: 0;
	  }
	p.reserve-button a {
		background: #40c5bd;
		color: #FFF;
		padding: 15px 0;
		border-radius: 7px;
		display: block;
		text-align: center;
		font-size: 14px;
	}
	p.reserve-button {
		width: 90%;
		margin: 30px auto;
	}
	.close_button {
        display: block;
        margin: 0 auto;
        font-size: 14px;
        color: #a7a7a7;
        height: 40px;
	}
	.close_button img {
		width: 10px;
		height: auto;
		margin-right: 5px;
	}
	.header_title h1 img {
		width: 240px;
		position: relative;
		top: 8px;
	}
	header {
		padding: 0;
		background: #fcfcfc;
		height: 88px;
	}
	span.menuJP {
		display: inline-table;
		padding-right: 18px;
	}
	h1 {
		width: 60%;
	}
	
	h1 a {
		font-size: 13px;
	}
	.header_menu > ul > li:last-of-type {
		margin-left: 20px;
	}
	#outer_header {
		width: 100%;
		height: auto;
		padding: 10px 0;
	}
	  #header {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	  }
	  #header h1 {
		width: 443px;
	  }
	  .hamburger_menu_cover {
		display: none;
	  }
	  #header .g_navi {
		display: block;
	  }
	  #header .g_navi ul {
		height: 100%;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: flex-end;
		justify-content: flex-end;
		-webkit-align-items: center;
		align-items: center;
	  }
	  #header .g_navi ul li {
		font-family: "Montserrat";
		margin-right: 43px;
		margin-top: 6px;
		font-weight: 600;
	  }
	  #header .g_navi ul li:last-child {
		margin-right: 0;
	  }
		#header .g_navi ul li:nth-child(3) {
			margin-right: 40px;
		}
	  #header .g_navi ul li a {
		text-decoration: none;
		transition: 0.3s;
	  }
	  #header .g_navi ul li a:hover {
		transition: 0.3s;
		opacity: 0.8;
	  }
	  #header .g_navi ul li:last-child a {
		color: #0311de;
	  }
	
	.nav_button img {
		width: 100%;
		height: auto;
		position: relative;
		top: 21px;
	}
	
	
	/* ======================================================

	ブログ

	========================================================= */

	section.contentsNews {
		margin: 80px 0 0;
	}

	/* ======================================================

	ブログ詳細

	========================================================= */
	h2.title_article {
		font-size: 25px;
		font-weight: 500;
		line-height: 1.4em;
	}
	
	#PageNews .container {
        margin: 0 20px 80px;
        width: 90%;
        min-width: 90%;
        padding: 40px 0 0;
	}
	
	.h2-bg-area {
		width: 80%;
		margin: 0 auto;
		padding: 0;
	}
	
	.article_content_warp img {
		width: 100%;
	}
	.blog_list .thum_blog {
		display: block;
		position: relative;
		width: 100%;
		height: auto;
		margin-bottom: 20px;
	}
	.blog_list .text_box {
		padding-left: 0;
		flex: 1;
	}
	.blog_list li a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: contents;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		align-items: flex-start;
	}
	

	/* ======================================================

	実績一覧

	========================================================= */
	.page_works #sideContents {
		position: unset;
		top: 0;
		height: 0;
		display: none;
		width: 100%;
		margin-left: 0;
	}
	.page_works #mainContents {
		width: 100%;
	}
	.page_works {
		width: 90%;
		margin-top: 50px;
		margin: 0 20px;
	}
	a.mainBtn,	a.subBtn {
		margin: 68px auto 0;
		width: 100%;
	}

	#tab02_content, #tab03_content, #tab04_content {
		display: block;
	}
	.boxWorks ul {
		display: block;
	}
	
	.title_main {
        padding-bottom: 0;
        margin-bottom: 20px;
	}

	.boxWorks ul li {
		margin-right: 0;
		width: 100%;
		height: auto;
		margin-bottom: 28px;
	}
	
	.boxWorks ul li:nth-child(2) {
		width: 100%;
	}
	.boxWorks h4 {
		font-size: 23px;
	}
	
	span.worksTitle {
		width: 85px;
		display: inline-block;
	}
	
	/* ======================================================

	実績詳細

	========================================================= */
	
	main#worksDetails h5 {
		margin-bottom: 26px;
		font-size: 17px;
	}
	
	p.backbutton {
		width: 100%;
	}
	
	.pankuzu ul li {
		padding: 0;
	}
	
	.worksDetails {
		margin-bottom: 40px;
	}

	/* ======================================================

	お問い合わせ

	========================================================= */
	#pageContact .container {
		width: 90%;
		margin: 0 auto;
		padding: 20px 0;
		position: relative;
	}
	input.wpcf7-submit {
    height: 48px;
    font-size: 14px;
    font-weight: 600;
    line-height: 48px;
    letter-spacing: 0.8px;
    margin: 0 auto;
    width: 100%;
	}
	.privacy_check {
    top: -70px;
    margin: 0 auto;
	}
	dl.flex_box dt {
		font-size: 14px;
	}
	#pageContact .privacy {
    width: 100%;
    padding: 30px 15px;
    margin-bottom: 0;
	}
	.privacy_title {
    margin-bottom: 0 !important;
	}
	section .container .case, article .container .case {
    margin-bottom: 50px !important;
	}
	.contact_form {
		padding: 0 20px 30px 20px;
		margin-bottom: 60px;
	}
	input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required {
		width: 100%;
	}
	.wpcf7-form-control.wpcf7-textarea {
		width: 100%;
	}
	.privacy {
		width: 100%;
		padding: 20px;
	}
	.planeText {
		font-size: 14px;
	}
	.form-text {
		font-size: 14px;
		line-height: 1.8em;
		letter-spacing: -1px;
	}
	p.contact-text {
		font-size: 14px;
	}
	form.wpcf7-form.init {
		margin-left: 16px;
	}
	.privacy_check p {
		margin-left: 0;
		bottom: 0;
		font-size: 13px;
	}
	input#privacy_check {
		top: -16px;
	}
	form.wpcf7-form.sent {
		margin-left: 15px;
	}
	.wpcf7-response-output {
		font-size: 14px;
	}
	.screen-reader-response {
		color: #F44336;
		font-weight: 500;
		margin: 0 14px 40px;
	}

	input[type="checkbox"]::before {
		left: 26px;
		top: 4px;
		width: 16px;
		height: 16px;
	}
	input[type="checkbox"]::after {
		left: 30px;
		top: 1px;
	}
	form.wpcf7-form.invalid {
		margin-left: 16px;
	}
	body.customize-support {
		font-family: 'Noto Sans JP';
	}

}