@charset "utf-8";

/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/
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;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section{
display: block;
}
body{
line-height: 1;
}
ol, ul{
list-style: none;
}
blockquote, q{
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after{
content: '';
content: none;
}
table{
border-collapse: collapse;
border-spacing: 0;
}
/*!
 * ress.css 窶｢ v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */

/* # =================================================================
   # Global selectors
   # ================================================================= */

html {
  box-sizing: border-box;
  overflow-y: scroll; /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
}

*,
::before,
::after{
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after{
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */

/* Add the correct display in iOS 4-7.*/
audio:not([controls]){
  display: none;
  height: 0;
}

hr {
  overflow: visible; /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary{
  display: block;
}

summary{
  display: list-item; /* Add the correct display in all browsers */
}

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden],
template{
  display: none; /* Add the correct display in IE */
}

abbr[title]{
  border-bottom: 1px dotted; /* Add a bordered underline effect in all browsers */
  text-decoration: none; /* Remove text decoration in Firefox 40+ */
}

a{
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects; /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover{
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp{
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

b,
strong{
  font-weight: bolder; /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic; /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark{
  background-color: #ff0;
  color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup{
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub{
  bottom: -0.25em;
}

sup{
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */

input{
  border-radius: 0;
}

/* Apply cursor pointer to button elements */
button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"]{
  cursor: pointer;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type="number"]{
  width: auto; /* Firefox 36+ */
}

[type="search"]{
  -webkit-appearance: textfield; /* Safari 8+ */
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; /* Safari 8 */
}

textarea{
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea{
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup{
  font-weight: bold; /* Restore the font weight unset by the previous rule. */
}

button{
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner{
  border-style: 0;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner{
  outline: 1px dotted ButtonText;
}

button,
html [type="button"], /* Prevent a WebKit bug where (2) destroys native `audio` and `video`controls in Android 4 */
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

button,
select{
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea{
  background-color: transparent;
  border-style: none;
  color: inherit;
}

/* Style select like a standard input */
select{
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value{
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button{
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

[type="search"]{
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct the outline style in Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */

img{
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress{
  vertical-align: baseline;
}

svg:not(:root){
  overflow: hidden; /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block; /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Accessibility
   # ================================================================= */

/* Hide content from screens but not screenreaders */
@media screen{
  [hidden~="screen"] {
    display: inherit;
  }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */

/* Specify text selection background color and omit drop shadow */

::-moz-selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

/*==================================
common
==================================*/

html{
	font-size:62.5%;
	}
	 
body{
	font-family: 'Noto Serif JP', sans-serif;
	color: #333;
	font-size:1.6rem;
	font-size:16px;
	font-weight: 400;
	line-height:2.0;
	background:#fff;
	-webkit-text-size-adjust: none;
	word-wrap: break-word;
	overflow-wrap: break-word;
	word-break: break-all;
	}
img {vertical-align: bottom;}
/* a
----------------------------------*/
a{
	text-decoration:inherit;
	color:#FF6E00;
	-webkit-transition: 0.2s ease-in-out;
       -moz-transition: 0.2s ease-in-out;
         -o-transition: 0.2s ease-in-out;
            transition: 0.2s ease-in-out;
	}

a:hover{
	opacity: 0.7;
    filter: alpha(opacity=70);
}
a.link_bd {
	text-decoration: none;
	border-bottom: 1px solid #2C4A87;
	padding-bottom: 2px;
}
a.link_bd:hover {
	border:none;
}
a.link_bg{
	display: inline-block;
	margin: 8px 0 0 0;
	color: #fff;
	padding: 0 16px;
	background-color: #1c2746;
	border-radius: 50px;
}


/* heading 
----------------------------------*/
h1, h2, h3, h4, h5, h6{ font-weight: 500; line-height: 1.6;}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a{ color: inherit; text-decoration: none;}

.heading{
	font-size: 3.2rem;
	letter-spacing: 0.1em;
	text-align: center;
	position: relative;
	line-height: 1;
	margin-bottom: 80px;
}
.heading::after{
	content: "";
	display: block;
	margin: 0 8px 0 0;
	top: 16px;
	left: 50%;
	transform: translateX(-50%);
	-webkit- translateX(-50%);
	position: relative;
	width: 150px;
	border-top: #6A6DA4 8px solid;
	border-radius: 50px;
}
.cate_ttl{
	font-size: 3.2rem;
	font-weight: 700;
	color: #6F5384;
	border-bottom: 1px solid #333;
	margin-bottom: 16px;
	padding-bottom: 4px;
}
.cate_ttl span{
	border-bottom: 7px solid #6F5384;
	display: inline-block;
	margin-bottom: -8px;
	padding-bottom: 4px;
}
.item_ttl{
	font-size: 2.0rem;
	border-bottom: 1px solid #333;
	margin-bottom: 16px;
	padding-bottom: 4px;
}
.dtlinfo_ttl{
	display: block;
	padding: .5em .75em;
	background-color: #AA93BB;
	border-left: 6px solid #6F5384;
	color: #fff;
}
/* float
----------------------------------*/
.fL{float:left;}
.fR{float:right;}

/* clearfix
----------------------------------*/
.clearfix:after{
  content:"."; 
  display:block; 
  height:0; 
  font-size:0;	
  clear:both; 
	visibility:hidden;
	}

.clearfix{ display:inline-block;}
 
/* Hides from IE Mac */
* html .clearfix{	height:1%;}
.clearfix{ display:block;}

/* fade
----------------------------------*/
.fade{
    -webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
	}
.fade:hover { opacity: 0.7; filter: alpha(opacity=70);} 

/* ----------------------------------
INNER
---------------------------------- */
.inner{ width: 1200px; margin: 0 auto;}
.inner2{ width: 800px; margin: 0 auto;}
.inner3{ width: 1140px; margin: 0 auto;}
	@media only screen and (max-width: 1200px) {
		.inner,
		.inner2,
		.inner3{ width: 100%; margin: 0 auto; padding: 0 24px;}
	}

/* ----------------------------------
HEADER
---------------------------------- */
header{
	width: 100%;
	background-image:url(../img/key_bg.jpg);
	background-repeat:no-repeat;
	background-position: center;
	-moz-background-size:cover;
	background-size: cover;
	text-align: center;
}
.key-wrap{
	position: relative;
	margin: 0 auto;
	width: 1285px;
}

.text_logo {
	position: absolute;
	right: 60px;
	top: 40px;
	color: #000;
	font-size: 2.0rem;
	font-weight: 700;
}
.key_contact {
	position: absolute;
	right: 60px;
	bottom: 40px;
}
.key_contact img {
	display: block;
}
.key_contact img:first-child {
	margin-bottom: 16px;
}
	@media only screen and (max-width: 1285px) {
		.key-wrap{ width: 100%;}
		.key-wrap h1 img{ width: 100%;}
		.text_logo{right: 40px;}
		.key_contact{right: 40px;}
	}

.container{ 
	width: 100%;
	margin: 0 auto;
	min-width: 1200px;
	overflow: hidden;
}
	@media only screen and (max-width: 1200px) {
		.container { 
			min-width: 100%;
			width: 100%;
		}	
	}
.pcon{ display: block;}
.smpon{ display: none;}
.bg01{background: #E7E6F3;}
.bg02{background: #DEDFEB;}
.bg03{background: #EEE4F3;}
.bg04{background: #EEE4F3;}
/* ----------------------------------
INDEX - TOP PAGE -
---------------------------------- */
.sec40_0{
	padding: 40px 0 0;
}
.sec80{
	padding: 80px 0;
}
.sec100{
	padding: 100px 0;
}
.sec100_20{
	padding: 100px 0 20px;
}
.col2{
	width: 100%;
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.col2 li{
	position: relative;
	width: 48%;
	margin-bottom: 80px;
}
.col2.col-style01 li:first-child{
	width: 28%;
}
.col2.col-style01 li:last-child{
	width: 70%;
}
.col4{
	width: 100%;
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.col4 li{
	position: relative;
	width: 23%;
}
.col5{
	width: 100%;
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
}
.col5 li{
	position: relative;
	width: 19%;
}
.ul_cen{
	display: flex;
    align-items: center;
    flex-direction: column;
}
.popular p{
	background-color: rgba(144, 137, 126,0.8);
	display: block;
	font-size: 1.8rem;
	text-align: center;
	width: 100%;
	line-height: 1.2;
}
.popular li span{
	height:56px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.popular a,
.categori a{
	color: #fff;
}
.categori li{
	margin-bottom: 40px;
}
.popular li img,
.categori li img{
	width: 100%;
}
.categori span{
	background-color: rgba(115, 119, 170, 0.8);
	display: block;
	font-size: 1.8rem;
	text-align: center;
	width: 100%;
	line-height: 1.2;
	height:56px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.flow{
	margin-bottom: 40px;
}
.flow li{
	border: 5px solid #A691B0;
	text-align: center;
	padding: 64px 16px 40px;
	position: relative;
}
.flow img{
	max-width: 100%;
}
.flow p{
	font-size: 1.8rem;
	margin-top: 16px;
	line-height: 1.6;
}
.flow span{
	background: #A691B0;
	display: inline-block;
	color: #fff;
	font-size: 2.8rem;
	padding: 12px 24px 18px;
	position: absolute;
	line-height: 1;
	left: 0;
	top: 0;
	
}
.funyu li{
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 40px;
}
.funyu li div:first-child{
	width: 49%;
}
.funyu li div:last-child{
	width: 48%;
}
.funyu li div:last-child span{
	display: block;
	border-bottom: 1px solid #333;
	font-family:YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	font-size: 2.4rem;
}
.funyu li div:last-child p{
	font-size: 1.8rem;
	margin-top: 8px;
}
.funyu img{
	width: 100%;
}
.itemarea01{
	text-align: center;
}
.itemarea01 img{
	margin-bottom: 16px;
}
.itemarea01 h4{
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 16px;
}
.itemarea01 .item_dtl,
.itemarea02 .item_dtl{
	margin-right: 16px;
}
.itemarea01 .item_dtl,
.itemarea01 .item_dtl_blk{
	margin-bottom: 24px;
}
.itemarea01 .item_dtl span,
.itemarea01 .item_dtl_blk span,
.itemarea02 .item_dtl span,
.itemarea02 .item_dtl_blk span{
	background-color: #9785B6;
	color: #fff;
	display: inline-block;
	line-height: 1.4;
	padding: 0 8px;
	margin-right: 8px;
}
.itemarea01 .item_dtl_blk,
.itemarea02 .item_dtl_blk{
	display: block;
}
.itemarea01 .note,
.itemarea02 .note{
	font-size: 1.4rem;
	text-align: left;
	margin-top: 16px;
}
.itemarea01 table,
.itemarea02 table{
	width: 100%;
	text-align: left;
}
thead tr th,
.itemarea01 td,
.itemarea02 td{
	padding: 0 16px;
}
tbody tr:nth-child(odd){
	background-color: #fff;
}
tbody tr:nth-child(even){
	background-color: #EDEDED;
}
thead tr th:last-child,
tbody tr td:last-child{
	text-align: right;
}
thead tr th:last-child{
	text-align: right;
	padding-right: 0;
}
ul.itemarea02{
}
.itemarea02 li img{
	width: 100%;
}
.itemarea02 li p{
	display: inline-block;
}
.itemarea02 li p:first-child{
	margin-right: 24px;
}
.itemarea02 h4{
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 16px;
}
.ai-cen{
	align-items: center;
}
.contact_tel{
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 24px;
}
.contact_tel li:first-child{
	line-height: 1.4;
	text-align: left;
	margin-right: 24px;
}
.contact_tel-text{
	font-size: 1.4rem;
}
table.tokusho{
	width: 100%;
}
table.tokusho{
	padding: 0 24px;
}
table.tokusho tr{
	background:none;
	border-bottom: 1px solid #ccc;
}
table.tokusho th{
	line-height: 40px;
	width: 30%;
	text-align: left;
	font-weight: 700;
}
table.tokusho td{
	width: 70%;
	padding: 24px 0;
}
table.tokusho td:last-child{
	text-align: left;
}
/*==================================
formarea
==================================*/
#formarea {
	padding: 80px 0 100px 0;
}
#formarea #confirmtxt{
	padding-bottom:80px;
	text-align: center;
}
#formarea #confirmtxt p{
	font-size:2.4rem;
	font-weight: 700;
	margin-bottom:3px;
}
#formarea .title{
	margin: 0 0 40px 0;
	padding: 16px;
	background-color: #d6dbea;
	font-size: 2.4rem;
	font-weight: 700;
}
#formarea .inner2 > ul > li{
	margin:20px 0;
	padding:0 0 20px 0;
	border-bottom: 1px solid #ccc;
	}
#formarea ul li .formq{
	width:33%;
	font-weight: 700;
	display:inline-block;
	vertical-align:middle;
	padding:0 50px;
}
#formarea ul li .hissu{
	background:url(../img/hissu.png) no-repeat 0% center;
}
#formarea ul li .forma{
	width:66%;
	display:inline-block;
	vertical-align:middle;
}
#formarea ul li .forma span{
	color: #ff0000;
}
#formarea ul li .forma input,
#formarea ul li .forma textarea,
#formarea ul li .forma select{
	margin: 8px 0;
	padding:16px;
	background: #eee;
	border-radius:4px;
	-webkit-border-radius:4px;  
	-moz-border-radius:4px;  
}
#formarea ul li .forma input:focus ,
#formarea ul li .forma textarea:focus {
	border:solid 1px #006590;
	}
#formarea .protect{
	border:1px solid #ccc;
	font-weight: 700;
	margin: 40px 0 40px;
	text-align: center;
	padding: 25px 0;
}
	/* radio checkbox select
	----------------------------------*/
	#formarea ul li .forma input[type=radio],
	#formarea ul li .forma input[type=checkbox] {
		display: inline-block;
	}
	#formarea ul li .forma input[type=radio] + label,
	#formarea ul li .forma input[type=checkbox] + label {
		position: relative;
		display: inline-block;
		cursor: pointer;
	}
	 #formarea ul li .select-wrap {
		position: relative;
	}
	#formarea ul li .select-wrap:before {
		z-index: 1;
		position: absolute;
		left: 45%;
		top: 24px;
		content: "▼";
			font-size: 1.4rem;
		color: #7F878C;
		pointer-events: none;
		height: 20px;
	}
	@media (min-width: 1px) {
	#formarea ul li .forma input[type=radio],
	#formarea ul li .forma input[type=checkbox] {
		display: none;
		margin: 0;
	}
	#formarea ul li .forma input[type=radio] + label,
	#formarea ul li .forma input[type=checkbox] + label {
		padding: 0 0 0 28px;
	}
	#formarea ul li .forma input[type=radio] + label::before,
	#formarea ul li .forma input[type=checkbox] + label::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
		width: 18px;
		height: 18px;
		margin-top: -9px;
		background: #FFF;
	}
	#formarea ul li .forma input[type=radio] + label::before {
		border: 2px solid #ccc;
		border-radius: 30px;
	}
	#formarea ul li .forma input[type=checkbox] + label::before {
		border: 2px solid #ccc;
	}
	#formarea ul li .forma input[type=radio]:checked + label::after,
	#formarea ul li .forma input[type=checkbox]:checked + label::after {
		content: "";
		position: absolute;
		top: 50%;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
	}
	#formarea ul li .forma input[type=radio]:checked + label::after {
		left: 5px;
		width: 8px;
		height: 8px;
		margin-top: -4px;
		background: #1c2746;
		border-radius: 8px;
	}
	#formarea ul li .forma input[type=checkbox]:checked + label::after {
		left: 3px;
		width: 16px;
		height: 8px;
		margin-top: -8px;
		border-left: 3px solid #1c2746;
		border-bottom: 3px solid #1c2746;
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	}
	
	/* button
	----------------------------------*/
	#formarea #submit_button{
		display:block;
		font-size:2.0rem;
		font-weight:700;
		line-height:64px;
		color:#fff;
		width:238px;
		margin:24px auto 0;
		text-align:center;
		background:#9268A6;
	}
	#formarea #submit_button:hover{
		background:#BAA0C7;
		color:#1c2746;
		box-sizing: border-box;
	}
	#formarea #back_button{
		display:block;
		font-size:2.0rem;
		font-weight:700;
		line-height:48px;
		color:#1c2746;
		width:238px;
		margin:24px auto 0;
		text-align:center;
		background:#eeeee;
		}
	#formarea #back_button:hover{
		background:#BAA0C7;
		}
	#formarea #submit_button02{
		font-size:2.0rem;
		font-weight:700;
		line-height:48px;
		color:#fff;
		width:238px;
		margin:24px auto 0;
		text-align:center;
		background:#d51b29;
		display:inline-block;
		}
	#formarea #submit_button02:hover{
		background:#ef3543;
		}
	#formarea #back_button02{
		font-size:2.0rem;
		font-weight:700;
		line-height:48px;
		color:#1c2746;
		width:238px;
		margin:24px auto 0;
		text-align:center;
		background:#A999B7;
		display:inline-block;
		margin-right:10px;
		}
	#formarea #back_button02:hover{
		background:#BAA0C7;
		}
	/* policyframe
	----------------------------------*/
	#policyframe{
		font-size:12px;
		font-size:1.2rem;
		background: #eee;
		}
	
	#policyframe h3{
		font-size:16px;
		font-size:1.6rem;
		border-bottom:1px solid #ccc;
		padding-bottom:10px;
		margin-bottom:10px;
		}
	
	#policyframe h4{
		font-weight:700;
		margin:10px 0 2px;
		}
	.overf{
		padding:20px;
		border:solid 1px #ccc;
		margin:0 0 20px;
		border-radius:8px;
		-webkit-border-radius:8px;  
		-moz-border-radius:8px;  
		behavior:url(PIE.htc);
		overflow:auto;
		height:300px;
		}
	
	#toggle_policy{
		display:none;
		}	

	/* completion
	----------------------------------*/
	.completiontxt{
		margin-bottom:80px;
		text-align: center;
	}
	.completiontxt span{
		display: block;
		font-size:2.4rem;
		font-weight: 700;
	}
	.completionbtn a{
		display:block;
		font-size:2.0rem;
		font-weight:700;
		line-height:64px;
		color:#fff;
		width:238px;
		margin:24px auto 0;
		text-align:center;
		background:#9268A6;
	}
	.completionbtn a:hover{
		background:#BAA0C7;
		color:#1c2746;
	}
