/*
Theme Name: Kosodate_ADV 1.3.7
Author: 8litre.com
Description: 日本子育てアドバイザー協会
Version: 1.3.7
*/

@charset "utf-8";

/*------------------------
font
------------------------*/

/* Icons */
@font-face {
  font-family: 'iconFont';
  src:
    url('css/fonts/8litre.ttf?kuw6ii') format('truetype'),
    url('css/fonts/8litre.woff?kuw6ii') format('woff'),
    url('css/fonts/8litre.svg?kuw6ii#8litre') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'iconFont' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon--2:before {
  content: "\e902";
	margin-right:0.25rem;
}
.icon-1:before {
  content: "\e909";
  color: #4b4b4b;
}
.icon-uniE90A:before {
  content: "\e90a";
  color: #4b4b4b;
}
.icon--8:before {
  content: "\e904";
}
.icon--9:before {
  content: "\e905";
}
.icon--10:before {
  content: "\e906";
}
.icon--7:before {
  content: "\e907";
}
.icon--6:before {
  content: "\e908";
}
.icon-facebook:before {
  content: "\e900";
}
.icon-insta:before {
  content: "\e901";
}
.icon-twitter:before {
  content: "\e903";
}


/*------------------------
anti alias
------------------------*/

body {
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}

@media only screen and 
(-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}


p,h1,h2,h3,h4,h5,h6,li{transform: rotate(0.05deg);}
li img, p input,p textarea{transform: rotate(-0.05deg);}

/*------------------------
common
------------------------*/

img { -ms-interpolation-mode: bicubic; max-width:100%;}

::selection {
	background: #fcd8e1;
}

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

.preloadImage{
	position: absolute;
	top: 0;
	left: 0;
	display:none;
	width: 0px;
	height: 0px;
	z-index: -1;
}

html {
	font-size:16px;
}

body {
	width:100%;
	background:#ffffff;
	-webkit-text-size-adjust: 100%;
	font-family:'M PLUS 1p','M PLUS 1p',"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
	font-weight: 400;
	color:#222222;
	line-height:1.66;
}

.webFont{
	font-family: 'Noto Serif JP', serif;
}

object,embed{
	outline: none;
}
div,nav,main,section,article,ul,li,dl,dt,dd,p,a,span,em{
	box-sizing: border-box;
}

h1,h2,h3,h4,h5,h6{position: relative; font-weight:400; line-height:1.625; display:block;}

h1{font-size:225%;}
h2{font-size:287.5%;}
h3{font-size:200%;}
h4{font-size:175%;}
h5{font-size:120%;}
h6{font-size:100%;}
.HighLight{
	position:relative;
	display:inline-block;
}
span.HighLight{
	display:inline;
}
.HighLight:before{
	content:'';
	position:absolute;
	left:0;
	bottom:0.125em;
	width:100%;
	height:0.3em;
	background:#fcd8e1;
	z-index:-1;
}

section.colorGreen .HighLight:before,header.colorGreen .HighLight:before,article.colorGreen .HighLight:before{background:#c0e5d2;}
section.colorBlue .HighLight:before,header.colorBlue .HighLight:before,article.colorBlue .HighLight:before{background:#daf0ff;}
section.colorPurple .HighLight:before,header.colorPurple .HighLight:before,article.colorPurple .HighLight:before{background:#f6d4e7;}


h1 em,h2 em,h3 em,h4 em,h5 em,h6 em{font-size:75%;}
#News h4 em{
	position: absolute;
	right: 0;
	top: 50%;
	font-size: 50%;
	transform: translate(0,-50%);
}

/*a{transition:1s;}*/
a:link,a:visited{position:relative; text-decoration:underline; position:relative; color:#333333; }
a.noUnderline:link,a.noUnderline:visited{text-decoration:none; }

.findLink:hover a:before,a:hover:before{width:100%;}
.findLink{cursor:pointer;}
a.noHover:hover:before{width:0;}
a:focus{outline: none;}
a.arw:before{
	content:'▶ ';
}

input, select, textarea {
    font-size: 100%;
    font-family: Verdana, Helvetica, sans-serif;
    margin: 0 0.5em 0 0;
}

.annotation1{ padding-left: 1em; text-indent: -1em; }
.annotation1-5{ padding-left: 1.5em; text-indent: -1.5em; }
.annotation2{ padding-left: 2em; text-indent: -2em; }
.annotation3{ padding-left: 3em; text-indent: -3em; }
.annotation4{ padding-left: 4em; text-indent: -4em; }
.annotation5{ padding-left: 5em; text-indent: -5em; }
.annotation6{ padding-top: 6em; text-indent: -6em; }

hr{
	border:1px solid #eeeeee;
	border-width:1px 0 0;
	width:100%;
	height:0;
	margin:12px auto;
}

hr.dotted{
	border:1px dotted #eeeeee;
	border-width:1px 0 0;
	width:100%;
	width:calc(100% - 8rem);
	height:0;
	margin:0 auto;
}

section hr.dotted{
	width:100%;
}

hr.void{
	border:none;
	width:100%;
	height:0;
}

hr.underMargin{
	border:none;
	width:100%;
	height:15vh;
	margin:0;
}

div.m36{
	margin:36px;
}

em{ font-style: inherit; font-weight: inherit;}

.mgA{margin:0 auto;}
.mgB0{margin-bottom:0 !important;}
.mgB0-5e{margin-bottom:0.5rem !important;}
.mgB0-75e{margin-bottom:0.75rem !important;}
.mgB1e{margin-bottom:1rem !important;}
.mgB1-5e{margin-bottom:1.5rem !important;}
.mgB1-75e{margin-bottom:1.75rem !important;}
.mgB2e{margin-bottom:2rem !important;}
.mgB2-5e{margin-bottom:2.5rem !important;}
.mgB3e{margin-bottom:3rem !important;}
.mgB3-5e{margin-bottom:3.5rem !important;}
.mgB4e{margin-bottom:4rem !important;}
.mgB5e{margin-bottom:5rem !important;}
.mgB6e{margin-bottom:6rem !important;}

.mgT0{margin-top:0 !important;}
.mgT0-5e{margin-top:0.5rem !important;}
.mgT1e{margin-top:1rem !important;}
.mgT1-5e{margin-top:1.5rem !important;}
.mgT2e{margin-top:2rem !important;}
.mgT2-5e{margin-top:2.5rem !important;}
.mgT3e{margin-top:3rem !important;}
.mgT4e{margin-top:4rem !important;}
.mgT5e{margin-top:5rem !important;}
.mgT6e{margin-top:6rem !important;}

.pad0{padding:0rem !important;}
.pad1{padding:1rem;}
.pad2{padding:2rem;}
.pad3{padding:3rem;}

.padL0{padding-left:0 !important;}
.padR6{padding-right:6rem !important;}

.pad0tp{padding-top:0rem !important;}
.pad1tp{padding-top:1rem !important;}
.pad2tp{padding-top:2rem !important;}
.pad3tp{padding-top:3rem !important;}
.pad4tp{padding-top:4rem !important;}
.pad5tp{padding-top:5rem !important;}

.pad1bt{padding-bottom:1rem !important;}
.pad2bt{padding-bottom:2rem !important;}
.pad3bt{padding-bottom:3rem !important;}
.pad4bt{padding-bottom:4rem !important;}
.pad5bt{padding-bottom:5rem !important;}

.pad0tt{padding-top:0 !important; padding-bottom:0 !important;}
.pad1tt{padding-top:1rem !important; padding-bottom:1rem !important;}
.pad2tt{padding-top:2rem !important; padding-bottom:2rem !important;}
.pad3tt{padding-top:3rem !important; padding-bottom:3rem !important;}

.pad0yk{padding-left:0 !important; padding-right:0 !important;}
.pad0-5yk{padding-left:0.5rem !important; padding-right:0.5rem !important;}
.pad0-75yk{padding-left:0.75rem !important; padding-right:0.75rem !important;}
.pad1yk{padding-left:1rem !important; padding-right:1rem !important;}
.pad2yk{padding-left:2rem !important; padding-right:2rem !important;}
.pad3yk{padding-left:3rem !important; padding-right:3rem !important;}
.pad4yk{padding-left:4rem !important; padding-right:4rem !important;}
.pad5yk{padding-left:5rem !important; padding-right:5rem !important;}
.pad6yk{padding-left:6rem !important; padding-right:6rem !important;}

.pad0L,.pad0L_respo0{padding-left:0 !important;}
.pad1L,.pad1L_respo0,.pad1L_respo_block{padding-left:1rem !important;}
.pad2L,.pad2L_respo0{padding-left:2rem !important;}
.pad3L,.pad3L_respo0{padding-left:3rem !important;}
.pad4L,.pad4L_respo0{padding-left:4rem !important;}
.pad5L,.pad5L_respo0{padding-left:5rem !important;}
.pad6L,.pad6L_respo0{padding-left:6rem !important;}


.ResPad4yk{padding:0 4rem;}

.inlineBlock{display:inline-block;}
.Thin{font-weight:200;}
.Normal{font-weight:400;}
.Medium{font-weight:500;}
.Bolder{font-weight:bolder;}
.Bold{font-weight:bold;}
.Thinly{opacity:0.8;}
.Mini{font-size:75%;}
.Small{font-size:84%;}
.RatherSmall{font-size:87.5%;}
.RatherLarge{font-size:112.5%;}
.Large{font-size:120%;}
.ExLarge{font-size:135%;}
.NormalSize{font-size:1rem;}
.Caution{color:#e41409; font-weight:500;}
.txWhite{color:#ffffff;}
.alignLeft{text-align:left;}
.alignRight{text-align:right;}
.alignCenter{text-align:center;}
.alignLR{text-align: justify; text-justify: inter-ideograph;}
.Wrap{white-space:normal !important;}
.noWrap{white-space:nowrap !important;}
.LHbst{line-height:2.0}
.Comments{font-size: 0.75rem; vertical-align: baseline; padding: 0 0.125rem;}
/*.mx100{max-width:100vw}*/
.mx800{max-width:800px;}

.GrayBox{
	display:inline-block;
	padding:1.5rem;
	background:#eeeeee;
}

.Relative{
	position:relative;
}

.Absolute{
	position:absolute;
}

.posR{right:0;}
.posMid{top:50%; transform:translateY(-50%);}

.viewPC,.onlyPC{display:block;}
span.viewPC,span.onlyPC{display:inline;}
th.onlyPC,td.onlyPC{display:table-cell;}
.viewSP,.onlySP{display:none;}
.under728{display:none;}

.Button,
a.Button,
a:link.Button{
	position:relative;
	display:block;
	width:25%;
	min-width:24rem;
	max-width:640px;
	/*border:3px solid #0f206c;*/
	margin:0 0 1.75rem;
	padding:1.25rem 2rem;
	color:#000000;
	background:#fcd8e1;
	font-size:1rem;
	text-align:center;
	line-height:1.0;
	font-weight:normal;
	transition:opacity 0.5s;
	border-radius:10rem;
	text-decoration:none;
}

section.colorGreen .Button,section.colorGreen a.Button,section.colorGreen a:link.Button,
header.colorGreen .Button,header.colorGreen a.Button,header.colorGreen a:link.Button,
article.colorGreen .Button,article.colorGreen a.Button,article.colorGreen a:link.Button{background:#c0e5d2;}

section.colorBlue .Button,section.colorBlue a.Button,section.colorBlue a:link.Button,
header.colorBlue .Button,header.colorBlue a.Button,header.colorBlue a:link.Button,
article.colorBlue .Button,article.colorBlue a.Button,article.colorBlue a:link.Button{background:#daf0ff;}

section.colorPurple .Button,section.colorPurple a.Button,section.colorPurple a:link.Button,
header.colorPurple .Button,header.colorPurple a.Button,header.colorPurple a:link.Button,
article.colorPurple .Button,article.colorPurple a.Button,article.colorPurple a:link.Button{background:#f6d4e7;}

.Button.Entry,
a.Button.Entry,
a:link.Button.Entry,
header .Button.Entry,
header a.Button.Entry,
header a:link.Button.Entry{
	background:#f4c362;
}

.Button:hover,
a.Button:hover,
a:link.Button:hover{
	opacity:0.6;
}

.Button:before,
a.Button:before,
a:link.Button:before{
	content:'＞';
	position:absolute;
	left:auto;
	right:1.25rem;
	top:50%;
	bottom:auto;
	width: auto;
	height: auto;
    line-height: 1.0;
	background:none;
	font-weight:lighter;
	transform:translate(0,-50%);
	z-index: 0;
}

.Button:hover:before,
a.Button:hover:before,
a:link.Button:hover:before{
	width:auto;
	background:none;
	transition:0;
}

.linkInpage,
a.linkInpage,
a:link.linkInpage,
.linkOut,
a.linkOut,
a:link.linkOut{
	position:relative;
	display:inline-block;
	color:#000000;
    z-index: 1;
	text-decoration:none;
}

.linkInpage:before,
a.linkInpage:before,
a:link.linkInpage:before{
	content:'▼';
	padding:0 0.25rem 0 0;
}

.linkOut:before,
a.linkOut:before,
a:link.linkOut:before{
	content:'▶';
	padding:0 0.25rem 0 0;
}

.linkInpage:after,
a.linkInpage:after,
a:link.linkInpage:after,
.linkOut:after,
a.linkOut:after,
a:link.linkOut:after{
	content: '';
    position: absolute;
    left: 0;
    bottom: 0.125em;
    width: 0;
    height: 0.3em;
    background: #fcd8e1;
    z-index: -1;
	transition: width 0.5s;
}

.linkInpage:hover:after,
a.linkInpage:hover:after,
a:link.linkInpage:hover:after,
.linkOut:hover:after,
a.linkOut:hover:after,
a:link.linkOut:hover:after{
    width: 100%;
}

.phone_number{
	padding:0 0 0.5em 0;
	line-height: 1;
}

.phone_number img{
	margin:0 0 2px;
	width:1.2em;
}

.tate{
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode:vertical-rl;
	-ms-text-combine-horizontal: digits;
	-webkit-text-combine: 2;
	text-combine-upright: digits;
	white-space: nowrap;
}

.tcy {
  -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    text-combine-upright: all;
}

.webfont{
	font-family:'M PLUS 1p','M PLUS 1p';
	font-style: normal;
	font-weight: 400;
}

.normalfont{
	font-family: "ヒラギノ角ゴ Pro W3", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体",  "メイリオ", sans-serif;
	font-weight: normal;
}

.darkBg{
	color:#ffffff;
}

.GoogeMap{
	width:100%;
	height: 60vh;
	border: 3px solid #0f206c;
}

.GoogeMap iframe{
	width:100%;
	height:100%;
	/*-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);*/
	vertical-align:bottom;
}



/*------------------------
Loader
------------------------*/
#loader {
	position:fixed;
	display:table;
	width: 100%;
	height:100%;
	margin: 0 auto;
	background:#ffffff;
	color:#fcd8e1;
	z-index:999999;
}

#loader .innnerContent{
	display:table-cell;
	text-align: center;
	vertical-align:middle;
}

#bar {
	width: 100%;
	height: auto;
	padding: 1px;
	font-size: 1px;
	margin:1rem 0 0 ;
}
#bar span {
	display: block;
	width: 0px;
	height: 1px;
	background: #fcd8e1;
  	display: block !important;
}

/*------------------------
main section
------------------------*/

main{
	position:relative;
	min-height:60vh;
	margin:0 auto;
	box-sizing:content-box;
	letter-spacing:normal;
	vertical-align:bottom;
}

section,
article{
	position:relative;
	display:block;
	letter-spacing:normal;
	z-index:1;

}

article{
	margin-bottom:3rem;

}

header h2 em,
section h2 em{
	font-size:60%;
}

section{

}

section div.inner{
	margin:0 auto;
	max-height:9999vh;
	max-width:1400px;
	padding:3rem 4rem;
	overflow:hidden;
	transition: max-height 30s;
}

section#News div.inner{
	max-width:1024px;
}

section div.inner.Close{
	max-height:500px;
}

section div.inner.Close.Short{
	max-height:240px;
}

section div.inner span.moreRead{
	display:none;
	position:absolute;
	left:0;
	bottom:-1px;
	width:100%;
	height:5rem;
	background:linear-gradient(0deg,rgba(255,255,255,1)1rem , rgba(255,255,255,0));
	text-align:center;
}

section div.inner span.moreRead:before{
	content:'もっと見る';
	position:absolute;
	left:50%;
	bottom:0;
	width:33.3%;
	max-width:640px;
	background:#ffffff;
	padding:1rem 3rem;
	border:#cccccc 1px solid;
	border-radius:10rem;
	cursor:pointer;
	transform:translate(-50%,0);
}

section div.inner.Close span.moreRead{
	display:block;
}

header div.spacer,
section div.spacer{
	position:relative;
	display: none;
	width:100%;
}

header div.spacer:before,
section div.spacer:before{
	content:"";
	display: block;
	padding-top: 48%;
}

section.visualList .theme_visual{
	position:absolute;
	right:0;
	top:0;
	width:55%;
	height:100%;
	opacity:1;
	overflow:hidden;
	z-index:-1;
}

section.visualList .theme_visual img{
	position:absolute;
	left:50%;
	top:55%;
	max-width:none;
	width:115%;
	height:auto;
	transform: translate(-50%,-50%);
}

section.visualList .theme_visual:after{
	content:'';
	position:absolute;
	left:-1rem;
	top:0;
	width:33.3%;
	height:100%;
	background:linear-gradient(90deg,rgba(255,255,255,1)1rem , rgba(255,255,255,0));
}


/*section.visualList:before{
	content:'';
	position:absolute;
	right:0;
	top:0;
	width:50%;
	height:100%;
	opacity:0.9;
	z-index:-1;
}

section#Course.visualList:before{
	background:url('img/image_course.jpg') no-repeat center center;
	background-size:120%;
}

section#e-learning.visualList:before{
	background:url('img/image_e-learning.jpg') no-repeat center center;
	background-size:120%;
}

section#About.visualList:before{
	background:url('img/image_about.jpg') no-repeat center center;
	background-size:120%;
}

section.visualList:after{
	content:'';
	position:absolute;
	right:calc(50% - 17rem);
	top:0;
	width:18rem;
	height:100%;
	background:linear-gradient(90deg,rgba(255,255,255,1)1rem , rgba(255,255,255,0));
	z-index:-1;
}*/

/*section#e-learning.visualList:after,
section#About.visualList:after{
	right:calc(50% - 17rem);
}*/

/*section.half_block{
	margin-bottom:1rem;
}*/

.container{
	display:table;
}

.container .case{
	display:table-cell;
	vertical-align:top;
}

.container .imz{
	width:50%;
	padding:0 2rem 0 0;
}

.container .text{

}

dl.accordion{
	border:1px solid #eeeeee;
	border-width:1px 0 0 1px;
}

dl.accordion:last-child{
	border-width:1px 0 1px 1px;
}

.accordion dt{
	position:reletive;
	cursor:pointer;
	color:#347135;
	font-size:125%;
	background:#f8f8f8;
	padding:0.25rem 0 0.5rem 3.5rem;
	border:1px solid #eeeeee;
	border-width:0 1px 0 0;
}

.accordion dt p{
	display:inline-block;
}

.accordion dt:before{
	position:absolute;
	left:0.5rem;
	content:'[＋] ';
}

.accordion dt.open:before{
	content:'[－] ';
}

.accordion dd{
	padding:1rem;
	background:#fcfcfc;
	border:1px solid #eeeeee;
	border-width:1px 1px 0 0;
}

ul.list3,
ul.list5{
	margin-bottom:2rem;
}

ul.dotlist li,
ul.list3 li,
ul.list5 li{
	list-style-type:disc;
	margin-left:1.5rem;
}

div.index4{
	border:#dddddd dotted 1px;
	padding:1rem;
}

/*------------------------
aside
------------------------*/

#sideLayout{
	letter-spacing:-0.4em;
}

#sideLayout main{
	width:calc(100% - 300px);
	display:inline-block;
	letter-spacing:normal;
}

aside{
	display:inline-block;
	width:300px;
	vertical-align:top;
	letter-spacing:normal;
	text-align: center;
	background:url(images/loading.gif) no-repeat center 10rem;
}

.sticky{
    position: -webkit-sticky;
    position: sticky;
	top:4.5rem;
}

aside iframe{
	width:100%;
}

.fb-page,
.fb-page > span,
.fb-page iframe {
    width: 100% !important;
}

.fb-page{
    max-width: 500px;
    margin: 0 auto;
}

/*------------------------
header
------------------------*/

header{
	position:relative;
	display:block;
	width:100%;
	height:auto;
	overflow:hidden;
	letter-spacing:normal;
}

header a:link,
header a:visited{
	opacity:1;
	transition:opacity 0.5s;
}

header a:hover{
	opacity:0.6;
}

header#Hero{
    position: relative;
    width: 100%;
	overflow:hidden;
}

header#Hero:before {
    content:"";
    display: block;
    padding-top: 56.25%;
}

