@charset "utf-8";
@media screen and (max-width: 750px) {
	body {
		min-width: 100%;
	}
/*=============================
		common
===============================*/
	/* wrap */
	.wrap {
		width: 100%;
		min-width: 1px;
		margin: 0 auto;
		padding: 0 5.3vw;
	}
	#about .wrap, #works .wrap, #feature .wrap, #voice .wrap, #mailform .wrap, #profile .wrap {
		width: 100%;
	}
	/* view */
	.pc_view, .sp_none {
		display: none !important;
	}
	.sp_view {
		display: block !important;
	}
	section {
		padding-top: 12vw;
	}

/*=============================
		main
===============================*/
	.headline {
		margin-bottom: 8vw;
	}
	.headline .headline_box {
		height: 24vw;
	}
	.headline .headline_text {
		font-size: 8vw;
		color: #fff;
		letter-spacing: 3px;
		margin-top: -2vw;
	}
	.headline .text_bg {
		font-size: 11vw;
		line-height: 1;
	}
	.headline::after {
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 4vw 6vw 0 6vw;
	}
/*=============================
		header
===============================*/
	header {
		width: 100%;
		min-width: 1px;
		height: auto;
		display: block;
		top: 0;
		left: 0;
		z-index: 999;
		margin-top: 5vw;
		padding-left: 3vw;
		padding-right: 3vw;
	}
	header .header_top img {
		width: 20vw;
		height: auto;
	}
	header .header_top_textbox {
		font-size: 3vw;
		padding-left: 2vw;
	}
	header .header_bottom {
		padding-top: 4vw;
	}
	header .header_bottom_text {
		font-size: 4.5vw;
	}
	header .header_bottom_text .name {
		font-size: 7vw;
	}
	#mainvisual {
		background-position: center;
		min-height: 110vw;
	}
	#mainvisual::before{
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 75vw;
		background: -moz-linear-gradient(#fff, transparent);
		background: -webkit-linear-gradient(#fff, transparent);
		background: linear-gradient(#fff, transparent);
		opacity: 1;
	}
	#mainvisual .mainvisual_catch {
		padding: 0 3vw;
		width: 100%;
	}
	#mainvisual .mainvisual_catch img {
		width: 100%;
		height: auto;
	}
	/*=============================
		about
===============================*/
	#about {
		min-width: 100%;
	}
	#about .wrap {
		padding: 0;
	}
	#about .about_content-box {
		display: flex;
		justify-content: flex-start;
		position: relative;
		flex-direction: column;
	}
	.about_content-box img {
		width: 100%;
		height: auto;
	}
	#about .about_textbox {
		width: 100%;
		margin-left: 0;
		padding: 0 5.3vw 10vw;
	}
	#about .about_textbox .text + .text {
		margin-top: 4vw;
	}
	#about .about_title_article {
		font-size: 8vw;
		line-height: 1.3;
		margin-bottom: 8vw;
		padding-top: 8vw;
		text-align: center;
		letter-spacing: 0.04em;
	}
	#about .about_img-box {
		width: 89.4vw;
		margin: 0 auto;
		justify-content: space-between;
		column-gap: 2.6vw;
		padding-bottom: 12vw;
	}
	#about .about_img-box img {
		width: calc((100% - 2.6vw) / 2);
		height: auto;
	}
	#about .about_img02 {
		top: auto;
		left: auto;
		position: relative;
		width: 89.4vw;
		margin: 0 auto;
	}
	#about .about_img02 img {
		width: 100%;
		height: auto;
	}
	#about .about_catch {
		padding: 0 5.3vw
	}
	#about .about_catch img {
		width: 100%;
		height: auto;
	}
	#about .about_img-box {
		z-index: 2;
		margin-top: 2.6vw;
	}
	#about .about_img-box img + img {
		margin-left: 0;
	}
	#about .about_catch{
		font-size: 7vw;
		line-height: 1.3;
		letter-spacing: 0.04em;
		margin: 0 0 4vw;
	}

	
