@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/



/*--------------------------------------------------------------
2.0 Typography
--------------------------------------------------------------*/
html {
	font-size: 62.5%; /* To use an easier rem font size */
}

body,
input,
select,
textarea {
	color: #000000;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 32px;
	line-height: 3.2rem
}

h1, h2, h3, h4, h5, h6, .title, .product-title {
	font-weight: 700;
	margin-bottom: .5em;
	line-height: 1.3em;
	color: #242424;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, .post.small h3 a,
h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited, .post.small h3 a:visited {
	color: #242424;
}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover, .post.small h3 a:hover {
	opacity: .5;
	color: #7f7f7f;
}

h1 {
	font-size: 2.7em
}
h2 {
	font-size: 2.1em;
}
h3 {
	font-size: 1.8em
}
h4 {
	font-size: 1.4em;
}

ul,ol {

}
ul {
	list-style: circle;
}
li {
    padding-bottom: 0.9em;
}
.content-area li {
	font-size: 0.65em;
    padding-bottom: 0;
}
b, strong {
	font-weight: bold;
}
dfn, cite, em, i {
	font-style: italic;
}
blockquote {
	margin: 0 1.5em;
}
address {
	margin: 0 0 1.5em;
}
pre {
	background: #eee;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}
code, kbd, tt, var {
	font: 13px Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}
abbr, acronym {
	cursor: help;
}
mark, ins {
	background: #fff9c0;
	text-decoration: none;
}
sup,
sub {
	font-size: 75%;
	height: 0;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {
	bottom: 1ex;
}
sub {
	top: .5ex;
}
small {
	font-size: 14px;
	font-size: 1.4rem;
}
big {
	font-size: 125%;
}

/*--------------------------------------------------------------
3.0 Elements
--------------------------------------------------------------*/

#middle {
	margin: 0 auto;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}
.content-area ul {
	display: block;
    margin: 0 0 0 0px;
    list-style: none;
}

.content-area ol {
	display: block;
	margin: 0 0 0 25px;
}

ol {
	list-style: decimal;
}
ol.children {
	padding-left: 5%;
	border-left: 3px solid #ececec;
}
li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}
dt {
	font-weight: bold;
}
dd {
	margin: 0 1.5em 1.5em;
}
img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
	width: auto;
}
figure {
	margin: 0;
}
table {
	margin: 0 0 1.5em;
	width: 100%;
}
th {
	font-weight: bold;
}

/*--------------------------------------------------------------
4.2 Site Header
--------------------------------------------------------------*/
@media only screen and (max-width : 741px){
	#header_pc{
		display: none;
	}
	#header_sp{
		height: 80px;
	}
	.logo_main {
    height: 75%;
    margin-top: 8px;
}
}
@media only screen and (min-width : 740px){
	.secondary-nav {
		display: none;
	}
	#header_sp{
		display: none;
	}

	#header_pc {
    text-align: left;
    height: 80px;
    justify-content: space-between;
    display: flex;
    margin: 1rem 2rem;
    padding: 1rem;	
	 max-width: 1250px;
    margin: 1rem auto;
	}

	#header_pc p a {
		position: absolute;
	    left: 20px;
	    top: 20px;
			height: 100%
	}

	#header_pc nav ul li {
	    display: inline-grid;
	    margin-right: 27px;
			margin-top: 22px
	}
}

#site-header {
	background: #fff;
	left: 0;
	width: 250px;
	height: 100%;
	box-shadow: 0 0 1px rgba(0, 0, 0, 0.15);
	-webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.15);
	padding-top: 40px;
}

body #site-header.transparent {
	background: transparent !important;
	position: absolute;
	box-shadow: none;
	border-bottom: 1px solid rgba(0,0,0,.1);
	width: 100%;
}

body.boxed #site-header.transparent {
	max-width: 1000px;
}


body #site-header.transparent.light {
	border-bottom: 1px solid rgba(255,255,255,.1);
}

#site-header .inside{
	position: relative;
	transition-property: all;
	-webkit-transition: 0.2s ease;
	   -moz-transition: 0.2s ease;
	     -o-transition: 0.2s ease;
		    transition: 0.2s ease;
	padding: 0;
	margin: 0 auto;
	height: 100%;
	text-align: center;
}

#logo {
    position: relative;
	margin: 0 auto 130px !important;
	text-align: left;
	display: block;
	padding: 0 50px 30px;
}


#logo img {
	transition-property: all;
	-webkit-transition: 0.3s ease;
		    transition: 0.3s ease;
}

#logo .site-title {
    font-size: 2.5rem;
    margin: 0 !important;
	line-height: 1em !important;
	font-weight: bold;
    color: #000;
	letter-spacing: 0;
	text-align: left;
	transition-property: all;
	-webkit-transition: 0.2s ease;
	   -moz-transition: 0.2s ease;
	     -o-transition: 0.2s ease;
		    transition: 0.2s ease;
}

