@charset "UTF-8";

/*--------------------------------------------------
**************************************************
  PC用
**************************************************
--------------------------------------------------*/
@media screen and (min-width: 768px) {
	
	
	/* 404 */
	.notfound {
		text-align:center;
		font-size:30px;
		margin-top:110px;
		font-weight:700;
		color:#0055b8;
	}
	.nf_text {
		margin-top:40px;
		text-align:center;
		font-size:18px;
	}
	.home_link {
		margin:40px 0 110px;
		text-align:center;
		font-size:18px;
	}
	.home_link a {
		text-decoration:underline;
	}
	
	/* sitemap */
	.sitemap_box {
		width:1080px;
		max-width:90%;
		margin:0 auto 150px;
		display:flex;
		justify-content:space-between;
	}
	.sitemap_box ul {
		width:46%;
	}
	.sitemap_box ul li a{
		padding:20px 0;
		display:block;
		font-size:16px;
		border-bottom: 1px solid #eaeaea;
	}
	
	/* privacy */
	.privacy_box {
		width:1080px;
		max-width:90%;
		margin:0 auto 150px;
	}
	.privacy_box > p {
		font-size:16px;
		line-height:2em;
	}
	.privacy_box dl dt {
		margin-top:50px;
		font-size:24px;
		font-weight:700;
	}
	.privacy_box dl dd {
		margin-top:30px;
		line-height:2em;
	}
	.privacy_box dl dd p.mini_title {
		margin-top:20px;
		font-size:18px;
		font-weight:500;
	}
	.privacy_box dl dd p.dd_text {
		margin-top:10px;
	}
	.privacy_box dl dd ul {
		margin:20px;
	}
	.privacy_box dl dd ul li {
		font-weight:500;
		margin:10px 20px;
		list-style:disc;
	}
	.privacy_box dl dd table {
		margin-top:20px;
		width:100%;
	}
	.privacy_box dl dd table th {
		text-align:left;
		padding:15px 0;
		font-weight:400;
		width:8em;
		border-bottom:1px solid #d5d5d5;
	}
	.privacy_box dl dd table td {
		padding:15px 0;
		border-bottom:1px solid #d5d5d5;
	}
	
	
	/* contact */
	.contact_box {
		width:1080px;
		max-width:90%;
		margin:30px auto 150px;
	}
	.contact_text01 {
		text-align:center;
		font-size:18px;
		font-weight:500;
		margin-bottom:25px;
	}
	.contact_catch {
		text-align:center;
		font-size:40px;
		font-weight:700;
		color:#0055B8;
		margin-bottom:15px;
	}
	.form_area {
		margin-top:60px;
		padding:80px;
		background:#F6F6F6;
		border-radius:20px;
	}
	.form_list {
		display:flex;
		justify-content:space-between;
		margin-bottom:40px;
		align-items:center;
	}
	.form_list.textarea {
		align-items:self-start;
	}
	.form_list.textarea .input_title {
		margin-top:10px;
	}
	.input_title {
		display:flex;
		justify-content:space-between;
		width:36%;
	}
	.input_title .name {
		font-size:18px;
		font-weight:500;
	}
	.input_title p.icon {
		font-size:14px;
		font-weight:500;
		background:#F83838;
		padding:0 8px;
		color:#FFF;
		border-radius:5px;
		height:24px;
	}
	.input_title p.icon.option {
		background:#0055B8;
	}
	.input_area {
		width:60%;
	}
	.input_area input[type="text"],
	.input_area select,
	.input_area input[type="email"],
	.input_area input[type="tel"]{
		width:100%;
		padding:12px;
		font-size:16px;
		border:1px solid #DEDEDE;
		border-radius:10px;
	}
	.input_area textarea {
		width:100%;
		padding:12px;
		font-size:16px;
		border:1px solid #DEDEDE;
		border-radius:10px;
	}
	input[type="checkbox"] {
		appearance: none;
		position: relative;
		width: 20px;
		height: 20px;
		border: 1px solid #aaaaaa;
		border-radius: 5px;
		cursor: pointer;
		top:4px;
		background:#FFF;
	}
	input[type="checkbox"]:checked::after {
		content: "";
		position: absolute;
		top: -4px;
		left: 4px;
		width: 20px;
		height: 10px;
		border-bottom: 3px solid #0055B8;
		border-left: 3px solid #0055B8;
		transform: rotate(-45deg);
	}
	.wpcf7-list-item {
		margin:0 30px 0 0;
	}
	.submit {
		font-family:'Zen Kaku Gothic new';
		background:#0055B8;
		color:#FFF;
		font-weight:500;
		width:400px;
		padding:15px 0;
		font-size:16px;
		border-radius:35px;
		margin-left:40%;
	}
	.submit:hover {
		cursor:pointer;
		background:#2976cf;
	}
	.back_top {
		margin-top:50px;
		text-align:center;
	}
	.back_top a {
		font-size:18px;
		font-weight:500;
		background:#0055B8;
		color:#FFF;
		padding:10px 50px;
		border-radius:35px;
	}
	.back_top a:hover {
		background:#2976cf;
	}
	
	
	
}/* End PC */