h1#Typography{
	position:absolute;
	top:3rem;
	left:3rem;
	width:40%;
	max-width:540px;
	height:auto;
}


header#Hero .OverImage{
	position:absolute;
	top:50%;
	left:50%;
	width:auto;
	max-width:none;
	min-width:100%;
	min-height:100%;
	transform: translate(-50%,-50%);
}

header h1#catchCopy{
	position:absolute;
	top:25%;
	left:50%;
	width:100%;
	text-align:center;
	transform: translate(-50%,-50%);
}

header#Sub{
	z-index:1;
}

header#Sub.dot{
  background-color   : #ffffff;
  background-image   : radial-gradient(rgba(255, 77, 77, 0.10) 13%, transparent 16%),
                       radial-gradient(rgba(255, 77, 77, 0.10) 13%, transparent 16%);
  background-position: 0 0, 12px 12px;
  background-size    : 24px 24px;
}

header#Sub.sky{
  background : url(img/sky.jpg) no-repeat center center;
}

header#Sub div.inner{
	margin:0 auto;
	max-width:1400px;
	padding:8rem 4rem 3rem;
}

header#Sub.dot div.inner,
header#Sub.sky div.inner{
	padding:8rem 4rem 4rem;
}

header#Sub .theme_visual{
	position:absolute;
	right:0;
	top:0;
	width:55%;
	height:100%;
	opacity:1;
	overflow:hidden;
	z-index:-1;
}

