
* {
  margin: 0;
  padding: 0;
}
body {
  width: 100%;
  margin: 0;
  font: 14px "Noto Sans JP","Hiragino Sans","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,"メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
  color:#434343;
  background:#fff;
}



a:hover {
	opacity:0.8;
}


section {
	max-width:800px;
	width:96%;
	margin:30px auto 120px;
	padding:0;
}

@media screen and (max-width: 768px) {
section {
	margin:30px auto 60px;
}
}

#page_header { height: 50vh; position: relative; margin: 0 0 40px; }



#page_header .iologo {
display: block;	
padding-top:30px;
margin-left: 30px;
max-width: 160px;
}

#page_header .iologo img {
width: 100%;
}

@media screen and (max-width: 768px) {
	#page_header .iologo {
		padding-top:10px;
		margin-left: 10px;
		max-width: 90px;
	}
}

@media screen and (min-width: 768px) { #page_header { height: 500px; } }

#page_header:after { content: ''; width: 100%; height: 27px; position: absolute; left: 0; bottom: -2px; background: url("/ssp/cdreco/mag/images/visual_bottom.png") center bottom/100% 100% no-repeat; }

@media screen and (min-width: 768px) { #page_header:after { height: 54px; } }

#page_header h1 { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; font-weight: normal; }

#page_header h1 img { display: block; margin-bottom: 18px; margin-top:-100px; }

#page_header h1 div { color: #fff; text-align: center; }

#page_header h1 .catch { font-size: 16px; line-height: 24px; margin-bottom: 18px; }

@media screen and (min-width: 768px) { #page_header h1 .catch { font-size: 20px; line-height: 32px; } }

#page_header h1 .sub { font-size: 11px; }

@media screen and (min-width: 768px) { #page_header h1 .sub { font-size: 14px; } }

#page_header #header_bottom { width: 100%; }


#page_header { background: url("/ssp/cdreco/mag/images/visual2new.jpg") center center/cover no-repeat; }

@media screen and (min-width: 768px) { #page_header { background-image: url("/ssp/cdreco/mag/images/visual2new_pc.jpg"); } }

#page_header h1 img { width: 120px; height: auto; }

@media screen and (min-width: 768px) { #page_header h1 img { width: 180px; } }

img.pic01 {
	display:block;
	width:60%;
	margin:30px auto 60px;
	border-radius: 10px;
}

img.pic02 {
	display:block;
	width:80%;
	margin:30px auto 20px;
}

img.pic03 {
	display:block;
	width:100%;
	margin:30px auto 50px;
	border-radius: 10px;
}

@media screen and (max-width: 768px) {
img.pic01 {
	display:block;
	width:80%;
	margin:30px auto 40px;
	border-radius: 10px;
}

img.pic02 {
	display:block;
	width:100%;
	margin:30px auto 20px;
}

}

p.lead {
	max-width:1200px;
	width:96%;
	margin:30px auto 120px;
	padding:0;
	text-align: center;
	font-size: 24px;
	line-height:200%;
  color:#434343;
}


@media screen and (max-width: 768px) {
p.lead {
	width:90%;
	margin:30px auto 60px;
	padding:0;
	text-align: left;
	font-size: 16px;
	line-height:200%;
}
}

p.cap {
	width:96%;
	margin:-40px auto 50px;
	padding:0;
	text-align: center;
	font-size: 14px;
	line-height:160%;
	color:#434343;
}

@media screen and (max-width: 768px) {
p.cap {
	width:96%;
	margin:-40px auto 50px;
	padding:0;
	text-align: center;
	font-size: 12px;
	line-height:160%;
	color:#434343;
}
}


/* ----- 共通 ----- */

.talk {
margin-bottom: 40px;
}

.talk figure img {
width: 100%;
height: 100%;
border: 2px solid #3799eb;
border-radius: 50%;
margin: 0;
}

/* 画像の下のテキスト */
.talk-imgname {
padding: 0 0 0;
font-size: 12px;
text-align: center;
line-height:115%;
}

p.talk-text {
margin: 0 0 8px;
font-size: 18px;
line-height:36px;
}

@media screen and (max-width: 768px) {
p.talk-text {
margin: 0 0 8px;
font-size: 14px;
line-height:28px;
}
}


p.talk-text:last-child {
margin-bottom: 0px;
}

/* 回り込み解除 */
.talk:after,.talk:before {
clear: both;
content: "";
display: block;
}

/* ----- 右の場合 ----- */

/* 右画像 */
.talk-Rimg {
margin-right: 4px;
margin-top: -1px;
float: right;
width: 80px;
height: 80px;
}

@media screen and (max-width: 768px) {
.talk-Rimg {
width: 60px;
height: 60px;
}
}


/* 右からの吹き出しテキスト */
.talk-Rtxt {
position: relative;
margin-right: 100px;
padding: 1.2em;
border: 3px solid #3799eb;
background-color: #e1f1ff;
border-radius: 5px;
}

@media screen and (max-width: 768px) {
.talk-Rtxt {
margin-right: 80px;
}
}


/* 右の三角形を作る */
.talk-Rtxt:before {
position: absolute;
content: '';
border: 10px solid transparent;
border-left: 10px solid #3799eb;
top: 15px;
right: -23px;
}

.talk-Rtxt:after {
position: absolute;
content: '';
border: 10px solid transparent;
border-left: 10px solid #e1f1ff;
top: 15px;
right: -19px;
}

/* ----- 左の場合 ----- */

/* 左画像 */
.talk-Limg {
margin-left: 4px;
margin-top: -1px;
float: left;
width: 80px;
height: 80px;
}

@media screen and (max-width: 768px) {
.talk-Limg {
width: 60px;
height: 60px;
}
}

/* 左からの吹き出しテキスト */
.talk-Ltxt {
color: #444;
position: relative;
margin-left: 100px;
padding: 1.2em;
border: 3px solid #3799eb;
background-color: #fff;
border-radius: 5px;
}

@media screen and (max-width: 768px) {
.talk-Ltxt {
margin-left: 80px;
}
}


/* 左の三角形を作る */
.talk-Ltxt:before {
position: absolute;
content: '';
border: 10px solid transparent;
border-right: 10px solid #3799eb;
top: 15px;
left: -20px;
}

.talk-Ltxt:after {
position: absolute;
content: '';
border: 10px solid transparent;
border-right: 10px solid #fff;
top: 15px;
left: -16px;
}

br.pc {
  display:block;
}

br.sp {
  display:none;
}

img.pc {
  display:block;
}

img.sp {
  display:none;
}


@media screen and (max-width: 768px) {

br.pc {
  display:none;
}

br.sp {
  display:block;
}


img.pc {
  display:none;
}

img.sp {
  display:block;
}

}







h2 {
	font-size:50px;
	text-align:center;
	margin: 75px 0;
	color:#434343;
	font-weight:bold;
}

@media screen and (max-width: 768px) {
h2 {
	font-size:34px;
	text-align:center;
	margin: 40px 0;
}
}


h3 {
	font-size:34px;
	font-weight:bold;
	display:block;
	width:96%;
	max-width:1000px;
	margin: 40px auto 60px;
  position: relative;
  padding: 1em 0;
  text-align: center;
    background-color: #f5f5f5;
    background-image:
   repeating-linear-gradient(-45deg,
   #fff, #fff 7px,
   transparent 0, transparent 14px);
}

@media screen and (max-width: 768px) {
h3 {
	font-size:22px;
	display:block;
	width:96%;
	max-width:800px;
	margin: 40px auto;
  position: relative;
  padding: 1em 0;
  text-align: center;
}
}



h3:before,
h3:after {
  position: absolute;
  content: '';
}

h3:after {
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  border-top: 2px solid #000;
  border-left: 2px solid #000;
}

h3:before {
  right: 0;
  bottom: 0;
  width: 50px;
  height: 50px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
}


h4 {
text-align:center;
color:#434343;
font-weight:normal;

font-size: 20px; position: relative; margin: 0 0 30px; padding: 0; line-height: 30px; }

@media screen and (min-width: 768px) { h4 { font-size: 26px; line-height: 48px; max-width: 1200px; margin-left: auto; margin-right: auto; } }




a.btn{
  position: relative;
  display: block;
  border-radius: 5px;
  background-color: #000;
  padding: 10px 0 15px;
  margin:40px auto 0;
  text-align: center;
  color: white;
  width: 360px;
  font-size: 18px;
  cursor: pointer;
  text-decoration:none;
}
a.btn:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 6px;
  height: 6px;
  margin: -4px 0 0 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

a.btn:hover {
	opacity:0.8;
}


@media screen and (max-width: 768px) {
a.btn{
  position: relative;
  display: block;
  border-radius: 5px;
  background-color: #000;
  padding: 10px 0 15px;
  margin:20px auto;
  text-align: center;
  color: white;
  width: 300px;
  font-size: 16px;
  cursor: pointer;
  text-decoration:none;
}
}


.page-top {
    position: fixed;
    bottom: 10px;
    right: 10px;
    font-size: 77%;
    z-index:9999;
    opacity: 0.7;
    text-indent:-9999px;
}
.page-top a {
  background: url(/ssp/cdreco/mag/images/pagetop.png) center/80% no-repeat;
    text-decoration: none;
    color: #fff;
    width: 60px;
    padding: 30px 0;
    text-align: center;
    display: block;
}
.page-top a:hover {
    text-decoration: none;
    opacity: 0.7;
}

@media print, screen and (min-width: 768px) {
.page-top {
    bottom: 20px;
    right: 20px;
}
.page-top a {
  background: url(/ssp/cdreco/mag/images/pagetop.png) center/80% no-repeat;
    width: 80px;
}
.page-top a:hover {
    text-decoration: none;
    opacity: 0.7;
}
}


footer {
  display: block;
	width: 100%;
	background-color: #000;
	margin: 0 auto;
	padding: 10px 0;
	color:#fff;
	text-align:center;
}

footer img.logo {
	width: auto;
	margin: 30px auto;
	display: block;
}

footer small {
	font-size:12px;
}




