@charset "UTF-8";
/*Theme Name: ONE WORLD*/
/*-----------------------------------------
default
-----------------------------------------*/
* {
	margin: 0;
	padding: 0;
}
html {
	font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif;
	color: black;
	font-size: 14px;
	line-height: 1.8;
}
.font-en{
	font-family: "Outfit", sans-serif;
}
a {
	color: black;
	text-decoration: none;
}
a:hover {
	text-decoration: none;
}
li {
	list-style-type: none;
}
p, th, td, li, dt, dd {
	line-height: 1.8;
	font-size: 14px;
}
tbody {
    -webkit-text-size-adjust: 100%;
} 
img {
	width:100%;
	border: none;
	vertical-align: bottom;
}
/*-----------------------------------------
header
-----------------------------------------*/
.wrapper header {
    z-index: 9999;
    position: fixed;
    background: white;
    width: 100%;
}
.wrapper header .header_inner{
	width: 95%;
	max-width:1200px;
	margin:0 auto;
	position: relative;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.wrapper header .header_inner h1 {
    font-size: 10px;
    color: #6E86B1;
    font-weight: 400;
    margin: 0;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
p.wrapper header .header_inner .logo {
    position: relative;
    z-index: 1;
}
.wrapper header .header_inner img{
    height: 40px;
	width:auto;
}
.wrapper header .menu_pc {
    width: 100%;
    background: #073485;
    clear: both;
}
.wrapper header .menu_pc ul{
    width: 100%;
	display: flex;
    background: #073485;
}
.wrapper header .menu_pc ul li {
    width: 25%;
    border-right: 1px solid #2656AD;
}
.wrapper header .menu_pc ul li:first-child {
    border-left: 1px solid #2656AD;
}
.wrapper header .menu_pc ul li a {
    display: block;
    color: white;
	text-align: center;
	line-height: 1.2;
	padding: 5px 0;
}
.wrapper header .menu_pc ul li a:hover {
    background: #002871;
}
.wrapper header .menu_pc ul li a span{
	font-size: 10px;
	color:#95B2E5;
}
/*-----------------------------------------
footer
-----------------------------------------*/
p#pageTop {
	clear:both;
	text-align:right;
	margin:0 auto;
	width: 95%;
	max-width:1200px;
}
p#pageTop img{
	width:auto;
}
.wrapper footer {
    width: 100%;
    background: #073485;
	padding:20px 0;
}
.wrapper footer .footer_inner{
	width:95%;
	max-width:1200px;
	margin: 0 auto;
	color:white;
}
.wrapper footer .footer_inner p.copy {
	font-size:12px;
	margin-top:5px;
}
/*-----------------------------------------
common
-----------------------------------------*/
.center{
	text-align: center;
}
.wrapper {
	width: 100%;
	height: auto;
	position:relative;
	overflow: hidden;
}
.wrapper main {
	padding-top:100px;
}
.wrapper article {
	width: 100%;
	margin: 0 auto;
}
.wrapper section {
	width: 100%;
	overflow: hidden;
	margin: 70px 0;
}
.error404 .wrapper section:first-child {
	margin: 80px 0;
}
.wrapper section .section_inner {
	width: 95%;
	max-width:1200px;
	margin:0 auto;
}
.wrapper section:first-child{
	margin-top:0;
}
.wrapper section h2 {
    width: 100%;
    border-bottom: 2px solid #333;
    font-weight: 400;
    font-size: 28px;
    margin: 0 0 40px;
    clear: both;
    line-height: 1.5;
    letter-spacing: 3px;
}
.wrapper section h3 {
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 30px;
	line-height: 1.7;
	color:#073485;
}
.wrapper section h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;
    margin-top: 25px;
    line-height: 1.7;
    color: #073485;
}
.wrapper section div.btn {
    display: block;
    margin-top: 15px;
}
.wrapper section div.btn a {
    display: inline-block;
    background: lightblue;
    padding: 10px 10px 12px;
    width: 210px;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    box-sizing: border-box;
}
.wrapper section div.btn a:hover{
    background:#333;
	color:white;
	transition-duration:　1s;
}
/*-----------------------------------------
breadcrumb
-----------------------------------------*/
.page section p.breadcrumb{
	font-size:12px;
	margin: 10px 0;
}
/*-----------------------------------------
page-index
-----------------------------------------*/
/*------mainimg------*/
.home .wrapper section.mainimg {
	position: relative;
    width: 100%;
    margin: 0 auto;
}
.home section.mainimg img{
	width:100%;
	height: 500px;
	object-fit: cover;
}
.home section.mainimg p.catch {
    position: absolute;
    top: 60px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 50px;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    z-index: 2;
    text-shadow: 0 0 8px rgba(0, 0, 0, 0.4);
    width: 100%;
	letter-spacing: 2px;
}
/*------service------*/
.home .wrapper section.service{
	background: #f5f5f5;
	padding:60px 0;
}
.home .wrapper section.service ul{
	display: flex;
	flex-wrap: wrap;
	gap:30px 2%;
	margin-top: 40px;
}
.home .wrapper section.service ul li{
	width: 32%;
}
.home .wrapper section.service ul li p.title{
	margin:10px 0 3px;
	font-size:20px;
	font-weight: 600;
}
.home .wrapper section.service ul li{
	width: 32%;
}
/*------company------*/
.wrapper section.company table {
    margin: 0 0 1em;
    border-collapse: collapse;
    width: 100%;
}
.wrapper section.company table th {
	vertical-align: top;
	border: 1px solid #999999;
	padding: 11px;
	background-color:#f5f5f5;
	text-align: left;
}
.wrapper section.company table td {
	vertical-align: top;
	border: 1px solid #999999;
	padding: 11px;
	background-color:#ffffff;
}
/*------contact------*/
.home .wrapper section.contact .bg_gray {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #f4f4f4;
    max-width: 700px;
    border-radius: 10px;
    margin: 0 auto 48px;
    padding: 20px 0;
}
.home .wrapper section.contact .bg_gray p {
    margin: 20px 0;
}
.home .wrapper section.contact .bg_gray .text_right {
    margin-left: 40px;
    padding-left: 100px;
    border-left: 1px solid #d8d8d8;
    position: relative;
}
.home .wrapper section.contact .bg_gray .text_right::after {
    content: "";
    display: block;
    background: url(images/icon_tel.svg) no-repeat;
    width: 32px;
    height: 32px;
    position: absolute;
    left: 60px;
    top: 18px;
}
.home .wrapper section.contact .bg_gray .text_right p a:hover {
    text-decoration: none;
}
.home .wrapper section.contact table.form {
    width: 800px;
    max-width: 100%;
    margin: 0 auto 40px;
}
.home .wrapper section.contact table.form p {
    margin: 0;
}
.home .wrapper section.contact table.form tr {
    border-bottom: 1px solid #d9d9d9;
}
.home .wrapper section.contact table.form tr th {
    padding: 15px 0;
    box-sizing: border-box;
    font-weight: 500;
    text-align: left;
    width: 250px;
    vertical-align: middle;
}
.home .wrapper section.contact table.form tr th span {
    font-size: 12px;
    color: #fff;
    padding: 0 5px 1px;
    margin-left: 10px;
    background: #073485;
    border-radius: 3px;
}
.home .wrapper section.contact table.form tr td {
    padding: 15px 0 15px 15px;
    box-sizing: border-box;
}
.home .wrapper section.contact table.form tr td.block .wpcf7-list-item {
    display: block !important;
}
.home .wrapper section.contact p a.border {
    text-decoration: underline;
}
.home .wrapper section.contact p a.border:hover {
    text-decoration: none;
}
.home .wrapper section.contact p.input {
    margin-top: 48px;
}
input[type="checkbox"],
input[type="radio"] {
    vertical-align: middle;
    margin-right: 5px;
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
    padding: 10px 20px;
    margin-bottom: 2px;
    width: 100%;
    background: #f5f5f5;
    border: none;
	box-sizing: border-box;
}
input[type="submit"] {
    display: block;
    -webkit-appearance: none;
    width: 300px;
    background: #073485;
    color: white;
    text-align: center;
    border: none;
    font-weight: 500;
    padding: 10px 20px;
    transition: 0.1s linear all;
    margin: 0 auto;
    border-radius: 32px;
	font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif;
}
input[type="submit"]:disabled {
    background: #ccc;
}
input[type="submit"]:hover {
    background: #002871;
}
input[type="submit"]:disabled:hover {
    background: #ccc;
}
/*------privacy------*/
.home .wrapper section.privacy p.add{
	margin-top:40px;
}
/*-----------------------------------------
responsive
-----------------------------------------*/
.pc{ display:inline-block; }
.pcbr{ display:inline-block; }
.sp{ display:none; }
.spbr{ display:none; }
.menu_sp{ display:none; }
.tabon{ display:none; }