header#Sub .theme_visual img{
	position:absolute;
	left:50%;
	top:55%;
	max-width:none;
	width:115%;
	height:auto;
	transform: translate(-50%,-50%);
}

header#Sub.work .theme_visual img{
	width:100%;
}

header#Sub .theme_visual:after{
	content:'';
	position:absolute;
	left:-1rem;
	top:0;
	width:33.3%;
	height:100%;
	background:linear-gradient(90deg,rgba(255,255,255,1)1rem , rgba(255,255,255,0));
}


#please_scroll{
	display:none;
	position: fixed;
	left: 48%;
	left: calc(50% - 2rem);
	bottom: 2rem;
	width: 4em;
}

.issueLinks{
	position:absolute;
	bottom:2rem;
	left:2rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
	justify-content: space-between;
	width:20.25rem;
}

.issueLinks a{
    flex:0 0 45%;
    flex:0 0 calc(50% - 0.875em);
	text-align:center;
	border-radius:10rem;
	box-shadow: 0 0.125em 0.25em 0 rgba(100,100,100,0.3);
}

.issueLinks a img{
    width:100%;
}

.issueLinks a.e-learningLogin{
    flex:0 0 100%;
	margin:1rem 0 0;
	box-shadow:none;
}


.newTopics{
	position:absolute;
	bottom:2rem;
	right:2rem;
	width:48%;
	height:4rem;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
	justify-content: start;
	background:rgba(255,255,255,0.6);
	padding:0.25rem 1rem;
	text-align:left;
}