/* ----------------------------------
BOTTON
---------------------------------- */

.btn a {
	width: 500px;
	margin: auto;
	display: block;
	padding: 0 24px;
	line-height: 80px;
	text-align:center;
	cursor:pointer;
	position:relative;
	background: #8082B1;
	border-radius: 8px;
	color: #fff;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	font-weight: 700;
	font-size:2.4rem;
}
.btn a:hover{
	background: #4A4D79;
	opacity: 1;
}
/* ----------------------------------
FOOTER
---------------------------------- */
footer { 
	width: 100%;
	overflow: hidden;
	padding: 16px 0;
	background-color: #9785B6;
}
.copy {
	margin-top: 8px;
	font-size: 1.4rem;
	color: #ccc;
	text-align: center;
}

/* ----------------------------------
PAGETOP
---------------------------------- */
.page-top{
	display: none;
	position: fixed;
	right: 40px;
	bottom: 68px;
	z-index: 99;
	line-height: 1.2;
	margin-bottom: 0;
	opacity: 0.9;
}

/* ----------------------------------
OTHER
---------------------------------- */
.CEN {text-align: center;}
.CEN_TL {text-align: center;}
.TL {text-align: left;}
.TR {text-align: right;}
.img-cen, .area-cen { display: block; margin: auto;}
.d_blk{display: block;}
.mt16 { margin-top: 16px;}
.mt56 { margin-top: 56px;}
.mt72 { margin-top: 72px;}
.mt80 { margin-top: 80px;}
.mt80_40 { margin-top: 80px;}
.mt246 { margin-top: 246px;}
.mb16 { margin-bottom: 16px;}
.mb24_16 { margin-bottom: 24px;}
.mb40_20 { margin-bottom: 40px;}
.mb80_40 { margin-bottom: 80px;}
.mr16 { margin-right: 16px;}
.indent-1{
	padding-left:1em;
	text-indent:-1em;
}
.box-area01{
	width: 100%;
	padding: 40px;
}
.f14{font-size: 1.4rem;}
.fs24 {font-size: 2.4rem;}
.bold{font-weight: 700;}
.fcolor-red{color: #D11115;}
.note{font-size: 1.4rem;}
.indent-05{text-indent:-0.5em;}
.bd_b { border-bottom: #c8c8c8 1px solid;}
.w100p { width: 100%; margin: 0 auto;}
.w50p { width: 50%; margin: 0 auto;}
.w40p { width: 40%; margin: 0 auto; margin-right: 16px;}
.underline {border-bottom: 1px solid #333;}

/* max-width:767px
-------------------------------------------------- */
@media only screen and (max-width: 767px) {
	body{ width: 100%; font-size: 1.4rem; line-height: 2.0;}
	h1 { font-size: 2.4rem; font-size: 24px; line-height: 1;}
	h2 { font-size: 2.0rem; font-size: 20px; line-height: 1.25; font-weight: 500;}
	h3 { font-size: 1.8rem; font-size: 18px; line-height: 1.3; font-weight: 500;}
	h4 { font-size: 1.6rem; font-size: 16px; line-height: 1.5; font-weight: 500;}
	

	.heading{
		font-size: 2.0rem;
		margin-bottom: 40px;
		letter-spacing: 0;
		line-height: 1.4;
	}
	.heading::after{
		width: 100px;
		border-top: #B075A6 4px solid;
	}
	.cate_ttl{
		font-size: 2.0rem;
		border-bottom: 1px solid #333;
		margin-bottom: 16px;
		padding-bottom: 4px;
	}
	.cate_ttl span{
		border: none;
	}
	.item_ttl{
		font-size: 2.0rem;
		border-bottom: 1px solid #333;
		margin-bottom: 16px;
		padding-bottom: 4px;
	}
	img { max-width: 100%;}
	.pcon { display: none;}
	.smpon { display: inline-block;}
	.inner { width: 96%; margin: 0 auto;}
	.inner2 { width: 96%; margin: 0 auto;}
	.inner3 { width: 96%; margin: 0 auto;}
	
	header{
		width: 100%;
		background:none;
	}
	.key-wrap{
		width: 100%;
	}

	.text_logo {
		position: absolute;
		right: auto;
		left: 3%;
		top: 2%;
		font-size: 1.6rem;
	}
	.key_contact {
		width: 60%;
		position: absolute;
		right: auto;
		left: 50%;
		transform: translate(-50%);
		-webkit-transform: translate(-50%);
		-ms-transform: translate(-50%);
		bottom: 2%;
	}
	.key_contact img {
		width: 100%;
	}

	.container{ 
		width: 100%;
		margin: 0 auto;
		min-width: 100%;
		overflow: hidden;
	}
/* ----------------------------------
INDEX - TOP PAGE -
---------------------------------- */
	.sec80{
		padding: 40px 0;
	}
	.sec100{
		padding: 40px 0;
	}
	.sec100_20{
		padding: 40px 0 20px;
	}
	.col2 li,
  .col2.col-style01 li{
		position: relative;
		width: 100%;
		margin-bottom: 40px;
	}
  .col2.col-style01 li:first-child,
  .col2.col-style01 li:last-child{
	width: 100%;
}
	.col4,
	.col5{
		width: 100%;
		display: -webkit-flex;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.col4 li,
	.col5 li{
		position: relative;
		width: 48%;
		margin-bottom: 4%;
	}
	.popular span{
		font-size: 1.6rem;
		height:56px;
	}
	.popular span small{
		display: block;
		
	}
	.categori span{
		font-size: 1.6rem;
	}
	.flow{
		margin-bottom: 20px;
	}
	.flow li{
		width: 100%;
		border: 5px solid #814F62;
		text-align: center;
		padding: 24px 16px 24px;
		position: relative;
		display: -webkit-flex;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.flow .fl-icon{
		width: 25%;
		margin-right: 5%;
		text-align: center;
	}
	.flow img{
		max-width: 100%;
		display: block;
		margin: 0 auto;
	}
	.flow p{
		width: 60%;
		text-align: left;
		font-size: 1.6rem;
		margin-top: 0;
		line-height: 1.6;
	}
	.flow span{
		font-size: 1.8rem;
		padding: 8px 14px 12px;
		position: absolute;
		line-height: 1;
		left: auto;
		right: 0;
		top: 0;
	}
	.funyu li{
		margin-bottom: 20px;
		flex-wrap: wrap;
	}
	.funyu li div:first-child{
		width: 100%;
		order: 2;
	}
	.funyu li div:last-child{
		width: 100%;
	}
	.funyu li div:last-child span{
		display: block;
		border-bottom: 1px solid #333;
		font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
		font-size: 2.0rem;
	}
	.funyu li div:last-child p{
		font-size: 1.6rem;
		margin-top: 8px;
		line-height: 1.6;
		margin-bottom: 20px;
	}
	.itemarea01 li{
		width: 100%;
		margin: 20px 0;
		border-bottom: 1px solid #ccc;
	}
	.itemarea01 h4{
		font-size: 1.6rem;
	}
	thead tr th,
	.itemarea01 td,
	.itemarea02 td{
		padding: 0 8px;
	}
	.scroll .itemarea01 {
		overflow-x: auto;
		margin-bottom: 40px;
	}
	
	ul.itemarea02 li{
		width: 100%;
	}
	.itemarea02 li p{
		display: block;
	}
	.itemarea02 li p:first-child{
		margin-right: 0;
	}
	.itemarea02 h4{
		font-size: 1.6rem;
	}
	.contact_tel{
		display: block;
		padding: 0;
	}
	.contact_tel li:first-child{
		line-height: 1.4;
		text-align: center;
		margin: 0 0 24px 0;
	}
	.contact_tel-text{
		font-size: 1.4rem;
	}
	table.tokusho{
		width: 100%;
	}
	table.tokusho{
		padding: 0 24px;
	}
	table.tokusho tr{
		background:none;
		border: none;
	}
	table.tokusho th{
		line-height: 2.4;
		width: 100%;
		text-align: center;
		color: #fff;
		font-weight: normal;
		display: block;
		background: #AA93BB;
	}
	table.tokusho td{
		width: 100%;
		padding: 16px 0;
		display: block;
	}
	
	
	/*==================================
	formarea
	==================================*/
	.formstep{
		margin: 40px 0;
	}
	#formarea {
		padding: 40px 0 80px 0;
	}
	#formarea #confirmtxt{
		padding-bottom:40px;
	}
	#formarea #confirmtxt p{
		font-size:1.8rem;
	}
	#formarea .title{
		padding: 16px;
		font-size: 2.0rem;
	}
	#formarea .inner > ul > li{
		margin:20px 0;
		padding:0;
	}
	#formarea ul li .formq{
		width:100%;
		padding:0;
	}
	#formarea ul li .forma{
		width:100%;
	}
	#formarea ul li .forma input,
	#formarea ul li .forma textarea,
	#formarea ul li .forma select{
		padding:8px;
	}
	#formarea ul li .hissu{
	background:url(../img/hissu.png) no-repeat 100% center;
}
	#formarea .protect{
		padding: 24px;
	}
	 #formarea ul li .select-wrap {
		position: relative;
	}
	#formarea ul li .select-wrap:before {
		z-index: 1;
		position: absolute;
		left: 45%;
		top: 16px;
		content: "▼";
			font-size: 1.2rem;
		color: #7F878C;
		pointer-events: none;
		
	}
	/* button
	----------------------------------*/
	#formarea #submit_button,
	#formarea #submit_button02{
		font-size:1.6rem;
	}
	#formarea #back_button,
	#formarea #back_button02{
		display:block;
		font-size:1.6rem;
	}
	
	/* policyframe
	----------------------------------*/
	#policyframe h3{
		font-size:1.4rem;
	}
	#policyframe h4{
		font-size:1.4rem;
	}
	#policyframe dl{
		margin-bottom:15px;
	}

	/* completion
	----------------------------------*/
	.completiontxt{
		margin-bottom:80px;
	}
	.completiontxt span{
		font-size:1.8rem;
	}
	.completionbtn a{
		font-size:1.6rem;
	}
	/* ----------------------------------
	BOTTON
	---------------------------------- */

	.btn a {
		width: 80%;
		line-height: 2.4;
		font-size: 2.0rem;
	}
	/* ----------------------------------
	FOOTER
	---------------------------------- */
	.copy {
		font-size: 1.0rem;
		letter-spacing: 0;
	}
	
	
	/* ----------------------------------
	PAGETOP
	---------------------------------- */
	.page-top{
		display: none;
		position: fixed;
		right: 10px;
		bottom: 60px;
		z-index: 99;
		line-height: 1.2;
		margin-bottom: 0;
		opacity: 0.9;
	}
	/* ----------------------------------
	OTHER
	---------------------------------- */
	.mt80_40 { margin-top: 40px;}
	.mb24_16 { margin-bottom: 24px;}
	.mb40_20 { margin-bottom: 20px;}
	.mb80_40 { margin-bottom: 40px;}
	.w380 { width: 100%;}
	.w400 { width: 100%;}
	.w450 { width: 100%;}
	.w550 { width: 100%;}
	.w600 { width: 100%;}
	.w640 { width: 100%;}
	.fs24 {font-size: 1.6rem;}
	.CEN_TL {text-align: left;}
	.box-area01{
		width: 100%;
		padding: 16px;
	}
}
@media only screen and (max-width: 440px) {
		.itemarea01 table,
		.itemarea02 table{
			display: block;
			overflow-x: scroll;
			white-space: nowrap;
			-webkit-overflow-scrolling: touch;
		}
	}
	@media only screen and (max-width: 340px) {



		.col4,
		.col5{
			width: 100%;
		}
		.col4 li,
		.col5 li{
			position: relative;
			width: 100%;
			margin-bottom: 20px;
		}
		.categori span.cate_text{
			font-size: 1.4rem;
		}
	.flow{
		margin-bottom: 20px;
	}
	.flow li{
		width: 100%;
		border: 5px solid #814F62;
		text-align: center;
		padding: 24px 16px 24px;
		display: block;
	}
	.flow .fl-icon{
		width: 50%;
		margin: 0 auto;
		margin-bottom: 16px;
		text-align: center;
	}
	.flow img{
		max-width: 100%;
		display: block;
		margin: 0 auto;
	}
	.flow p{
		width: 100%;
		text-align: left;
		font-size: 1.6rem;
		margin-top: 0;
		line-height: 1.6;
	}
	.flow span{
		font-size: 1.8rem;
		padding: 8px 14px 12px;
		position: absolute;
		line-height: 1;
		left: auto;
		right: 0;
		top: 0;
	}
	.funyu li{
		margin-bottom: 20px;
		flex-wrap: wrap;
	}
	.funyu li div:first-child{
		width: 100%;
		order: 2;
	}
	.funyu li div:last-child{
		width: 100%;
	}
	.funyu li div:last-child span{
		display: block;
		border-bottom: 1px solid #333;
		font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
		font-size: 2.0rem;
	}
	.funyu li div:last-child p{
		font-size: 1.6rem;
		margin-top: 8px;
		line-height: 1.6;
		margin-bottom: 20px;
	}
	
}