/*=============================
		works
===============================*/
	#works .works_item {
		display: flex;
		justify-content: flex-end;
		flex-direction: column;
	}
	#works .works_item:nth-child(2) {
		flex-direction: column-reverse;
	}
	#works .works_item + .works_item {
		padding-top: 3.0vh;
	}
	
	#works .works_item .textbox {
		width: 100%;
	}
	#works .works_item .title_jp {
		font-size: 7vw;
		text-align: center;
	}
	#works .works_item .title_article{
		padding-bottom: 5.3vw;
	}
	#works .works_item .textbox_text{
		padding-top: 5.3vw;
	}
	#works .works_item .title_en {
		font-size: 3.7vw;
		text-align: center;
	}
	#works .works_item .textbox + .works_img, #works .works_item .works_img + .textbox {
		margin-left: 0;
	}
	#works .works_item .works_img {
		padding-top: 6.6vw;
	}
	#works .works_item .works_img img {
		width: 100%;
		height: auto;
	}
	
	#works .works_img_abu {
		position: static;
		top: 0;
		right: 0;
		display: flex;
		justify-content: space-between;
	}
	#works .works_img_abu li {
		float: none;
		width: 49%;
		margin: 0px 0px 0px 0px;
	}
	
	
	
	
	/*=============================
		feature
===============================*/
	#feature .wrap {
		padding-top: 18vw;
	}
	#feature .feature_item {
		display: flex;
		justify-content: space-between;
		flex-direction: column;
	}
	#feature .feature_item:nth-child(2) {
		flex-direction: column-reverse;
	}
	#feature .feature_item + .feature_item {
		padding-top: 20vw;
	}
	#feature .feature_img .feature_num {
		top: -5.3vw;
		left: 2vw;
		z-index: 2;
		width: 15vw;
		height: 15vw;
		font-size: 8vw;
		padding: 3vw 0;
	}
	#feature .textbox {
		width: 100%;
		padding-top: 5.3vw;
	}
	#feature .textbox .text {
		margin-top: 5.3vw;
	}
	#feature .textbox_title_article {
		font-size: 6vw;
		line-height: 1.4;
	}
	#feature .feature_img img {
		width: 100%;
		height: 100%;
	}
	/*=============================
		voice
===============================*/
	#voice .voice_item {
		flex-direction: column;
	}
	#voice .voice_item:nth-child(1), #voice .voice_item:nth-child(3) {
		justify-content: flex-start;
	}
	#voice .voice_item:nth-child(2), #voice .voice_item:nth-child(4) {
		justify-content: flex-start;
		flex-direction: column-reverse;
	}
	#voice .voice_item .textbox {
		width: 100%;
		padding-top: 0;
	}
	#voice .voice_item .textbox + .voice_img, #voice .voice_item .voice_img + .textbox {
		margin-left: 0;
	}
	#voice .voice_item .textbox .voice_title_text01 {
		font-size: 6vw;
		line-height: 1.4;
	}
	#voice .voice_item .textbox .voice_title_caption {
		font-size: 3.7vw;
		padding-top: 3vw;
		padding-bottom: 6.6vw;
	}
	#voice .voice_item .textbox .text.text01 {
		text-align: justify;
		padding-top: 6.6vw;
	}
	#voice .voice_item .textbox .voice_title_text02 {
		font-size: 6vw;
		line-height: 1.4;
		padding-left: 7vw;
	}
	#voice .voice_item .textbox .voice_title_text02::before {
		width: 4.8vw;
		height: 4.8vw;
		top: 2.3vw;
	}
	#voice .voice_item .textbox .text.text02 {
		padding-top: 5.3vw;
	}
	#voice .voice_item .voice_img {
		padding-top: 5.3vw;
		padding-bottom: 4.0vw;
	}
	#voice .voice_item .voice_img img {
		width: 100%;
		height: auto;
	}
	#voice .voice_item + .voice_item{
		padding-top: 8vw;
	}
	#voice .voice_item .textbox .voice_title_text02::before {
		margin-right: 2vw;
		width: 5vw;
		height: 5vw;
		margin-top: -0.3vw;
	}
	#voice .voice_btn_area {
		padding-top: 10vw;
	}
	#voice .voice_btn_title {
		height: auto;
		font-size: 4.2vw;
		border-radius: 0;
		padding: 4vw;
		border-radius: 1.5vw;
	}
	#voice .voice_btn_title span {
    	margin-top: -0.5vw;
		line-height: 1.3;
}
	#voice .voice_btn_wrap {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding-top: 5vw;
		width: 100%;
		height: auto;
	}
	#voice .voice_btn_wrap .btn {
		width: 89.4vw;
		height: 20vw;
		border-radius: 20vw;
	}
	#voice .voice_btn_wrap .btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		width: 100%;
		height: 20vw;
		border-radius: 20vw;
		color: #fff;
		transition: 250ms all;
	}
	#voice .voice_btn_wrap .btn .mail {
		margin-top: 5vw;
	}
	#voice .voice_btn_wrap .btn .tel .number {
		font-size: 9vw;
	}
	#voice .voice_btn_wrap .btn .tel img{
		height: 9vw;
		width: auto;
	}
	#voice .voice_btn_wrap .btn .tel .number_caption {
		font-size: 3vw;
		margin-top: 0.5vw;
	}
	#voice .voice_btn_wrap .btn .mail .mail_text {
		font-size: 5vw;
		margin-top: 0;
	}
	#voice .voice_btn_wrap .btn .mail .mail_text::before {
		content: "";
		width: 8vw;
		height: 8vw;
		margin-right: 2vw;
		margin-top: 2vw;
	}
	/*=============================
		description
===============================*/
	#description {
		padding-top: 12vw;
	}
	#description .wrap {
		padding: 0 5.3vw;
	}
	#description .description_catch {
		margin-bottom: 8vw;
		font-size: 7vw;
	}
	#description .description_catch .text_bg {
		font-size: 9vw;
	}
	#description .description_table {
		width: 100%;
		display: flex;
		flex-direction: column;
	}
	#description .table_text {
		padding-left: 4vw;
		padding-right: 4vw;
		text-align: left;
	}
	#description .table_text_list {
		width: 100%;
		margin: 0 auto;
	}
	#description .table_text_list.list2 {
		width: 100%;
		margin: 0 auto;
		flex-direction: column;
	}