#logo .site-title:hover img {
	opacity: 1;
}

#logo a {
	color: #000;
	padding: 0 !important;
	display: inline-block;
}

#logo .site-title a:hover {
	opacity: 1;
}

.site-title.mobile {
	display: none;
}



/*--------------------------------------------------------------
4.4 Footer
--------------------------------------------------------------*/

#footer {
	padding: 0 0;
	width: 100%;
	height: auto;
	background: #212121;
}

#footer .widget-title, #footer .textwidget, #footer p, #footer span {
    color: #fff;
}

#footer a {
	color: #a5a5a5;
}

#footer a:hover {
	color: #fff;
}

#footer .main{
	margin: 0 auto;
	padding: 70px 0 20px !important;
	max-width: 1260px;
}

#footer .inside {
	margin: 0 auto;
}

#footer .widget-box {
	text-align: left;
	float: left;
	display: block;
	margin-bottom: 20px;
}

#footer .widget-box .inside, #seondary .widget-box {
	padding: 0 30px;
}

#footer.col-5 .widget-box { width: 20%; }
#footer.col-5 .widget-box:nth-child(5n+1){ clear: both !important; }

#footer li {
	font-size: .8em !important;
	font-weight: 400;
}

#footer .widget-box p{
	color: rgba(255,255,255, .5);
}

#footer .secondary {
	padding: 40px 0 30px 0;
	text-align: center;
	color: #747475;
	background-color: rgba(0,0,0,.05);
}

#footer .secondary *{
	color: #747475;
}

#footer .secondary.split .left {
	float: left;
}

#footer .secondary .left{
	margin-bottom: 0;
}

#footer .secondary .right{
	padding-top: 0;
}

#footer .secondary p {
	padding-bottom: 0 !important;
	color: #747475;
	font-size: .8em !important;
}

#footer .secondary a {
	color: #ababac;
}

#footer .secondary a:hover {
	color: #fff;
}

#footer .copyright {
	text-align: right;
	padding: 25px 10%;
}

#footer .fa {
	display: inline-block;
}

/*--------------------------------------------------------------
5.1 Links and Buttons
--------------------------------------------------------------*/
a{
	color: #30444a;
  font-weight: 400;
	text-decoration: none;
}


/*--------------------------------------------------------------
6.0 Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:hover,
.screen-reader-text:active,
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 110000; /* Above WP toolbar */
}

/*--------------------------------------------------------------
8.0 Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
#site-header .inside:before,
#site-header .inside:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after,
.single-product .thumbnails:before,
.single-product .thumbnails:after,
.woocommerce-message:before,
.woocommerce-message:after,
.products:before,
.products:after {
	content: '';
	display: table;
}

.clear:after,
.entry-content:after,
.comment-content:after,
#site-header .inside:after,
.site-content:after,
.site-footer:after,
.single-product .thumbnails:after,
.woocommerce-message:after,
.products:after {
	clear: both;
}

/*--------------------------------------------------------------
10.0 Content
--------------------------------------------------------------*/
.site-main-project {
    padding: 50px 0px 0 !important;
    display: -webkit-box;
}

.body-wrap {
	margin: auto;
  max-width: 1000px;
}
.body-wrap-project {
    margin-left: 8%;
    margin-right: 2.5%;
    margin-top: 3%;
    max-width: 900px;
}

.content-main {
	max-width: 70%;
	float: left;
}

.content-main.full {
	max-width: 100%;
	float: none;
}

.featured-image {
    margin-bottom: 1em;
}


body #footer {
	z-index: 100 !important;
	position: relative;
}

/*////////////////////////////////////////////////////////////////////
//  13.0 - Media Queries
////////////////////////////////////////////////////////////////////*/

/* iPads */
	#middle {
		padding-top: 0 !important;
	}

	/*Header*/

	body.side-header #site-wrap {
		float: none;
		padding-left: 0;
		width: 100%;
	}

	body.side-header.narrow-header #site-wrap {
		padding-left: 0;
	}

	body.side-header .siteorigin-panels-stretch[data-stretch-type="full-stretched"] {
		padding-left: 0 !important;
	}

	body.side-header.narrow-header .siteorigin-panels-stretch[data-stretch-type="full-stretched"] {
		padding-left: 0 !important; padding-right: 0 !important;
	}


	body.side-header #site-header {
		padding: 0 !important;
	}

	body.side-header #site-header li {
	text-align: center;
    font-size: 1.4rem;
    padding: 0;
    margin: 1rem;
	}
	body.side-header #site-header #logo {
		padding: 0;
		margin: 0 !important;
	}

	body.side-header #site-header #logo.has-mobile .site-title {
		display: none;
	}

	body.side-header #site-header #logo .site-title.mobile {
		display: block !important;
	}

	.narrow-header .site-title.mobile {
		display: block !important;
	}

	#logo .site-title{
		display: block !important;
	}

	body.side-header .siteorigin-panels-stretch[data-stretch-type="full-stretched"] {
		padding-left: 0 !important; padding-right: 0 !important;
	}

	body.side-header #site-header {
		position: relative;
		height: auto;
		width: 100%;
	}

	#site-header .secondary-nav {
		position: absolute;
		top: 50%;
		right: 0px;
		margin: -10px 10px 0;
	}

	body.side-header #site-header .main-nav {
		display: none;
	}

	#menu-toggle-open {
		display: block;
	}

	#site-header .widget-area {
		display: none;
	}


	/*Slide Panel*/
	body.side-header #site-header #logo .site-title {
		float: left;
	}

	body.side-header #site-header #logo .site-title.top {
		display: block;
	}

	.main-nav {
		display: none !important;
	}

	#site-	 .secondary-nav span.search-toggle.open { display: none; }

	#site-header .secondary-nav .menu-toggle.open { display: inline-block; }

	#site-header .secondary-nav {
		padding-top: 0;
	}


	/*Projects*/
	.projects.col-5 .project.small, .projects.col-5 .grid-sizer { width: 24.999%; }
	.projects.col-5 .project.small.masonry-wide, .projects.col-5 .project.small.masonry-wide_tall { width: 49.999%; }
	.project.small h3.entry-title { font-size: .6em; }