.newTopics a,
.newTopics a:link,
.newTopics a:visited{
	padding:0 0 0 1rem;
	text-align:left;
	text-decoration:none;
}

.newTopics img{
	flex:0 0 2.5rem;
	height:2.5rem;
}

/* animetion */

#catchCopy,#HeadInfo{
	opacity:0;
}

.issueLinks a#Element01,
.issueLinks a#Element02,
.issueLinks a#Element03{
	transition:0.5s;
	transform:translate(0,0);
}

.issueLinks a#Element01.Op,
.issueLinks a#Element02.Op,
.issueLinks a#Element03.Op{
	opacity:0;
}

.issueLinks a#Element01.Op,
.issueLinks a#Element02.Op{
	transform:translate(0,-2rem);
}

/*------------------------
Navigation
------------------------*/


nav#Navigation{
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:4.5rem;
	padding:1rem 0;
	background:#ffffff;
	color:#ee3e6a;
	z-index: 10;
	transition:transform 1s;
	border-bottom:#dddddd solid 1px;
	transform:translate(0,0);
	transition: transform 1s;
}

nav#Navigation.Op{
	transform:translate(0,-100%);
}

nav a,
nav a:link,
nav a:visited{
	position:relative;
	color:#000000;
	text-decoration:none;
}


nav a:after{
	content: '';
    position: absolute;
    left: 0;
    bottom: 0em;
    width: 0;
    height: 0.3em;
    background: #fcd8e1;
    z-index: -1;
	transition: width 0.5s;
}

nav a:hover:after{
	width:100%;
}

nav h1 a:hover:after{
	width:0;
}

.linkInpage:hover:after,
a.linkInpage:hover:after,
a:link.linkInpage:hover:after,
.linkOut:hover:after,
a.linkOut:hover:after,
a:link.linkOut:hover:after{
    width: 100%;
}

#top nav#Navigation.Opening,
nav#Navigation.Open{
	transform:translate(0,-120%);
}


/*nav#Navigation.inField{
	transform:translate(0,0);
}*/


nav#Navigation .nav_flex,
nav#Mobile .nav_flex{
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
	height: 100%;
	max-width:1400px;
	margin:0 auto;
	padding: 0 4rem;
    /*box-sizing: content-box;*/
}

nav#Navigation h1,
nav#Mobile h1{
	font-size:175%;
	line-height:1;
	padding:0 1rem 0 0;
	color:#ee3e6a;
	font-weight:500;
}

nav#Navigation h1 a,
nav#Navigation h1 a:link,
nav#Navigation h1 a:visited,
nav#Mobile h1 a,
nav#Mobile h1 a:link,
nav#Mobile h1 a:visited{
	position:relative;
	padding:0 0 0 1.5em;
	color:#ee3e6a;
	text-decoration:none;
}

nav#Navigation h1 a:before,
nav#Mobile h1 a:before{
	display:none;
}

nav#Navigation h1 img,
nav#Mobile h1 img{
	position:absolute;
	left:0;
	top:50%;
	height:1.1em;
	transform:translate(0,-50%);
}

nav#Navigation .menu,
nav#Mobile .menu{
	flex-grow:3;
}

nav#Navigation ul,
nav#Mobile ul{
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

nav#Navigation ul li,
nav#Mobile ul li{
	font-size:112.5%;
	padding:0 0.5rem 0 0;
	white-space:nowrap;
}

nav#Navigation ul li:after,
nav#Mobile ul li:after{
	content:"｜";
	padding:0 0 0 0.5rem;
}

nav#Navigation ul li:last-child,
nav#Mobile ul li:last-child{
	padding:0;
}

nav#Navigation ul li:last-child:after,
nav#Mobile ul li:last-child:after{
	content:"";
	padding:0;
}


.navIcon,
.closeIcon {
	display:none;
    position: absolute;
    right: 2rem;
	top:2rem;
    width: 2rem;
    height: 2rem;
    cursor: pointer;
    z-index: 1;
    box-sizing: content-box;
	transition:transform 0.5s 0.5s;
}

#Sub .navIcon{
	display:none;
}

nav#Navigation .navIcon,
nav#Mobile .navIcon {
	top:auto;
	margin-top:-2px;
}

#top .navIcon.Opening {
	transform:translate(100%,0);
}

.closeIcon {
    position: absolute;
    z-index: 3;
}

.navIcon span,
.closeIcon span{
	position: absolute;
	display: block;
	width: 100%;
	height: 3px;
	top: 50%;
	bottom: 0;
	left: 0;
	right: 0;
	background: #999999;
	transition: 0.5s;
	border-radius:10rem;
}

.navIcon span:before, .navIcon span:after,
.closeIcon span:before, .closeIcon span:after {
	content: "";
	position: absolute;
	display: block;
	margin: auto;
	width: 100%;
	height: 3px;
	background: #999999;
	transform: translate(0,-0.75rem) rotate(0);
	border-radius:10rem;
	transition: 0.5s;
}

.navIcon span:after,
.closeIcon span:after {
	transform: translate(0,0.75rem) rotate(0);
}

.closeIcon span {
	background: transparent;
}

.closeIcon span:before {
	transform: translate(0,0) rotate(45deg);
}

.closeIcon span:after {
	transform: translate(0,0) rotate(-45deg);
}

/*------------------------
PleaseScroll
------------------------*/

#PleaseScroll {
	position:fixed;
	display:none;
	left:0;
	bottom:2em;
	padding: 0 2em;
	z-index:10;
}

/*a#PleaseScroll.hide {
	display:none;
	transition:1s;
}*/

#PleaseScroll span{
	position:relative;
	display:block;
	width:1px;
	height:2.5em;
	background:#eeeeee;
	opacity:0;
	-webkit-animation: pScr 2s ease infinite;
	animation: pScr 2s ease infinite;
}

#PleaseScroll span:before{
	content:'';
	position:absolute;
	display:block;
	left:1px;
	bottom:0;
	width:0.5em;
	height:1px;
	background:#eeeeee;
	transform: rotate(-45deg);
	transform-origin:left bottom;
}

