﻿@charset "utf-8";
/* CSS Document */

/*＝＝＝＝＝スタイルのリセット＝＝＝＝＝＝*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	font-family: "Hiragino Sans";
}
html {
    scroll-behavior: smooth;
}
main, article, aside, section, picture, header, footer {
    display: block;
}
body {
    font-family:'Lato', 'Hiragino sans', 'Meiryo', sans-serif;
    color: #333333;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 10%;
    padding: 0;
    margin: 0;
    list-style: none;
    counter-reset: number 0;
	overflow-x: hidden;
}
/*＝＝＝＝＝スタイルのリセット＝＝＝＝＝＝*/

.clearfix::after{
  content: "";
  display: block;
  clear: both;
}

body .wrapper .main_contents{
    width: 100%;
    max-width: 1280px;
    padding: 20px 0;
    margin: 0 auto;
    clear: both;
	box-sizing: border-box;
	display: flex;
    justify-content: center;
    flex-wrap: wrap;
}


body .wrapper .main_contents h3{
	border: 1px solid #0560b6;
    padding: 10px;
    border-radius: 5px;
    font-weight: 500;
	margin: 10px 0 10px;
	color:#0560b6;
}

body .wrapper h2 {
	display: block;
	padding: 5px 10px;
	color: #7054a1;
	margin:40px auto 10px;
	font-size: 120%;
	text-align: left;
	width: 100%;
	max-width: 1280px;
	border-bottom: 1px solid #7054a1;
	font-weight: 600;
}



body .wrapper h2 img{
	width: 140px;
    padding: 0 10px;
}

.main_contents .text{
	padding: 10px 0;
	line-height: 1.8;
} 
.main_contents .text span{
	color: #999999;
	font-size:14px;
}


.main_contents .procedure{
	width: 100%;
	display: flex;
    align-items: center;
	border-bottom: 1px dotted #ccc;
	padding: 15px 25px;
	align-items: flex-start;
	}

.main_contents div:nth-child(4).procedure{
	border-bottom: none;
	}

.main_contents .procedure .kakunin{
    display: flex;
    flex-direction: column;
    padding: 10px;
    box-sizing: border-box;
    width: 55%;
}
.main_contents .procedure .kakunin img{
    width: 100%;
	border: 1px solid #ccc;
	padding: 10px;
	}
.main_contents .procedure .text{
    width: 45%;
    padding: 10px;
	}

.main_contents .procedure .text em{
	color: #cc0000;
	display: block;
	font-size: 14px;
	}

.main_contents .procedure .kakunin em{
	color: #cc0000;
	display: block;
	padding: 10px 5px 5px;
	font-size: 12px;
	}


.main_contents .note{
	line-height: 1.8;
    padding: 10px 25px 10px;
    margin-bottom: 30px;
	font-size: 14px;
	width: 100%;
	}

.main_contents .note ul li{
	list-style: disc;
	}


/*-----------------------------*/
div.top_return{
	position: fixed;
    bottom: 16px;
    right: 16px;
	z-index: 999;
}
div.top_return a{
	display: block;
	text-decoration: none;
	background: #cc3333;
	padding: 15px;
	border-radius: 5px;
	color: #FFF;
	z-index: 0;
	opacity: 0.9;
    }

div.top_return:hover{
    opacity: 0.85 ;
}


/*-----------------------------*/
@media screen and (min-width:769px) { 
	/*　画面サイズが769px以上はここを読み込む　*/

	body .main_image{
		width:100%;
		text-align: center;
		background: #7054a1;
		font-size: 0;
	}

	.cpn{
		width: 960px;
    	margin: -20px auto 10px;
    	position: relative;
	}
	

	
	.sp_view{
		display: none;
	}


	
	
}
@media screen and (max-width:768px) { 
    /*　画面サイズが768px以下はここを読み込む　*/
	body{
		font-size: 16px;
	}
	
	/*-----------------------------*/

	body .main_image img{
		width: 100%;
	}
	body .main_image p{
		color: #27449a;
		padding: 10px;
		text-align: left;
		font-weight: 400;
	}
	body .wrapper h2{
		font-size: 20px;
		text-align: left;
		margin-bottom:0;
	}

	body .wrapper .main_contents{
		width: 100%;
		padding: 0px 0 0 !important;
	}

	.main_contents .text{
		font-size:14px;
		padding: 10px 0;
		text-align: left;
		line-height: 1.8;
		} 
.main_contents .procedure{
	width: 100%;
	padding: 0;
	margin: 5px;
	display: block;
	}
.main_contents .procedure .kakunin{
    display: block;
    margin-bottom: 0;
    width: 100%;
}

.main_contents .procedure .text{
    width: 100%;
    padding: 0 10px 15px;
	}
	.cpn{
		margin:10px 10px 0;
		box-sizing: border-box;
	}

	body .wrapper h2{
		margin-top: 10px;
		
	}
	body .wrapper h2 img{
		width: 80px;
	}
	body .wrapper h2 span.name{
		font-size: 140%;
		padding: 0;
	}
	
		body .wrapper h2 span.name span.intro{
	    font-size: 40%;
	}
	
	.messeage_box{
		margin: 10px;
	}
	
	/*-----------------------------*/
	
	.pc_view{
		display: none;
	}
}
