@media screen and ( max-width:480px ){
	/* 表示領域が480px未満の場合に適用するスタイル */
*,
*::before,
*::after {
  box-sizing: border-box;
}
pre { overflow: auto;
    word-wrap: break-word; }

.sp{
	display:-webkit-box;	
}
body * {
    box-sizing : border-box;
  }
html{
    overflow-x: hidden;
	overflow-y: scroll;
}
body{
	line-height:180%;
	width: 100%;
	-webkit-text-size-adjust: 100%;
	min-width: 100%;
	max-width:100%;
	box-sizing:border-box;
	font-family: "Noto Sans Japanese", 'Century Gothic', CenturyGothic, arial, helvetica, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', meiryo, '游ゴシック Medium', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 16px;
    overflow-x: hidden;
	overflow-y: scroll;
    position: relative;
    color: #323232;
	margin:0;
	padding:0;
}

header{
	overflow-x: hidden;
	width:100%;
    box-sizing : border-box;
}
main{
	overflow-x: hidden;
	width:100%;
    box-sizing : border-box;
}

iframe { 
	width : 100%!important; 
	max-width: 100%!important; 
}

div {
	max-width: 100%;
	height: auto;
}

section {
    overflow-x: hidden;
    margin: 0px 0px 0px 0px;
    width: 100%;
    box-sizing : border-box;
}

img{
	height:auto;
	max-width : 100% ;
	float : none ;
}


p {
font-size : 110% ;
margin : 0;
line-height : 1.7 ; }

h2 {
font-size : 75% ;
}


.pc{
	display:none;	
}

.tittle_p {
    margin: 1em;
    display: none;
}

.hamburger {
    margin: 0px auto 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.logo {
    font-size: 40px;
    font-weight: 700;
}

.hamburger .btn-gNav {
    position: fixed;
    top: 37px;
    left: 84%;
    width: 30px;
    height: 24px;
    z-index: 12;
    box-sizing: border-box;
    cursor: pointer;
    -webkit-transition: all 400ms;
    transition: all 400ms;
    z-index: 999999999999999999999999999;
}

.hamburger .btn-gNav span {
    position: absolute;
    width: 100%;
    height: 4px;
    background: #000000;
    border-radius: 10px;
    -webkit-transition: all 400ms;
    transition: all 400ms;
}

.hamburger .btn-gNav span:nth-child(1) {
    top: 0;
}

.hamburger .btn-gNav span:nth-child(2) {
    top: 10px;
}

.hamburger .btn-gNav span:nth-child(3) {
    top: 20px;
}

.hamburger .btn-gNav.open span:nth-child(1) {
    background: #ffffff;
    top: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.hamburger .btn-gNav.open span:nth-child(2),
.hamburger .btn-gNav.open span:nth-child(3) {
    top: 6px;
    background: #ffffff;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}


.btn-gNav {
    display: none;
}

.gNav .gNav-menu {
    display: flex;
    justify-content: space-between;
}

.gNav .gNav-menu li {
    margin: 0 auto;
    padding: 0 5px;
}

@media screen and (max-width: 600px) {
    .btn-gNav {
        display: block;
    }

    .gNav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100%;
        background-color: rgb(0 103 180);
        font-size: 16px;
        box-sizing: border-box;
        z-index: 1;
        padding-top: 100px;
        transition: .3s;
    }

    .gNav.open {
        right: 0;
    }

    .gNav .gNav-menu {
        padding: 0;
        width: 100%;
        height: 100%;
        display: block;
        flex-direction: column;
        text-align: center;
        /*justify-content: center;*/
    }

    .gNav .gNav-menu li {
        width: 100%;
        padding: 15px 0;
        border-bottom: #525252 1px solid;
    }

.gNav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100%;
    background-color: rgb(0 103 180);
    font-size: 16px;
    box-sizing: border-box;
    z-index: 1;
    padding-top: 50px;
    transition: .3s;
}

.gNav.open {
    right: 0;
    z-index: 999999999;
}

}
.header_wrap {
    position: fixed;
    width: 100%;
    background-color: #fff;
    z-index: 999999;
    box-shadow: 0px -23px 42px 0px #050505;
}

.swiper-wrapper{
    top: 88px;
    height: 285px !important;
}
.maincontents p {
    padding: 0 1em !important;
}
.service .top_01 .maincontents .h2tittle_01 {
    padding: 2em 1em 0em 1em;
}
.maincontents {
    padding: 3em 1em;
}
.top_02 .bana ul {
    display: grid;
}
.bana {
    padding: 1em;
    box-sizing: border-box;
}
.bana2 {
    display: flex !important;
    flex-wrap: wrap !important;
}
.bana2 li{
    width: 45% !important;
    box-sizing: border-box;
}
.top_02 .news_contents {
    display: block;
}
.top_02 .news_contents .news {
    width: 100%;
    margin-right: 0;
    padding: 1em;
}.top_02 .news .bottom_g {
    padding: 1em 2em;
}
.news .bottom_g p{
    text-align: center;
}
.top_03 h3 {
    margin: 0 auto 0 1em;
    width: 100%;
    box-sizing: border-box;
}
.top_03 .swiper2 {
    margin-bottom: 2em;
}
.top_03 .swiper {
    top: -50px;
}
.top_04 ul li {
    width: 33%;
    padding-right: 3%;
    padding-bottom: 8px;
    box-sizing: border-box;
}
.top_04 ul {
    margin-left: 4%;
}
.footer_top img{
    width: 50%;
    margin: 0 auto;
}
footer nav{
    display: none;
}
footer .coopyright p {
    text-align: center !important;
    font-size: 0.5em;
}
.h2tittle_01{
    font-size: 3em;
    width: 100%;
    box-sizing: border-box;
}
.swiper-service a {
    padding: 0;
    font-size: 0.8em;
}
.service_contents {
    display: block;
}
.top_02 p br {
    display: none;
}
.service_contents div {
    width: 100%;
}
.service_kuwasiku {
    bottom: -115px;
    position: absolute;
}
.service_contents {
    margin-bottom: 9em;
}
.case .top_01 .maincontents .h2tittle_01 {
    padding: 2em 1em 0em 1em;
}
.products .top_01 .maincontents .h2tittle_01 {
    padding: 2em 1em 0em 1em;
}
.prpducts ul {
    display: flex;
    flex-wrap: wrap;
}
.prpducts a {
    width: calc(200% / 4);
}
.prpducts ul li img {
    width: 76%;
    margin: 1em;
    box-sizing: border-box;
}
.profile .top_01 .maincontents .h2tittle_01 {
    padding: 2em 1em 0em 1em;
}
.name {
    position: absolute;
    right: 0;
    font-size: 1.5em !important;
    margin-top: 1em;
}
.event .top_01 .maincontents .h2tittle_01 {
    padding: 2em 1em 0em 1em;
}
.event .top_01 .maincontents .h2tittle_01 span {
    margin-top: 1em;
}
.event figure.wp-block-image.size-full {
    width: 100%;
    margin: 0;
    padding: 0;
}
.event ul{
    list-style-type: none;
    padding: 0;
}
.event figure.wp-block-image.size-full img{
    width: 100%;
}
h1.wp-block-post-title.has-x-large-font-size {
    padding-top: 100px;
}
}