@keyframes pScr {
  0% {
   margin-bottom: 2em;
    opacity: 0;
  }
  33% {
    opacity: 0.7;
  }
  66% {
	margin-bottom: 0;
    opacity: 0;
  }
  100% {
	margin-bottom: 0;
    opacity: 0;
  }
}

@-webkit-keyframes pScr {
  0% {
   margin-bottom: 2em;
    opacity: 0;
  }
  33% {
    opacity: 0.7;
  }
  66% {
	margin-bottom: 0;
    opacity: 0;
  }
  99.9%,to {
	margin-bottom: 0;
    opacity: 0;
  }
}

/*------------------------
List
------------------------*/

/*flexList*/

ul.flexList{
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin:0 -0.75rem;
}

ul.flexList li{
	position:relative;
	flex:0 0 33.3333%;
	padding:0 0.75rem;
}

ul.flexList li:nth-child(n + 4){
	padding:1.5rem 0.75rem 0;
}

ul.flexList li h6{
	margin-bottom:0.5rem;
}

ul.newsList{

}

ul.newsList li{
	font-size:128.57%;
	margin:0 0 0.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

ul.newsList li:last-child{
	margin:0;
}


ul.newsList li span{
	display:inline-block;
	font-size:1rem;
	color:#ffffff;
	background:#666666;
	padding:0 0.5rem;
	margin:0 0.5rem 0 0;
	min-width:6rem;
	vertical-align:middle;
}

section.Carousel .slick-prev,
section.Carousel .slick-next {
	top:50%;
	background:rgba(15,32,108,0.7);
	width:3.41rem;
	height:3.41rem;
	border-radius:10rem;
	text-align:center;
	transform:translate(0,-50%);
}

section.Carousel .slick-prev:before,
section.Carousel .slick-next:before {
    top: 50%;
    left: 50%;
    position: absolute;
    font-size: 1.41rem;
	line-height:1;
    color: #fff;
	transform:translate(-66%,-50%);
	opacity:1;
}

section.Carousel .slick-next:before {
	transform:translate(-33%,-50%);
}

section.Carousel .slick-prev:hover,
section.Carousel .slick-prev:focus,
section.Carousel .slick-next:hover,
section.Carousel .slick-next:focus {
	background:rgba(15,32,108,1);
}

/*------------------------
dl dt dd
------------------------*/

dl.phoneNumber{
	display:flex;
	flex-wrap: wrap;
	justify-content: left;
	align-items: left;
	padding:0 0 0 1.5rem;
	line-height:1.6;
}

dl.phoneNumber dt{
	flex:0 0 60%;
	padding:0 1rem 1rem 0;
	border:1px dotted #eeeeee;
	border-width:0 0 1px;
	margin:0 0 1rem;
}

dl.phoneNumber dd{
	flex:0 0 40%;
	padding:0 0 1rem 0;
	border:1px dotted #eeeeee;
	border-width:0 0 1px;
	margin:0 0 1rem;
	text-align:right;
}

dl.phoneNumber dt:last-child,
dl.phoneNumber dt:nth-last-child(2),
dl.phoneNumber dd:last-child{
	padding:0;
	border:none;
	border-width:0;
	margin:0;
}

dl.Ymd{
	display:flex;
	flex-wrap: wrap;
	justify-content: left;
	align-items: left;
	line-height:1.6;
}

dl.Ymd dt{
	width:7em;
	margin-bottom:0.5rem;
}

dl.Ymd dd{
	width:calc(100% - 7em);
	margin-bottom:0.5rem;
}

dl.Ymd dt:last-child,
dl.Ymd dt:nth-last-child(2),
dl.Ymd dd:last-child{
	padding:0;
	border:none;
	border-width:0;
	margin:0;
}

dl.borderType{
	border: 1px #eeeeee solid;
	border-width: 0 0 1px;
	padding-bottom: 2rem;
	margin-bottom: 3rem;
}

dl.borderType:last-child{
	border-width: 0;
	margin-bottom: 0;
}

/*------------------------
aspect
------------------------*/

div.aspect1_1,
div.aspect4_3,
div.aspect3_2,
div.aspect16_9,
div.aspect61,
div.aspectSP {
	position: relative;
	width: 100%;
	overflow:hidden;
}

div.aspect1_1:before,
div.aspect4_3:before,
div.aspect3_2:before,
div.aspect16_9:before,
div.aspect61:before,
div.aspectSP:before {
    content:"";
    display: block;
    padding-top: 100%;
}

div.aspect4_3:before {padding-top: 75%;}
div.aspect3_2:before {padding-top: 66.7%;}
div.aspect16_9:before {padding-top: 56.25%;}
div.aspect61:before {padding-top: 61.6%;}
div.aspectSP:before {padding-top: 360px;}

div.aspect1_1 img,
div.aspect4_3 img,
div.aspect3_2 img,
div.aspect16_9 img,
div.aspect61 img,
div.aspectSP img{
    position: absolute;
    top: 50%;
    left: 50%;
	height:100%;
	width:auto;
	max-width:none;
	transform:translate(-50%,-50%) scale(1.05,1.05);
}

div.aspect3_2 img,
div.aspect16_9 img,
div.aspect61 img {
	height:auto;
	width:100%;
}



/*------------------------------
block_content
------------------------------*/

.wide_block{
	display:block;
	width:100%;
	padding:0 0.8333em;
}

.wide_block .inquiry input{
	display: block;
	margin: 5px auto;
	width: 100%;
	box-sizing: border-box;
	padding: 5px 10px;
}

.wide_block .inquiry textarea{
	display: block;
	margin: 5px auto;
	width: 100%;
	box-sizing: border-box;
	padding: 5px 10px;
}

.inlineParent{
	letter-spacing:-0.4rem;
	margin:0 -1rem;
}

.half_block{
	display:inline-block;
	width:50%;
	padding:0 1rem 2rem;
	vertical-align: top;
	letter-spacing:normal;
}

.half_block ul{
	display:block;
	padding:0.8333em 0 0 1.6667em;
}

.half_block ul li{
	line-height:1.5;
	padding:0 0 0.5em;
}

.half_block ul li:last-child{
	padding:0;
}

.grey_block{
	background:#f5f5f5;
	padding:2em;
	box-sizing:border-box;
}

.seven_block{
	display: inline-block;
	width: 70%;
	vertical-align: top;
	padding: 0 0.8333em;
}

.three_block{
	display: inline-block;
	width: 30%;
	vertical-align: top;
	padding: 0 0.8333em;
}

.full_width{
	width:100%;
}

.full_width img{
	width:100%;
}

hr.Mg,
.articleContent hr.Mg{
	margin: 1.6667em 0;
}

.articleContent hr{
	/*margin: 0.3333em 0;*/
}

.articleContent hr.article_under{
	height: 0.8333em;
}

.articleContent .Attention{
	font-weight:bold;
	font-size:120%;
}

.articleContent .inlineblock{
	display:inline-block;
	padding: 0 1em 0 0;
}

/*------------------------
table
------------------------*/

table{
	display:block;
	width:100%;
	margin:0 auto;
	padding:0;
}

table tbody{
	display:table;
	width:100%;
	max-width:200vw;
	border:1px solid #eeeeee;
	border-width:1px 0 0 1px;
	margin:0;
	padding:0;
	box-sizing:border-box;
}

table tr{
	width:100%;
	border:none;
	margin:0;
	padding:0;
}

table tr td,
table tr th{
	display:table-cell;
	width:auto;
	border:1px solid #eeeeee;
	border-width: 0 1px 1px 0;
	margin:0;
	padding:1rem;
	text-align:center;
}

table tr th{
	font-size:87.5%;
	/*font-size:112.5%;*/
}

table.Col4s tr td,
table.Col4s tr th{
	width:27%;
}

table.Col4s tr td:first-child,
table.Col4s tr th:first-child{
	width:19%;
}

table.Col2s tr td,
table.Col2s tr th{
	width:auto;
}

table.Col2s tr td{
	text-align:left;
}

table.Col2s tr td:first-child,
table.Col2s tr th:first-child{
	width:16.7%;
}

table.Col2s.Online tr td:first-child,
table.Col2s.Online tr th:first-child{
	width:20%;
}

table .bgAccent{
	background:#eeeeee;
}

table h6{
	font-weight:500;
}

table em{
	font-size:66%;
	line-height: 1.6;
	display: block;
	padding:0.25rem 0;
}

/*------------------------
dl
------------------------*/

dl.withPicture{
	display:table;
	margin:0 0 3rem;
	padding:0 1rem 0 0;
}

.flex1 dl.withPicture{
	padding:0;
}

.flex2 dl.withPicture{
	width:50%;
}

.flex2 dl.withPicture:nth-child(2n){
	padding:0 0 0 1rem;
}

dl.withPicture:nth-last-child(1),
.flex2 dl.withPicture:nth-last-child(2){
	margin:0;
}

dl.withPicture h5{
	font-weight:500;
	margin:0 0 0.5rem;
}

dl.withPicture dt,
dl.withPicture dd{
	display:table-cell;
	vertical-align:top;
}

dl.withPicture dt{
	width:180px;
}

dl.withPicture dt img{
	border: 1px solid #eeeeee;
}

dl.withPicture dd{
	padding:0 0 0 2rem;
	/*vertical-align:middle;*/
}

dl.description{
	display:flex;
    flex-wrap: wrap;
    /*align-items: center;*/
	/*justify-content: space-between;*/
	/*font-size:112.5%*/
}

dl.description dt{
	flex: 0 0 5rem;
}
dl.description dt:after{
	content:'：';
}

dl.description dd{
	flex: 0 0 90%;
	flex: 0 0 calc(100% - 5rem);
	padding:0 0 0.5rem;
}

dl.description dd:last-child{
	padding:0;
}

/*------------------------
flex
------------------------*/

.flex_parent,
.flex_parent_RP{
	display: flex;
	flex-wrap: wrap;
}

.flex_dir_row{
	flex-direction:row
}

.flex_dir_col{
	flex-direction:column
}

.flex66,
.flex_parent.flex66 *,
.flex_parent.flex66RP *{
	flex: 66.6%;
}

.flex33,
.flex_parent.flex33 * ,
.flex_parent.flex33RP *{
	flex: 33.3%;
}

.flex1,
.flex_parent.flex1 * {
	flex: 100%;
}

.flex2,
.flex_parent.flex2 * {
	flex-basis: 50%;
}

.flex_parent.flex4 div {
	flex-basis: 25%;
	padding:0.5rem;
}

.flex_parent.flex4{
	margin:0 -0.5rem;
}


/*------------------------
footer
------------------------*/

footer{
	text-align: center;
	letter-spacing:normal;
    border: #eeeeee 1px solid;
    border-width: 1px 0 0 0;
}

/*footer a:link:before,footer a:visited:before{
	background:#ffffff;
	transition:0.5s;
}*/

footer h1{
	font-size: 175%;
    line-height: 1;
    color: #ee3e6a;
    font-weight: 500;
	display:inline-block;
	margin:0 0 1rem;
}

footer h1 a,
footer h1 a:link,
footer h1 a:visited{
	color:#ee3e6a;
	padding: 0 0 0 1.5em;
	text-decoration:none;
}

footer h1 img{
    position: absolute;
    left: 0;
    top: 50%;
    height: 1.875rem;
    transform: translate(0,-50%);
}

footer .campany_logo{
	padding:0;
	width:25%;
	max-width:210px;
	margin:0 auto;
	font-size:1rem;
}

footer div.tbl div.logo img{
	width:100%;
}

footer nav ul {
	display: -webkit-box;
    display: flex;
	justify-content: center;
	margin:0 auto;
	flex-wrap: wrap;
}

footer nav ul li {
    font-size: 87.5%;
    padding: 0 0.5rem 0 0;
    white-space: nowrap;
}

footer nav ul li:last-child {
	padding: 0;
}

footer nav ul li:after {
	content: "｜";
    padding: 0 0 0 0.5rem;
}

footer nav ul li:last-child:after {
	content: "";
    padding: 0;
}

/*footer ul li a:after {
	content:"";
	position:absolute;
	left:0rem;
	top:50%;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.3rem 0 0.3rem 0.6rem;
	border-color: transparent transparent transparent #e41409;
	transform:translate(0,-50%);
}*/

footer small {
}

/*------------------------
banners
------------------------*/

ul.banners {
    margin:0 -0.25em;
	text-align:center;
    letter-spacing: -0.4em;
}

ul.banners li {
	display:inline-block;
    padding: 0 0.25em 0.5em;
    letter-spacing: normal;
	max-width:33.3%;
}


/*------------------------
article
------------------------*/


/*------------------------
swiper
------------------------*/

.swiper-button-next,
.swiper-button-prev {
    --swiper-navigation-color: #999999;
	width: 2rem;
	height: 2rem;
}

.swiper-button-next::after,
.swiper-button-prev::after {
    font-size:2rem;
}

.swiper-pagination-bullet {
	background-color: #cccccc;
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled{
	opacity: 0.3;
}

 #Reader{
	position:relative;
}

#Reader .swiper{
	max-width: 1200px;
	margin: 0 auto;
	/*padding-bottom:2.75rem;*/
	border:1px #dddddd solid;
}