@media only screen and (max-width : 1024px) {
	/*Widgets*/
	#footer .main {
		margin: 0 auto !important;
	}
	#footer .widget-box {
		width: 50% !important;
	}

	#footer.col-3 .widget-box:nth-child(3n+1){
	  clear: none;
	}
	#footer .widget-box:nth-child(2n+1){
	    clear: both;
	}
}


	/*Header*/
	#site-header #logo * {
		padding: 0 !important;
		margin: 0 !important;
	}

	/*--------------*/

	blockquote { font-size: .9em !important; }

	h1 {
		font-size: 28px;
		font-size: 2.8rem;
	}
	h2 {
		font-size: 22px;
		font-size: 2.2rem;
	}
	h3 {
		font-size: 22px;
		font-size: 2.2rem;
	}
	h4 {
		font-size: 1em;
	}

    #cart-notices .woocommerce-message a.button.wc-forward {
        display: none;
    }

    .post.small h2 {
		font-size: 1.6em !important;
	}

	#blog .posts .post a.button {
		font-size: 14px;
		padding: 5px 7px;
	}

	.thumbs {
		margin: 0 auto !important;
		text-align: center;
	}

	#image-background #button-wrapper {
		display: none;
	}

	/*Reduce side padding*/

	.comments-wrap {
		padding: 20px 0;
	}
	#footer, aside.sidebar {
		padding: 30px 0px !important;
	}
	.site-main .post-navigation {
		padding: 0 15px;
	}

	.widget-box{
		width: 100% !important;
	}

	header.main .meta {
		font-size: .7em !important;
	}

	.blog.col-2 .post.small { width: 100%; }
	.blog.col-3 .post.small { width: 100%; }
	.blog.col-4 .post.small { width: 100%; }


@media screen and (max-width: 700px) {
	/* Content Area */
	.content-main {
		width: 100% !important;
		float: none;
		clear: both;
		max-width: none !important;
	}
    /*Projects*/
	body .projects .grid-sizer, body .projects .project.small { width: 50% !important; }
	body .project.small.masonry-wide, body .project.small.masonry-wide_tall {width: 100% !important; }
	.projects .masonry-tall img {
		height: auto !important;
		width: 100% !important;
	}

	/*Projects*/
	body .projects .project.small {
		width: 100% !important;
		height: auto !important;
	}

	/*Testimonials*/

	.testimonials .testimonial.small {
		width: 100% !important;
		margin-bottom: 30px;
	}

	.sow-features-feature {
		margin-bottom: 10px !important;
		width: 100% !important;
	}

	.siteorigin-panels-stretch[data-stretch-type="full-stretched"] .sow-features-feature .textwidget{
			padding: 0;
	}

	body .panel-grid .equal-column-height .panel-grid-cell * {
		min-height: 0 !important;
	}

	/* Sidebar */

	aside.sidebar {
		width: 100%;
		padding: 0;
		float: none;
		clear: both;
	}

	/*Widgets*/
	#footer .main {
		margin: 0 auto !important;
		max-width: 700px !important;
	}
	#footer .widget-box {
		width: 100% !important;
		float: none;
	}


}

/* Small laptops */

@media screen and ( max-height: 880px ){
		#banner-content .inside{
            max-width: 1100px !important;
        }

        #down-button {
            bottom: 10px;
        }
        #banner-content h1, #banner-content h2, #banner-content h3, #banner-content p, #banner-content img {
            margin-bottom: 25px;
        }
}

@media all and (min-width: 300px) {
	.mm-menu {
		width: 250px !important;
	}
}


#item {
  border-radius: 10px;
  background: #edf;
  padding: 15px;
  margin: 5px;
  text-align: center;
}
img {
  max-width: 100%;
  height: auto;
}
p {
  text-align: left;
}