/*--------------------------------------------------
**************************************************
  SP用
**************************************************
--------------------------------------------------*/
@media screen and (max-width: 767px) {
	
	
	/* 404 */
	.notfound {
		text-align:center;
		font-size:6vw;
		margin-top:60px;
		font-weight:700;
		color:#0055b8;
	}
	.nf_text {
		margin-top:30px;
		text-align:center;
		font-size:4vw;
	}
	.home_link {
		margin:30px 0 60px;
		text-align:center;
		font-size:4vw;
	}
	.home_link a {
		text-decoration:underline;
	}
	
	/* sitemap */
	.sitemap_box {
		width:86%;
		margin:0 auto 80px;
	}
	.sitemap_box ul {
		width:100%;
	}
	.sitemap_box ul li a{
		padding:20px 0;
		display:block;
		font-size:4vw;
		border-bottom: 1px solid #eaeaea;
	}
	
	/* privacy */
	.privacy_box {
		width:86%;
		margin:0 auto 80px;
	}
	.privacy_box > p {
		font-size:4vw;
		line-height:2em;
	}
	.privacy_box dl dt {
		margin-top:40px;
		font-size:5vw;
		font-weight:700;
	}
	.privacy_box dl dd {
		margin-top:20px;
		line-height:2em;
		font-size:4vw;
	}
	.privacy_box dl dd p.mini_title {
		margin-top:20px;
		font-size:4.5vw;
		font-weight:500;
	}
	.privacy_box dl dd p.dd_text {
		margin-top:10px;
	}
	.privacy_box dl dd ul {
		margin:20px 0 20px 20px;
	}
	.privacy_box dl dd ul li {
		font-weight:500;
		margin:5px 0;
		list-style:disc;
		font-size:4vw;
	}
	.privacy_box dl dd table {
		margin-top:10px;
		width:100%;
	}
	.privacy_box dl dd table th {
		text-align:left;
		padding:15px 0;
		font-weight:400;
		width:5em;
		border-bottom:1px solid #d5d5d5;
		font-size:3.6vw;
		vertical-align:top;
	}
	.privacy_box dl dd table td {
		padding:15px 0;
		border-bottom:1px solid #d5d5d5;
		font-size:3.6vw;
	}
	
	
	
	/* contact */
	.contact_box {
		width:86%;
		margin:30px auto 60px;
	}
	.contact_text01 {
		text-align:center;
		font-size:3.6vw;
		font-weight:500;
		margin-bottom:20px;
		line-height:1.8em;
	}
	.contact_catch {
		text-align:center;
		font-size:6vw;
		font-weight:700;
		color:#0055B8;
		margin-bottom:10px;
	}
	.form_area {
		margin-top:50px;
	}
	.form_list {
		margin-bottom:30px;
	}
	.form_list.textarea .input_title {
		margin-top:10px;
	}
	.input_title {
		display:flex;
		justify-content:space-between;
		align-items:center;
	}
	.input_title .name {
		font-size:4vw;
		font-weight:500;
	}
	.input_title p.icon {
		font-size:3.4vw;
		font-weight:500;
		background:#F83838;
		padding:2px;
		color:#FFF;
		border-radius:5px;
		width:12vw;
		text-align:center;
	}
	.input_title p.icon.option {
		background:#0055B8;
	}
	.input_area {
		margin-top:20px;
	}
	.input_area input[type="text"],
	.input_area select,
	.input_area input[type="email"],
	.input_area input[type="tel"]{
		width:100%;
		padding:10px;
		font-size:16px;
		border:1px solid #DEDEDE;
		border-radius:10px;
	}
	.input_area textarea {
		width:100%;
		padding:10px;
		font-size:16px;
		border:1px solid #DEDEDE;
		border-radius:10px;
	}
	input[type="checkbox"] {
		appearance: none;
		position: relative;
		width: 20px;
		height: 20px;
		border: 1px solid #aaaaaa;
		border-radius: 5px;
		cursor: pointer;
		top:4px;
		background:#FFF;
	}
	input[type="checkbox"]:checked::after {
		content: "";
		position: absolute;
		top: -4px;
		left: 4px;
		width: 20px;
		height: 10px;
		border-bottom: 3px solid #0055B8;
		border-left: 3px solid #0055B8;
		transform: rotate(-45deg);
	}
	.wpcf7-list-item {
		margin:0 20px 0 0;
	}
	input[type="submit"].submit {
		font-family:'Zen Kaku Gothic new';
		background:#0055B8;
		color:#FFF;
		font-weight:500;
		width:100%;
		padding:15px 0;
		font-size:16px;
		border-radius:35px;
	}
	.back_top {
		margin-top:30px;
		text-align:center;
	}
	.back_top a {
		font-size:4.5vw;
		font-weight:500;
		background:#0055B8;
		color:#FFF;
		padding:10px 50px;
		border-radius:35px;
	}
	.back_top a:hover {
		background:#2976cf;
	}
	
	
	
}/* End SP */