#Reader .swiper::before{
	content:"";
	position:absolute;
	left:0;
	top:0;
	display:block;
	width:100%;
	height:100%;
}

#Reader .swiper-pagination {
    bottom:-2rem;
}

.swiper-slide{
	margin: 0 auto;
}

/*------------------------
dl
------------------------*/

dl.storeInfo{
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: left;
}

dl.storeInfo dt{
	flex:0 0 30%;
	text-align:right;
	padding-right:1rem;
	border-right:1px solid #fcd8e1;
	box-sizing:border-box;
	margin:0 0 0.5rem;
}

dl.storeInfo dd{
	flex:0 0 70%;
	padding-left:1rem;
	box-sizing:border-box;
}

dl.menu{
	position:relative;
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: left;
	padding:2rem;
	border:1px solid #979797;
}

dl.menu dt{
	flex:0 0 70%;
	padding-right:1rem;
	box-sizing:border-box;
	margin:0 0 0.5rem;
}

dl.menu dd{
	flex:0 0 30%;
	text-align:right;
	padding-left:1rem;
	box-sizing:border-box;
}

dl.menu dt:last-of-type{
	margin:0;
}



dl.Bullet{
	font-size:112.5%
	font-weight:700;
	letter-spacing:-0.4em;
}

dl.Bullet dt{
	display:inline-block;
	width:25%;
	padding-right:1rem;
	margin:0 0 2rem;
	box-sizing:border-box;
	vertical-align:top;
	letter-spacing:normal;
}

dl.Bullet dd{
	display:inline-block;
	width:75%;
	margin:0 0 2rem;
	box-sizing:border-box;
	vertical-align:top;
	letter-spacing:normal;
}

dl.Bullet dd .ButtonArea img.app_badge{
	max-height:3.5rem;
	padding:0;
}