@media ( min-width : 600px ){
    .flexbox {
    display: flex;
    flex-wrap: wrap;
    }
  .item {
    width: 25%;
  }
}


.breadcrumb {
  padding-left:0;
  margin-left:0;
}
.item_tittle{
width:100%;
display:flex;
}
.item_tittle p{
width:100%;
padding-bottom:0;
}
.item_tittle_text{
padding-bottom:0px;
padding-left:1%;
}


.breadcrumb li{
  display: inline;
  list-style: none;
  font-weight: bold;
}

.breadcrumb li::after{
  content: ">";
  padding: 0 px;
  color: #555;
}

.breadcrumb li:last-child:after{
  content: '';
}

.breadcrumb li a {
    text-decoration: none;
    color: #494949;/*色*/
}

.breadcrumb li a:hover {
    text-decoration: underline;
}
.menu-toggle.open::before {
 font-size:41px;}

#footer .secondary p {
 text-align:center;}
@media only screen and (min-width : 1024px) {
#footer .main{
 display: flex;
}}

.logo_main {
    height: 30px;
    margin-bottom: 0.5rem;
	 margin-top: 5px;
}

.center{
text-align: center;
}

.title-border {
display: flex;
align-items: center;
}
.title-border:before,
.title-border:after {
border-top: 1px solid;
content: "";
flex-grow: 1;
}
.title-border:before {
margin-right: 1rem;
}
.title-border:after {
margin-left: 1rem;
}

.subcopy{
    font-weight: 100;
    font-size: 2rem !important;
    margin-top: 1rem;
    margin-bottom: 1rem;
    display: block;
}

.cp_qa dt {
	position: relative;
	margin: 0 0 0.3em 0;
	 font-size: 1.6rem;
}
.cp_qa dd {
   font-size: 1.6rem;
	position: relative;
	margin: 0 0 2em 0;
	padding: 0 0 1.5em 2em;
	border-bottom: 1px dotted #a5a5a5;
}
.cp_qa dt::before, .cp_qa dd::before {
	font-size: 1.2em;
	margin: 0 0.5em 0 0;
	color: #ffffff;
	border-radius: 50%;
	display: inline-block;
	width: 1.3em;
	height: 1.3em;
	line-height: 1.2em;
}
.cp_qa dt::before {
	  padding: 0.1em 0.26em;
    content: 'Q';
    background: rgba(0,0,0,.6);
		font-weight: normal;
}
.cp_qa dd::before {
	padding: 0.1em 0.26em;
    content: 'A';
    background: #ea8d10;
}
.faq {
	width:100%;
}
.faq h2{
	font-size: 3.2em;
	font-weight:bold;
}

.header_pc_sub {
	font-size: 0.7em;
  text-align: center;
  margin-top: 8px;
  display: block;
  color: #797878;
}

.header_pc_sub ::before{
	content: "\A" ;
}

.company_tr {
width: 100%;
max-width: 800px;
}

.company_info{
	margin: 1rem;
}

.company_info h2{
	
}

.company_tr th,
.company_tr td {
border-bottom: 1px solid #ccc;
padding:10px 0px 10px 4px;
}

.company_tr th {
font-weight: bold;
}

@media screen and (max-width: 767px) {
.company_tr,
.company_tr tr,
.company_tr td,
.company_tr th {display:block;}
.company_tr th {width:auto;}
}

.item_tittle_sub{
	font-size: 17px;
    font-weight: 100;
    line-height: 1.5;
    display: block;
    color: rgba(0,0,0,0.75);
}
.item_tittle_sub ::before{
content: "\A" ;
}

.item_tittle_main{
	font-weight: bold;
}

.haveto{
	padding: 5px 10px;
	background: #ff642c;
	color: #fff;
	border-radius: 25px;
	font-weight: 700;
	margin-right: 10px;
	position: relative;
	font-size: 1.5rem !important;
}

.any{
	padding: 5px 10px;
	border: 1px solid #ff642c;
	background: #fff;
	color: #ff642c;
	border-radius: 25px;
	font-weight: 700;
	margin-right: 10px;
	position: relative;
	font-size: 1.5rem !important;
}

/*ラジオボタンを縦並び指定*/
.verticallist .wpcf7-list-item{
 display:block;
}
/*送信ボタンのデザイン変更*/
.btnwidth{
 position:relative;
 width:100%;
}
#formbtn{
    padding: 10px 50px;
    max-width: 350px;
    background: #ff642c;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    border-radius: 50px;
}

.tel_area {
	color: #333;
	border: 1px solid #ddd;
	padding: 25px 25px;
	margin: 30px auto;
}

.tel_area_text{
	font-size: 16px;
    font-weight: 100;
    letter-spacing: .055em;
    padding: 8px;
    text-align: center;
}

.tel_area_number {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: .055em;
	margin: 6px auto 3px;
	padding: 0;
	text-align: center;
}