/*=============================
		mailform
===============================*/
	#mailform {
		padding-top: 0;
		margin-top: 12vw;
		padding-bottom: 10vw;
	}
	#mailform .wrap .table_mail {
		width: 100%;
	}
	#mailform .wrap {
		width: 89.4vw;
		border-radius: 2.6vw;
		padding-bottom: 6vw;
		padding-top: 6vw;
	}
	#mailform .wrap .table_wrap {
		padding-top: 0;
		padding-bottom: 0;
	}
	#description .table_title, .table_text{
		padding: 3.4vw 4vw;
		text-align: left;
	}
	#mailform .headline .headline_text::before {
		width: 9.5vw;
		height: 7.5vw;
		background: url(../images/ic_mail.svg) no-repeat;
		background-size: contain;
		margin-right: 2vw;
		margin-bottom: -1.4vw;
	}
/*=============================
		profile
===============================*/
	#profile {
		padding-bottom: 10vw;
	}
	#profile .wrap {
		display: flex;
		flex-direction: column;
	}
	#profile .profile_left {
		width: 100%;
	}
	#profile .profile_left_title_article {
		padding-bottom: 4vw;
	}
	#profile .profile_left_title_article .title_jp {
		font-size: 8vw;
	}
	#profile .profile_left_title_article .title_jp::before {
		width: 1.8vw;
		height: 10vw;
		margin-right: 4vw;
	}
	#profile .profile_left_title_article .title_en {
		font-size: 3.7vw;
		padding-left: 4vw;
	}
	#profile .profile_left .profile_name .profile_name_text {
		font-size: 4.2vw;
		padding-bottom: 1vw;
	}
	#profile .profile_left .profile_name .profile_name_nam {
		font-size: 3.4vw;
		color: #353535;
	}
	#profile .profile_left .address_list {
		font-size: 3.4vw;
	}
	#profile .profile_left .address_icon {
		width: 18vw;
		height: 23vw;
		margin-right: 4vw;
		font-size: 3.4vw;
	}
	#profile .profile_img {
		padding-top: 5vw;
	}
	#profile .profile_img img {
		width: 100%;
		height: auto;
	}
	/*=============================
		footer
===============================*/
	footer {
		padding-top: 10vw;
	}
	footer .footer_tel .footer_tel_text {
		width: 100%;
		height: 10vw;
		border-radius: 8vw;
		font-size: 4vw;
	}
		footer .footer_tel .footer_tel_text span{
		margin-top: -0.5vw;
	}
	footer .btn_number {
		width: 100%;
	}
	footer .btn_number img{
		height: auto;
		width: 100%;
	}
	footer .footer_tel_caption {
		font-size: 3.2vw;
		padding-top: 1vw;
	}
	footer .footer_nav .nav_list {
		display: flex;
		justify-content: center;
		flex-direction: column;
	}
	footer .footer_nav .nav_list li {
		padding: 3vw;
		border-right: none;
		border-bottom: 1px solid #a2a2a2;
	}
	footer .footer_nav .nav_list li:first-child {
		padding-left: 3vw;
	}
	footer .footer_nav .nav_list li:last-child {
		padding-right: 3vw;
	}
	footer .footer_nav .nav_list_bottom {
		padding-top: 5vw;
	}
	.copyright .text {
		text-align: center;
		font-size: 3.4vw;
	}
	.copyright{
		height: auto;
		padding: 4vw 0;
	}
	footer .footer_nav .nav_list_bottom li:first-child{
		padding-right: 4vw;
	}
	footer .footer_nav .nav_list_bottom li:last-child{
		padding-left: 4vw;
	}
	footer .footer_nav .nav_list li a,
	footer .footer_nav .nav_list_bottom li a{
		padding-bottom: 0;
		font-size: 3.7vw;
	}