dl.Bullet dt:nth-last-child(2),
dl.Bullet dt:last-child,
dl.Bullet dd:last-child{
	margin:0;
}

.iconSq{}

dl.iconSq{
	margin-bottom:1rem;
}

dl.iconSq dt{
	position:relative;
	font-size:128.571%;
	padding-left:1.25rem;
}

dl.iconSq dt::before{
	content:'';
	position:absolute;
	left:0;
	top:50%;
	width:0.9rem;
	height:0.9rem;
	background:#adc2ae;
	transform:translate(0,-50%);
}

dl.iconSq dd{
	padding-left:1.25rem;
}

/*------------------------
sns
------------------------*/


#sns_icons{
	position: absolute;
	right: 0;
	top: 0;
	width:6em;
}

#sns_icons ul{
	margin:0 -0.5em;
}

#sns_icons ul li{
	position:relative;
	display:inline-block;
	width:50%;
	box-sizing:border-box;
	padding:0 0.5em;
	vertical-align: middle;
}

#sns_icons ul li img{
	width:100%;
}

#sns_icons ul li span{
	font-size:0;
	line-height:0;
}

/*------------------------
ContentList
------------------------*/

ul.ContentList{
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin:0 -1rem;
}

ul.ContentList li{
	width: 25%;
	padding:0 1rem 2rem;
}

ul.ContentList li.w33{
	width: 33.3333%;
}

ul.ContentList li a:link,
ul.ContentList li a:visited{
	text-decoration: none;
	transition:0.25s;
}

ul.ContentList li a:hover{
    opacity: 0.7;
}

.aspect_thumb{
	position:relative;
	border:#eeeeee 1px solid;
	overflow: hidden;
}

.aspect_thumb::before{
    content:"";
    display: block;
    padding-top: 100%;
}

li.x4_3 .aspect_thumb::before{
    padding-top: 75%;
}

li.x16_9 .aspect_thumb::before{
    padding-top: 56.25%;
}

.aspect_thumb img{
	position: absolute;
	left:50%;
	top:50%;
    width:auto;
	height:auto;
	max-width:100%;
	min-height:100%;
	transform:translate(-50%,-50%);
}

.aspect_thumb.noTrim img{
	max-height:100%;
}

/*------------------------
back2top
------------------------*/

#back2top{
	position:fixed;
	display:none;
	right:0;
	bottom:2em;
	padding: 0 2em;
	z-index: 1;
	cursor:pointer;
}

#back2top span{
	position:relative;
	display:block;
	width:1px;
	height:2.5em;
	background:#aaaaaa;
}

#back2top span:before{
	content:'';
	position:absolute;
	display:block;
	left:1px;
	top:0;
	width:0.5em;
	height:1px;
	background:#aaaaaa;
	transform: rotate(45deg);
	transform-origin:left top;
}

/*#back2top{
	background:#000000 no-repeat center center;
	opacity:0.4;
	border-radius:20px;
}

#back2top:hover{
	opacity:0.7;
}

#back2top img{
	width:100%;
	font-size: 0;
}*/

/*------------------------
backReturn
------------------------*/

#backReturn{
	/*display:none;*/
	position:fixed;
	bottom:1em;
	left:1em;
	width:30px;
	z-index: 1;
}

#backReturn a{
	display:block;
	background:#000000 no-repeat center center;
	opacity:0.4;
	border-radius:20px;
	font-size: 0;
}

#backReturn a:hover{
	opacity:0.7;
}

#backReturn a img{
	width:100%;
}

#backReturn2 {
	display:none;
	line-height: 1.0;
	position: fixed;
	bottom: 1.6em;
	left: 2em;
	z-index: 1;
	height: 30px;
	overflow: hidden;
	border: 1px solid #222222;
	border-radius: 9999em;
}

#backReturn2 a {
	display:block;
	height:100%;
	background-color:rgba(255,255,255,0.8);
}

#backReturn2 img {
	height:100%;
}

#backReturn2 a:hover{
	background-color:rgba(245,245,245,0.8);
}

/*------------------------
click2prev
------------------------*/

#click2prev{
	display:none;
	position:fixed;
	bottom:28px;
	right:2%;
	width:30px;
}

#click2prev a{
	display:block;
	background:#000000 no-repeat center center;
	opacity:0.4;
	border-radius:20px;
	font-size: 0;
}

#click2prev a:hover{
	opacity:0.7;
}

#click2prev a img{
	width:100%;
}

/*------------------------
form
------------------------*/

.wpcf7{
	position: relative;
	display: block;
}

.wpcf7{
	position: relative;
	display: block;
}

.wpcf7 p{
	font-size:117%;
	margin-bottom:1rem;
}

.wpcf7 input,.wpcf7 select,.wpcf7 textarea {
    margin: 0;
    width: 100%;
    box-sizing: border-box;
	border: 3px solid #0f206c;
}

.wpcf7 input[type="submit"] {
    position: relative;
    display: block;
    width: 25%;
    min-width: 20rem;
    max-width: 640px;
    border: 3px solid #0f206c;
    margin: 0 auto;
    padding: 0.9rem 2rem;
    color: #0f206c;
    background: #ffffff;
	font-family:'M PLUS 1p','M PLUS 1p',"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
    font-size: 150%;
    text-align: center;
    line-height: 1.0;
    font-weight: 500;
    transition: background 0.5s;
	cursor:pointer;
	margin-top:1rem;
}

/*------------------------
response
------------------------*/

@media screen and (min-width: 1920px){
	html { font-size:18px; }
}

@media screen and (min-width: 1600px){
	html { font-size:16px; }
}

@media screen and (max-width: 1366px){
	#sideLayout main{ 	width:calc(100% - 240px);}
	aside{ width:240px; }
	h1#catchCopy{font-size:200%;}
	section.visualList h2{font-size:200%;}
	section.visualList h4{font-size:125%;}
	section.visualList .RatherLarge{font-size:100%;}
}

@media only screen and (max-width: 1280px){
	html { font-size:14px; }
	nav#Navigation ul li,nav#Mobile ul li{padding:0 0.25rem 0 0;}
	nav#Navigation ul li:after,nav#Mobile ul li:after{padding:0 0 0 0.25rem;}
}