.item_side_menu{
	max-width: 200px;
}

.item_side_menu ul{
	list-style: none;
}

.sidebar__section{
    margin-left: 0%;
    margin-right: 0%;
    margin-top: 3%;
    width: 180px !important;
}
		.menu__section {
    margin-bottom: 20px;
}

.section__title-h2 {
		margin: 0;
    font-weight: bold;
    padding-bottom: 8px;
    border-bottom: 2px solid #ddd;
    font-size: 14px;
}
.menu-list {
    margin: 10px 0 0;
    list-style-type: none;
}
.category-list__unit {
    position: relative;
}
.menu-list__link {
	display: table;
	padding: 5px 0;
	width: 100%;
}
.menu-list__text {
    vertical-align: middle;
    width: 100%;
	    font-size: 1.25rem;
    font-weight: 500;
}
.menu-list__icon {
    display: table-cell;
    vertical-align: middle;
    width: 10%;
    text-align: right;
}
.fa-angle-right ::before {
    content: "\f105";
}

@media only screen and (max-width : 1024px) {
	#sidebar{
		display: none;
	}
}

.top-slider{
	max-width: 1500px;
    margin: auto;
}

.top-slider-img{
	max-height:500px;
}

.top-announce-wrap{
    display: flex;
}
.top-announce-explain{
    margin: auto 0;
}

.top-announce-explain h2{
    font-size: 4rem;
    font-weight: 700 !important;
}

.top-announce-explain p{
    font-size: 1.7rem;
}

.color-orange{
    color:#EA9F1D;
}

.top-direction-links{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.top-direction-link{
    display: flex;
    width: 48%;
    height: fit-content;
    padding: 2rem;
    border-radius: 15px;
    border: #363636 1px solid;
    margin: 1rem;
}

.top-direction-link h3{
    font-weight: 700 !important;
    font-size: 3rem !important;
}

.item-list-wrap{
    display:flex;
    flex-wrap: wrap;
}

.item-list-wrap_img{
　　border-radius: 5px;
    width: 100%;
    object-fit: cover;
    height: 200px;
}

.item-list-wrap:after {
    content: "";
    display: block;
    width: 32%;
    height: 0;
}

.item-list-wrap_title{
    font-weight: 700 !important;
    padding: 0rem 1rem;
}

.item-list-head{
	font-weight: 800 !important;
	font-size: 2.5rem !important;
	margin-top: 4rem;
}

.item-list-wrap a{
    width: 42%;
    margin: 2rem;
}

@media(max-width:500px){
    .top-announce-wrap{
        display: grid;
        margin: auto;
    }
    .body-wrap{
        padding: 0 1rem;
    }
    .top-direction-link{
        width: 100%;
    }
}

@keyframes Gradient {
	0% {
		background-position: 0% 50%
	}
	50% {
		background-position: 100% 50%
	}
	100% {
		background-position: 0% 50%
	}
}

.item-slider{
	margin: 1rem;
}

.item_main_image{
	    width: 800px;
text-align: center;
}

.item_content{
	display:flex;
	margin-bottom: 3rem;
}
.main_content_wrap{
	display:flex;
	justify-content: center;
	    max-width: 1300px;
    margin: auto;
}
.item_info-area{
	width: 700px;
    margin-left: 5rem;
}

.item_main_image iframe{
	  width: 100%;
    height: 320px;
}

@media only screen and (max-width : 1024px) {
	.item_section_wrap{
			margin: 2rem;
	}
	.item_content{
	display:block;
	margin: 2rem;
}
	.item_info-area{
		width:auto;
		margin-left: 0;
	}
	.main_content_wrap{
	display:block;
}
	.item_main_image{
		width:auto;
	}
}

.item-slider{
	 width: 205px;
    background-color: #fff;
    color: #212121;
    text-decoration: underline;
}
.detailed-dl dt{
	  font-weight: 700;
    font-size: 1.4rem;
    text-align: center;
    margin-top: 1rem;
}

/* .ittem_list-content{
	text-align: center;
    max-width: 220px;
    box-shadow: 0 2px 4px rgb(0 0 0 / 15%);
} */

@media only screen and (max-width: 741px){
#header_sp {
height: 70px;
    align-items: center;
    padding: 2rem 2rem;
    display: flex;
    justify-content: space-between;
}
}

.d-demo__wrap {
  display: flex;
  overflow: hidden;
}

.d-demo__list {
  display: flex;
  list-style: none;
}

.d-demo__list--left{
animation :infinity-scroll-left 95s infinite linear 0.5s both;
}

.d-demo__item {
  width: calc(100vw / 6);
}
.d-demo__item > img{
   width: 100%;
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

#gallery-1{
	display:flex;
}

#line_news{
	background: linear-gradient(45deg,#FFB74D,#765ad0,#a5c2ff);
	background-size: 600% 600%;
	animation: Gradient 7s ease infinite;
	text-align: center;
	color: #fff;
	vertical-align: middle;
	padding: 1rem;
	font-size: 1.25rem;
	font-weight: 700;
}

