@charset "utf-8";

@media screen and (min-width: 769px) {
	.pc_none{
		display: none!important;
	}
}
@media screen and (max-width: 768px) {
	.sp_none{
		display: none!important;
	}
	:target {
		scroll-margin-top: 80px;
	}
	.wrapper{
		max-width: 600px;
		padding: 0 5%;
		width: 100%;
		box-sizing: border-box;
	}
	a[href*="tel:"] {
		pointer-events: auto;
		cursor: pointer;
	}
	a.fax[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
	.btn {
        max-width: 220px;
        padding: 13px 50px 13px 15px;
	}
	form .btn{
		display: block;
	}
	.btn::after {
        width: 20px;
        height: 5px;
        right: 10px;
	}
	.section_marker_title_ja{
		font-size: 2rem;
		line-height: 145%;
		padding: 0 10px;
	}
	.section_title_en {
		font-size: 3.2rem;
		padding-bottom: 25px;
	}
	.section_title_ja {
		font-size: 17px;
		padding-bottom: 20px;
		margin-top: 15px;
	}
	.section_title_ja::after {
		width: 70px;
		height: 5px;
	}

    /* Header
	------------------------------ */
	.header {
        height: 60px;
		box-shadow: 0 0 10px rgba(0,0,0,.5);
    }
	.customize-support .header{
		top: 46px;
	}
	.customize-support .header_fixed{
		top: 0;
	}
	.header.header_fixed {
        height: 60px;
    }
	.header_inner_wrapper{
		display: block;
		max-width: unset;
		padding: 0;
	}
	/* .header_inner {
		padding: 0 0 0 5%;
	} */
    .header_logo {
		width: calc(100% - 100px);
		max-width: 300px;
		padding-top: 15px;
	}
	.header_hamburger {
		width: 60px;
		height: 60px;
		top: -43.5px;
	}
    main {
        margin-top: 60px;
    }

	/* top - top_mw
	------------------------------ */
	.top_mv_inner {
		width: 100%;
	}
	.top_mv_img {
		width: 100%;
	}
	.top_mv_img img{
		width: 100%;
		height: auto;
		object-fit: contain;
	}
	.top_mw::after{
		height: 20%;
		bottom: -10%;
		background-position: center center;
	}

	/* top - top_registration
	------------------------------ */
	.top_registration {
		padding: 80px 0 60px;
	}
	.top_registration_officenow{
		position: relative;
		right: auto;
		bottom: auto;
		margin: 20px auto 0;
	}
	.top_registration_piece{
		position: relative;
		left: auto;
		bottom: auto;
		margin: 0 auto 20px;
	}
	.top_registration_cards{
		display: block;
	}
	.top_registration_card + .top_registration_card{
		margin: 20px auto 0;
	}
	.top_registration_small_cards{
		grid-template-columns: 1fr 1fr;
	}
	.top_registration_small_card a{
		font-size: 1.3rem;
		padding-right: 40px;
	}
	.top_registration_small_card a::after{
		width: 20px;
	}
	.top_registration_btn{
		margin-top: 40px;
	}

	/* top - top_features
	------------------------------ */
	.top_features{
		margin-top: 70px;
	}
	.top_features_fight{
		position: relative;
		top: auto;
		left: auto;
		margin: 0 auto 20px;
	}
	.top_features_gotit{
		position: relative;
		top: auto;
		right: auto;
		margin: 20px auto 0;
	}
	.top_features_item{
		display: block;
	}
	.top_features_item_img{
		margin: 0 auto;
	}
	.top_features_item_title{
		margin-top: 50px;
		font-size: clamp(2rem, 2.4vw, 2.8rem);
	}
	.top_features_item_btn{
		text-align: center;
	}
	.top_features_item_btn .btn{
		max-width: 280px;
	}
	
	/* top - top_workflow
	------------------------------ */
	.top_workflow{
		margin-top: 70px;
		padding-bottom: 70px;
	}
	.top_workflow::after{
		width: 100%;
		border-radius: 0;
	}
	.top_workflow_mainpic{
		position: relative;
		width: 100%;
		border-radius: 20px;
		left: auto;
	}
	.top_workflow_contents{
		max-width: unset;
		margin: 30px auto 0;
	}
	.top_workflow_item:first-of-type .top_workflow_item_content{
		display: block;
	}
	.top_workflow_item_title{
		font-size: 2rem;
	}
	.top_workflow_item_btn{
		margin-top: 20px;
	}

	/* top - top_cta
	------------------------------ */
	.top_cta{
		margin-top: 70px;
	}

	/* top top_news
	------------------------------ */
	.top_news{
		margin-top: 70px;
		padding: 70px 0;
	}
	.top_news_wrapper{
		display: block;
		margin-top: 30px;
	}
	.top_news_btn{
		margin-top: 30px;
	}
	.top_bnr{
		margin-top: 60px;
	}
	.bnr_lists{
		display: grid;
		max-width: unset;
		gap: 20px;
		grid-template-columns: 1fr 1fr;
	}
	.bnr_list{
		background: #FFF;
		border-radius: 10px;
	}

	/* top - top_about
	------------------------------ */
	.top_about{
		margin-top: 50px;
		/* padding-bottom: 120px; */
		background-size: 80% auto;
	}
	.top_about_item{
		display: block;
		margin-top: 30px;
	}
	.top_about_item_content{
		max-width: unset;
		margin-top: 30px;
	}
	.top_about_item_btn{
		margin-top: 20px;
		text-align: center;
	}

	/* cta
	------------------------------ */
	.food_cta {
		padding: 0 5%;
	}
	.cta_inner {
		padding: 50px 5%;
		background-size: 100px auto,cover;
		background-position: top 100px right 5%,center center;
	}
	.cta_title_en {
		font-size: 2.2rem;
	}
	.cta_title_ja {
		font-size: 2.2rem;
		/* text-align: left; */
	}
	.cta_wrapper {
		align-items: center;
		flex-direction: column;
		gap: 20px 0;
		margin: 30px auto 0;
	}
	.cta_tel {
		padding: 20px 15px 15px;
	}
	.cta_tel_time {
		padding-top: 10px;
		margin: 10px auto 0;
	}
	.cta_fax_btn .btn{
		padding-right: 50px;
	}
	.cta_mail {
		padding: 20px 15px;
	}

	/* sub
	------------------------------ */

	/* news - archive
	------------------------------ */
	.news_archive {
		margin-top: 50px;
	}
	.news_archive_wrapper {
		display: block;
	}
	.news_archive_items {
		max-width: 500px;
		margin: auto;
		gap: 30px 0;
	}
	.news_archive_item {
		width: 100%;
	}
	.news_archive_item_link {
        flex-direction: column;
        gap: 10px 0;
		padding: 30px 10px;
	}
	.news_archive_item_img {
		max-width: 400px;
		margin: auto;
	}
	.news_archive_item_img img {
		max-width: 100%;
	}
	.news_archive_item_title {
		font-size: 1.8rem;
		padding-bottom: 10px;
		margin-top: 5px;
	}
	.news_archive_item_text {
		margin-top: 5px;
	}
	.news_archive_page_navigation .pagenavi {
		padding-top: 30px;
	}
	.news_archive_page_navigation .wp-pagenavi {
		padding-top: 30px;
	}

	/* news - pagenavi
	------------------------------ */
	.pagenavi {
		font-size: 1.6rem;
	}
	.pagenavi span, .pagenavi a {
		width: 35px;
		height: 35px;
		line-height: 1.2;
	}
	.wp-pagenavi {
		font-size: 1.6rem;
	}
	.wp-pagenavi a, .wp-pagenavi span {
		width: 35px;
		height: 35px;
		line-height: 1.2;
	}

	/* news - side
	------------------------------ */
	.news_archive_side {
		max-width: 100%;
		margin: 50px auto 0;
	}
	.news_archive_side_title {
		font-size: 1.8rem;
		padding: 15px 20px;
	}
	.news_archive_side_list_link {
		padding: 15px 60px 15px 20px;
	}
	.news_archive_side_list_link::after {
		width: 26px;
		height: 6px;
		right: 20px;
	}

	/* news - single
	------------------------------ */
	.news_single {
		margin-top: 50px;
	}
	.news_single_wrapper {
		display: block;
	}
	.news_single_main {
		margin-top: 0;
	}
	.news_article_title {
		font-size: 1.8rem;
	}
	.news_article_unit {
		gap: 10px 10px;
	}
	.news_article_content {
		margin-top: 10px;
	}
	.news_article_content h3 {
		font-size: 1.8rem;
	}
	.news_article_text {
		margin-top: 15px;
	}
	.news_article_content a {
		display: inline;
	}
	.news_article_content a::after {
		transform: scale(0, 1);
	}
	.news_article_content img {
		width: 100%;
	}
	.news_article_img {
		width: 100%;
	}
	.news_article_content #gallery-1 {
		display: block;
	}
	.news_article_content #gallery-1 .gallery-item {
		width: 100%;
	}
	.news_article_content #gallery-1 .gallery-item:nth-of-type(n + 2) {
		margin-top: 20px;
	}
	.news_article_form_btn {
		max-width: 250px;
		margin-top: 20px;
	}
	.news_article_form_btn .btn {
		padding: 13px 0;
	}
	.news_article_buttons {
		flex-wrap: wrap;
		margin-top: 30px;
	}
	.news_article_button_previous {
		order: 1;
		max-width: 48%;
		margin: auto;
	}
	.news_article_button_next {
		order: 2;
		max-width: 48%;
		margin: auto;
	}
	.news_article_button_all {
		order: 3;
		max-width: 48%;
		margin: auto;
	}
	.news_article_button a {
		font-size: 1.3rem;
        padding: 12px 10px;
	}
	.news_article_button_previous a span {
		padding-left: 30px;
	}
	.news_article_button_next a span {
		padding-right: 30px;
	}
	.news_article_button_previous a span::before, 
	.news_article_button_next a span::before {
		width: 20px;
		height: 5px;
	}

	/* 404
	------------------------------ */
	.not_found {
		margin-top: 50px;
		padding-bottom: 130px;
	}

	/* footer
	------------------------------ */
	.footer{
		padding-top: 50px;
	}
	.footer_wrapper {
		flex-direction: column;
		gap: 20px 0;
	}
	.footer_content{
		max-width: unset;
	}
	.footer_large_btn{
		text-align: center;
	}
	.footer_copyright {
		color: #FFF;
		padding: 20px 10px 0;
		margin-top: 50px;
		text-align: center;
	}

	/* page_top
	------------------------------ */

	/* foot_menu
	------------------------------ */
	.foot_menu {
		display: block;
	}
}