@media screen and (max-width: 896px) {
	.tabon{ display:inline-block; }
	
	.center.spleft{
		text-align: left;
	}
	.wrapper section h3 {
		font-size: 20px;
	}
	.home section.mainimg img {
		height: 320px;
	}
	.home section.mainimg p.catch {
		font-size: 40px;
	}
}
@media screen and (max-width: 640px) {
	.pc{ display:none; }
	.pcbr{ display:none; }
	.sp{ display:inline-block; }
	.spbr{ display:inline-block; }
	.menu_sp{ display:inline-block; }
	.tabon{ display:none; }
	
	.wrapper header{
	height: 58px;
	padding-bottom: 7px;
	}
	.wrapper header .header_inner {
	justify-content: left;
	height: 58px;
	align-items: end;
    }
	.wrapper header .header_inner h1 {
    left: 0;
    top: 12px;
	}
	.wrapper header .header_inner img {
    height: 35px;
	}
	.wrapper header .menu_pc {
    display: none;
	}
	.wrapper .menu_sp .header_btn {
    position: fixed;
    top: 20px;
    right: 18px;
    width: 30px;
    height: 27px;
    z-index: 9999;
	}
	.menu__line {
	background:#333;
	display: block;
	height: 3px;
	position: absolute;
	transition: transform .3s;
	width: 100%;
	}
	.menu__line--center {
	top: 12px;
	}
	.menu__line--bottom {
	bottom: 0;
	}
	.menu__line--top.active {
    top: 11px;
    transform: rotate(45deg);
	}
	.menu__line--center.active {
	transform: scaleX(0);
	}
	.menu__line--bottom.active {
	bottom: 13px;
	transform: rotate(135deg);
	}
	.wrapper .menu_sp .spmenu{
	width:70%;
	position:fixed;
	z-index:9999;
	left:-70%;
	top:0;
	background-color:rgba(255,255,255,0.98);
	overflow:auto;
	height:100%;
	margin:0;
	}
	.wrapper .menu_sp .spmenu li{
	width:100%;
	border-bottom:1px dotted #ddd;
	font-size:14px;
	overflow:hidden;
	}
	.wrapper .menu_sp .spmenu li:first-child{
	line-height:1em;
	padding:10px 0;
	width:100%;
	text-align:center;
	}
	.wrapper .menu_sp .spmenu li a{
	color:#222;
	display:block;
	font-size:12px;
	padding:10px 0 10px 15px;
	}
	.wrapper .menu_sp .spmenu li:first-child a{
	padding:10px 0 10px 0;
	}
	.wrapper .menu_sp .spmenu li a img{
	max-width:85%;
	}
	.wrapper .menu_sp .spmenu li a span{
    font-size: 11px;
	color:gray;
	margin-left:1em;
	}
	.wrapper main {
    padding-top: 65px;
	}
	.home section.mainimg p.catch {
	font-size: 35px;
	line-height: 1.5;
    }
	.home .wrapper .mainimg img {
    width: 100%;
    height: auto;
	}
	.wrapper section.company table th,
	.wrapper section.company table td {
	border:none;
	display: block;
	padding: 7px 10px;
	}
	.home .wrapper section.service ul li {
    width: 270px;
	}
	.home .wrapper section.service ul {
    justify-content: center;
	}
	.home .wrapper section.contact table.form input[type="text"],
    .home .wrapper section.contact table.form input[type="email"],
    .home .wrapper section.contact table.form input[type="tel"],
    .home .wrapper section.contact table.form textarea {
        width: 98%;
        box-sizing: border-box;
    }
	.home .wrapper section.contact table.form {
        width: 100%;
        max-width: 100%;
    }
	.home .wrapper section.contact table.form tr th,
	.home .wrapper section.contact table.form tr td{
    display: block;
	}
	.home .wrapper section.contact table.form tr td {
    padding: 0px 0 15px 0px;
	}
}