@media only screen and (max-width: 741px){
.d-demo__item {
    width: calc(100vw / 2);
}
}

.contact_inner {
    width: 100%;
    padding: 6rem 5rem;
    text-align: center;
    background-color: #f6f6f6;
}

.contact_button_area{
	    display: flex;
    margin: auto;
    text-align: center;
    justify-content: center;
}

.contact_line{
	  width: 30%;
    border: #00B900 3px solid;
    padding: 1rem 3rem; 
	margin: 1rem;
    max-width: 300px;
	    background-color: #fff;
}
.contact_line a{
    color: #00B900 ;
	font-weight:bold;
}

.contact_tel{
	  width: 30%;
    border: #005377 3px solid;
    padding: 1rem 3rem;
	    margin: 1rem;
    max-width: 300px;
 background-color: #fff;
}

.contact_tel a{
    color: #005377 ;
	font-weight:bold;
	
}

.contact_wrap{
    display: flex;
    align-content: center;
    justify-content: center;
}

.contact_mail{
	  width: 30%;
    border: #ff642c 3px solid;
    padding: 1rem 3rem;
	    margin: 1rem;
    max-width: 300px;
	    background-color: #fff;
}

.contact_mail a{
    color: #ff642c ;
	font-weight:bold;
}

input, textarea{
	 line-height: 3.2rem;
    border: 1px solid #dedcdc;
    font-size: 1.6rem;
    padding: 0.5rem;
    margin: 6px;
	 max-width: 100%;
}

body{
	font-size:1.6rem;
}

.tag{
	    font-size: 1.4rem !important;
    border: 1px solid;
    padding: 1rem;
    margin: 1rem 1rem;
    display: block;
    width: fit-content;
}

.ex_img_wrap{
    margin-bottom: 3rem;
    padding: 2rem;
    margin: auto;
    align-items: center;
    margin: auto;
    width: 45%;
}

.ex_img_wrap img{
    height: 280px;
	 object-fit: cover;
	 border-radius: 5px;
}

.ex_img_wrap h3{
    margin: 1rem;
    font-size: 1.6rem;
    padding: 1rem;
    color: #5b5b5b;
    margin-left: 3rem;
	font-weight: 100;
}

.ex_img_wrap_re{
    margin-bottom: 3rem;
    padding: 2rem;
	 align-items: center;
    margin: auto;
    width: 45%;
}

.ex_img_wrap_re img{
    height: 280px;
	 object-fit: cover;
	 border-radius: 5px;
}

.ex_img_wrap_re h3{
    margin: 1rem;
    font-size: 1.6rem;
    padding: 1rem;
    color: #5b5b5b;
    margin-right: 3rem;
	 font-weight: 100;
}

.info_column {
	display:flex;
    flex-wrap: wrap;
}

.tag_wrap {
		display:flex;
}

@media only screen and (max-width: 741px){
.info_column {
	display: block;
	}
	.ex_img_wrap{
		width:100%;
	}
	.ex_img_wrap_re{
		width:100%;
	}
	.contact_wrap {
     display: block;
	}
	.contact_line{
	  width: 100%;
	}
	.contact_tel{
		  width: 100%;
	}
	.contact_mail {
		  width: 100%;
	}
}

header.entry-header.main { background: url('https://o-pulmo.com/wp-content/uploads/2022/11/david-menidrey-417816-e1538891836915.png'); }

.info_column h2{
	    font-size: 2.2em;
    font-weight: bold;
}

.recommend_pic_text{
	  font-weight: 700;
    font-size: 1.4rem;
    text-align: center;
    margin-top: 1rem;
    padding: 0;
    margin: 0;
}

.n_cp_qa_q::before, .n_cp_qa_a::before {
    font-size: 1.2em;
    margin: 0 0.5em 0 0;
    color: #ffffff;
    border-radius: 50%;
    display: inline-block;
    width: 1.3em;
    height: 1.3em;
    line-height: 1.2em;
}

.n_cp_qa_q{
	position: relative;
   margin: 0 0 0.3em 0;
	font-size: 1.5rem;
   font-weight: 700;
}

.n_cp_qa_q::before {
    padding: 0.1em 0.26em;
    content: 'Q';
    background: rgba(0,0,0,.6);
    font-weight: normal;
}
.n_cp_qa_a {
    position: relative;
    margin: 0 0 2em 0;
    padding: 0 0 1.5em 2em;
    border-bottom: 1px dotted #a5a5a5;
	display:flex;
}

.n_cp_qa_a::before {
    padding: 0.1em 0.26em;
    content: 'A';
    background: #ea8d10;
	font-size: 1.5rem;
}

.n_cp_qa_a p{
		font-size: 1.5rem;
}

.item-list-wrap_title-sub{
	  display: block;
    font-size: 1.2rem !important;
    color: #575757;
}