@media only screen and (max-width: 1024px){
	html { font-size:14px; }

	.onlyPC,span.onlyPC,th.onlyPC,td.onlyPC{display:none;}
	.onlySP{display:block;}
	span.onlySP{display:inline;}
	th.onlySP,td.onlySP{display:table-cell;}

	.Button, a.Button, a:link.Button {
	    width: 100%;
	    max-width: none;
	}

	nav#Navigation{
		position:fixed;
		bottom:auto;
		top:0;
		width:100%;
		height:4.5rem;
		padding:1rem 0;
		transform: translate(0,0);
		transition:transform 1s;
	}

	nav#Navigation h6{display:none;}

	nav#Navigation h1,
	nav#Mobile h1{
		font-size:150%;
	}

	nav#Navigation .nav_flex{
		justify-content: center;
	}

	nav#Navigation.OnMain{
		transform: translate(0,0);
	}

	nav#Navigation .menu {display:none;}

	nav#Mobile {
	    position: fixed;
	    left: 100%;
	    top: 0;
		width:auto;
	    height: 100%;
		background:#ffffff;
	    color: #ffffff;
		font-size:114.28%;
		transition:transform 1s;
		box-shadow:0px 1px 5px 3px rgba(200,200,200,0.5);
		z-index: 11;
	}

	nav#Mobile.Open {
	    transform: translate(-100%,0);
	}

	nav#Mobile a,
	nav#Mobile a:visited,
	nav#Mobile a:visited{color:#000000;}
	nav#Mobile h1 {padding:0; font-size:100%;}


	nav#Mobile .nav_flex{
		justify-content: center;
	    align-items: center;
		height: 100%;
		max-width:1400px;
		margin:0 auto;
		padding: 0 4rem;
	    box-sizing: content-box;
	}

	nav#Mobile .nav_flex {position:relative; padding: 0 3.625rem;}
	nav#Mobile ul {display:block; width:100%; padding:2rem 0 0;}
	nav#Mobile ul li img{ left: auto;}
	nav#Mobile ul li,nav#Navigation ul li:last-child{ padding:0 0 1.5rem; text-align:center;}
	nav#Mobile ul li h1{font-size:112.5%; margin:0 0 1rem;}
	#Navigation .navIcon,.closeIcon {display:block;}
	nav#Navigation ul li::after, nav#Mobile ul li::after {
	    content: "";
	    padding: 0 0 1rem;
	}

	header#Hero:before {
	    content:"";
	    display: block;
	    padding-top: 133.33%;
	}

	header h1#catchCopy {
	    top: 20%;
	    left: 50%;
		width: calc(100% - 4rem);
	}

	.issueLinks{
		left:50%;
		bottom: 9rem;
		width:24rem;
		max-width:calc(100% - 4rem);
		transform:translate(-50%,0);
	}

	.newTopics {
		position: absolute;
		bottom: 2rem;
		right: 2rem;
		width: calc(100% - 4rem);
		height: 5rem;
	}

	header div.spacer,
	section div.spacer{
		display: block;
	}

	header#Sub .theme_visual,
	section.visualList .theme_visual{
    	top: auto;
		bottom:0;
		width:100%;
		height:auto;
	}

	header#Sub .theme_visual:before,
	section.visualList .theme_visual:before{
    	content:"";
    	display: block;
    	padding-top: 66%;
	}
	
	header#Sub .theme_visual img,
	section.visualList .theme_visual img{
		width:100%;
		transform: translate(-50%,-50%);
	}

	header#Sub .theme_visual img,
	section#About.visualList .theme_visual img{
		width:110%;
		transform: translate(-55%,-43%);
	}
	
	header#Sub .theme_visual:after,
	section.visualList .theme_visual:after{
		left:0;
		top:-0.25rem;
		width:100%;
		height:33%;
		background:linear-gradient(180deg,rgba(255,255,255,1)1rem , rgba(255,255,255,0));
	}

	.flex2.RP,
	.flex_parent.flex2.RP * {
		flex-basis: 100%;
	}
	
	.flex_parent.flex4.RP div {
		flex-basis: 50%;
	}

	.flex2 dl.withPicture,dl.withPicture:nth-last-child(1), .flex2 dl.withPicture:nth-last-child(2) {width: 100%; margin:0 0 2rem;}
	.flex2 dl.withPicture:nth-child(2n){padding: 0;}
	.flex2 dl.withPicture:last-child {margin:0;}
	
	//dl.withPicture,
	//dl.withPicture:nth-child(2n),
	//dl.withPicture:nth-last-child(2){
	//	margin:0 0 3rem;
	//	padding:0;
	//}
	
	dl.withPicture:nth-last-child(1){
		margin:0;
	}

	table.RP{
		display: block;
		overflow-x: scroll;
		/*white-space: nowrap;*/
		-webkit-overflow-scrolling: touch;
	}

	table.RP tr th,
	table.RP tr td{
		min-width:20rem;
	}

	table.RP tr td:first-child,
	table.RP tr th:first-child{
		min-width:auto;
	}
	
	table tbody{
		display:table;
		width:100%;
		border:1px solid #eeeeee;
		border-width:1px 0 0 1px;
		margin:0;
		padding:0;
	}
	
	table tr{
		width:100%;
		border:none;
		margin:0;
		padding:0;
	}
	
	table tr td{
		font-size:100%;
	}

	table.Col2s tr td:first-child,
	table.Col2s tr th:first-child{
		width:25%;
	}

	table.Col2s.Online tr td:first-child,
	table.Col2s.Online tr th:first-child{
		width:33%;
	}
}

@media (min-aspect-ratio: 16/9) {

}

@media (max-aspect-ratio: 3/2) {

}

@media (max-aspect-ratio: 4/3) {
	header#Hero{height:auto;}
}

@media (max-aspect-ratio: 5/4) {

}

@media (max-aspect-ratio: 1/1) {
	aside{ height:80vh; overflow:hidden;}
	header#Hero .OverImage{max-height:100%;}
}

@media (max-aspect-ratio: 3/4) {
	.viewPC{display:none;}
	.viewSP{display:block;}
	/*.SlideShow ul li div:before {padding-top: 125%;}*/
}

@media (max-aspect-ratio: 2/3) {

}

@media (max-aspect-ratio: 9/16) {

}

@media only screen and (max-width: 768px){

	html { font-size:13px; }
	.under728{display:block;}

	/*h1{font-size:2.0rem;}
	h2{font-size:1.5rem;}
	h3{font-size:1.33rem;}
	h4{font-size:1.2rem;}
	h5{font-size:1.1rem;}
	h6{font-size:1.0rem;}*/

	.pad1L_respo0,
	.pad2L_respo0,
	.pad3L_respo0,
	.pad4L_respo0,
	.pad5L_respo0,
	.pad6L_respo0{padding-left:0 !important;}

	.pad1L_respo_block{display:block; padding-left:0 !important;}

	.Absolute.RP0{position:relative;}
	.posR.RP0{right:auto;}
	.posMid.RP0{top:auto; transform:translateY(0);}

	nav#Navigation h1,
	nav#Mobile h1{
		font-size:130%;
	}

	header#Sub div.inner{padding:8rem 2.5rem 2rem;}
	header#Sub.dot div.inner,header#Sub.sky div.inner{padding:8rem 2.5rem 4rem;}
	section div.inner{padding: 2.5rem 2rem;}

	#sideLayout main{ display:block; width:100%;}
	aside{ display:block; width:100%; padding:3rem 0 0;}
	aside iframe{width:100%;}
	
	.fb-page,
	.fb-page > span,
	.fb-page iframe {
	    width: 100% !important;
	}
	
	.fb-page{
	    max-width: 500px;
	    margin: 0 auto;
	}


	ul.flexList li,ul.flexList li:nth-child(n + 4){flex: 0 0 100%; padding:0 0.75rem 3rem;}
	ul.flexList li:last-child{flex: 0 0 100%; padding:0 0.75rem;}
	ul.flexList li h6{font-size:125%;}
	
	.half_block{width:100%; padding-bottom:0;}
	
	footer h2{
		width:50%;
	}

	footer nav ul{
		/*justify-content: start;*/
		text-align:left;
	}

	footer nav ul li {
		/*min-width: 33.3%;*/
	}


}

@media only screen and (max-width: 540px){
	dl.withPicture dt,dl.withPicture dd{display:block; width:100%;}
	dl.withPicture dd {padding: 2rem 0 0 0;}
	dl.withPicture dt img{max-width:200px; display:block; margin:0 auto;}
}

@media only screen and (max-width: 480px){
	h1#catchCopy{font-size:180%;}
	header#Sub h2,section.visualList h2{font-size:180%;}
	header#Sub h4,section.visualList h4{font-size:120%;}
}

@media only screen and (max-width: 450px){
	html { font-size:12px; }
}

@media only screen and (max-width: 380px){
	html { font-size:11px; }
}

@media only screen and (max-width: 360px){
	html { font-size:10px; }
}