/*=============================
		contents page
===============================*/
	.content_title {
		width: 89.4vw;
		height: 20vw;
		font-size: 7vw;
		margin-top: 28vw;
	}
	.content_title span{
		letter-spacing: 0.03em;
	}
	.content_visual{
		height: 70vw;
	}
/*=============================
		policy index
===============================*/
	#policy .wrap {
		padding: 0 5.3vw;
		width: 100%;
	}
	#policy dl{
		margin-bottom: 10vw;
	}
	#policy dl dt {
		padding-bottom: 4vw;
		font-size: 5.2vw;
		margin: 0 0 2.6vw;
		position: relative;
		display: flex;
	}
	#policy dl dd {
		font-size: 4.2vw;
		padding: 0px;
	}
	#policy dl dt .title_flex {
		display: flex;
		line-height: 1.3;
	}
	#policy dl dt::before{
		height: 0.8vw;
	}
	#policy ul.p_list.top_list li{
		padding-bottom: 5.3vw;
	}
	#policy p.txt{
		margin-bottom: 5.3vw;
	}
	#policy ul.p_list{
		padding-bottom: 10vw;
	}
	#policy dl dd ul li{
		position: relative;
		padding-left: 0;
		margin-top: 4vw;
	}
/*=============================
		thanks index
===============================*/
	#thanks .title_article {
		font-size: 7vw;
		line-height: 1.3;
	}
	#thanks .text {
		text-align: justify;
	}
	#thanks .text{
		padding: 5.3vw 0 8vw;
	}
	#thanks .textbox{
		padding: 12vw 0;
	}
	#thanks .btn1 {
		width: 65vw;
		height: 14vw;
		border-radius: 14vw;
		transition: 250ms all;
		margin: 0 auto 0;
	}
	#thanks .btn1 a{
		width: 100%;
		height: 100%;
		background: #df4436;
		border-radius: 14vw;
		color: #fff;
		font-size: 4.2vw;
	}
	
	.mb40 {
		margin-bottom: 3.5vw!important;
	}
	
}