@media only screen and (max-width: 741px){
.item-list-wrap  a {
	max-width: 100%;
	}
.item_info-area	{
		margin-top: 3rem;
	}
}

.header_pc-nav{
	  display: flex;
    align-items: flex-end;
}

.news-text{
	  font-size: 1.8rem;
}


.news-date{
	 margin-right: 3rem;
}

.news-wrap{
	margin: 3rem;
}

.home-button{
	    padding: 1.5rem 3rem;
    border: 1px solid #bebebe;
    text-align: center;
}

.post-wrap{
	    text-align: center;
}

.post-title{
	margin-bottom:2rem;
}

.post-content a{
	text-decoration: underline;
}

.post-date{
	margin-right:2rem;
}

.machine-spec th{
	    width: 0px;
	text-align: left;
}

.to-contact{
    background-color: #ff642c;
    padding: 1.5rem 4rem;
    font-weight: 700;
    border-radius: 25px;
    color: #fff;
    margin-top: 2rem;
    display: block;
    text-align: center;
}

.breadcrumb li{
    font-size: 1.4rem;
    font-weight: 100;
}

.contact_form_wrap{
	    margin: auto;
    max-width: 500px;
}

.contact_form_section{
	
}

.contact_form_lavel{
	padding: 1rem 1rem;
}

.contact_form_submit{
	
}

.wpcf7-submit:hover{
	opacity: 0.6;
  }

.entry-title{
	font-size: 4.5rem;
    text-align: center;
    padding: 5rem 3rem;
}

.contact_form_submit p{
	text-align: center;
}

.contact_form_lavel span{
	font-size: 1.6rem !important;
    font-weight: 700;
}

.header_pc-nav a{
	font-weight: 600;
}

.privacy-policy{
	text-decoration:underline;
}

.contact-wrap{
	display: flex;
}

.contact-info{
	width: 50%;
    margin-right: 5rem;
    padding: 1rem;
}

.contact-info-title{
	font-size: 2.5rem;
	line-height: 1.6;
    font-weight: 600;
    margin-bottom: 2rem;
}

.contact-info-attention li{
    font-size: 1.6rem;
    margin-bottom: 1rem;
}	

.contact-info-tel-text{
	font-weight: 700;
}

.contact-info-tel{
	padding: 2rem;
    border: 1px solid;
	text-align: center;	
}

.contact-info-tel-time{
	display: block;
}

.contact-info-tel-number{
	font-size: 2.5rem;
    text-align: center;
}

.contact-info-tel p{
	text-align: center;
    margin: 1rem;
    padding: 0;
}

@media only screen and (max-width: 741px){
	.contact-wrap{
		display: block;
	}
	.contact-info {
    width: 100%;
	}
}

.company_wrap{

}

.company_main_line{
	font-size: 3rem;
	letter-spacing: 2px;
    line-height: 1.5;
	margin: 1rem;
}

.company_sub_line{
	display: block;
    font-size: 2rem;
	font-weight: 100;

}

.company_images{
	display: flex;
}

.company_images img{
width: 30%;
    height: fit-content;
    margin: 1rem;
    height: 100%;
    max-height: 180px;
    object-fit: cover;
}

.company_vision{
	margin: 2rem;
}

.company_vision h2{
    font-size: 4rem;
    letter-spacing: 1px;
}

.company_vision p{
	font-size: 1.6rem;
    letter-spacing: 1px;	
}		

.item_section_wrap h2{
    padding: 2rem 2rem;
    background-color: #eaeaea;
    margin: 2rem 0;
	display: flex;
    vertical-align: middle;
}

.item_section_wrap h2>img{
	height: 35px;
    margin-right: 10px;
}

.item_anchor_navi ul{
    display: flex;
    margin: 1rem;
	flex-wrap: wrap;
}

.item_anchor_navi ul>li{
	margin: 1rem;
    font-size: 1.6rem;
    font-weight: 900;
    padding-bottom: 0;
    border-block-end: 1px solid;
	max-width: 200px;
}

.item_anchor_navi ul>li>a{
    font-weight: 900;
}

.item_machine{
	display:flex;
}

.item_machine img{
 max-width:35%;
}


@media only screen and (max-width: 741px){
	.company_images {
    display: block;
}
	.company_images img {
    width: auto;
    height: fit-content;
    margin: 1rem;
}
	.entry-title {
    font-size: 2.5rem;
    text-align: center;
    padding: 4rem 3rem;
    background-color: #eee;
}
	.company_sub_line {
    display: block;
    font-size: 1.6rem;
    font-weight: 100;
}
	.company_main_line {
    font-size: 2.1rem;
    letter-spacing: 1px;
    line-height: 1.5;
    margin: 1rem 0;
}
	.company_sub_line {
    margin-top: 1.2rem;
	}
	.company_images img {
width: 200px;
    height: 150px;
    object-fit: cover;
	}
	.company_images {
    display: block;
    text-align-last: center;
}
	.company_tr td{
		font-size: 14px;
	}
	.top-announce-explain h1{
		    font-size: 2.4rem;
	}
	.top-announce-wrap img{
		display:none;
	}
	.body-wrap-project{
/* 		margin: 0 2rem; */
		margin:auto;
	}
	.ex_img_wrap_re h3{
		    margin: 0;
	}
	.ex_img_wrap h3{
				    margin: 0;
	}
	.contact_line{
		margin:1rem auto;
}
	.contact_tel{
				margin:1rem auto;
	}
		.contact_mail{
				margin:1rem auto;
	}
	.item_machine img {
    max-width: 50%;
}
	.item-slider {
    width: 43%;
	}
	.item-list-wrap a {
		    margin: 1rem;
	}
}

.youtube__padding-top {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
.youtube__padding-top iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

/* チェックボックスを非表示にする */
.drawer_hidden {
  display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer_open {
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 100;/* 重なり順を一番上にする */
  cursor: pointer;
}

/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background: #333;
  transition: 0.5s;
  position: absolute;
}

/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before {
  bottom: 8px;
}

/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after {
  top: 8px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}
  
/* メニューのデザイン*/
.nav_content {
  width: 100%;
	height: 400px;
    position: fixed;
    padding: 7rem;
  top: 0;
  left: 100%; /* メニューを画面の外に飛ばす */
  z-index: 99;
  background: #fff;
  transition: .5s;
}

/* メニュー黒ポチを消す */
.nav_list {
  list-style: none;
}

/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .nav_content {
  left: 0;/* メニューを画面に入れる */
}

.case_table_dt{
	    width: 120px;
}

.case-list{
	    width: 45%;
	margin:1rem;
    text-align: center;
}

.case-list-wrap{
	display: flex;
	 flex-flow: wrap;
}

.case-list-wrap_title{
    font-size: 2rem;
    font-weight: 700;
    background-color: #000;
    color: #fff;
    padding: 0.5rem 2rem;
    margin-bottom: 2rem;
}

.case-link{
	    margin: auto;
    background-color: #ff632d;
    color: #fff;
    padding: 1.5rem 4rem;
    border-radius: 25px;
    font-weight: 600;
}

@media only screen and (max-width: 741px){
	.case-list-wrap{
	display: block;
	 flex-flow: wrap;
}
	.case-list{
	    width: 100%;
	margin:1rem;
}

}

.l-mainContent{
	    margin: 0 auto;
}

.p-breadcrumb__list {
    flex-wrap: wrap;
}
.single .p-breadcrumb__item:last-child>span.p-breadcrumb__text {
    display: block!important; 
    opacity: 1;
    white-space: pre-wrap;
}




.footer-wrap {
  background-color: #212121;
  width: 100%;
  height: auto;
  padding: 5rem 10rem;
  color: #fff;
}

.footer-navi-info{
  display: flex;
}

.footer-contacts{
  display: flex;
    height: fit-content;
}

.group-items a{
  color:#fff;
}



.footer-wrap {
  background-color: #212121;
  width: 100%;
  height: auto;
  padding: 5rem 10rem;
  color: #fff;
}

.footer-navi-info{
  display: flex;
}

.footer-contacts{
  display: flex;
    height: fit-content;
}

.group-items a{
  color:#fff;
}


.footer-navi-item-wrap{
  margin: 5rem 0;
}

.footer-navi{
  margin: 3rem 0;
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 3rem;
}

.group-items{
display: flex;
    flex-wrap: wrap;
    gap: 0.1rem 0.5rem;
    font-size: 1.4rem;
    margin-bottom: 2rem;
}

.footer-line{
  padding: 1rem 5rem;
  background-color: #02b902;
  color: #fff;
  margin: 2rem;
  font-weight: 700;
}

.footer-tel{
  padding: 1rem 5rem;
  background-color: #005377;
  color: #fff;
  margin: 2rem;
  font-weight: 700;
}

.footer-contact{
  padding: 1rem 5rem;
  background-color: #ff642d;
  color: #fff;
  margin: 2rem;
  font-weight: 700;
}

.group-items a::before {
  content: "/";
  margin-left: .5em;  
  margin-right: .5em;  
}
.group-items a:first-child::before {
  content: none;
}

.group-items a:nth-child(2)::before {
  content: none;
}

.footer-navi a{
  color: #fff;
}

.group-item-category{
  font-weight: bold;
}

.group-item-category::before {
  background-color: #fff;
  width: 16px;
  height: 20px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  margin-right: 1rem;
}

.all-rights-reserved-container{
  font-size: 1.2rem;
}

li {
	list-style: none;
}

@media only screen and (max-width: 741px){
	.footer-contacts{
		display:none;
	}
	.footer-wrap{
		    padding: 5rem 2rem;
	}
	.footer-navi{
		gap: 0.1rem 3rem;
	}
}

.youtube_shorts{
	  width: 315px !important; 
    height: 560px !important;
}
}