* {
	font-style:normal;
	text-align:left;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	zoom: 1;
}

.pc {display:block;}
.tb {display:none;}
.pctb {display:block;}
.tbmb {display:none;}
.mb {display:none;}
@media screen and (min-width:600px) and (max-width: 1024px) {
.pc {display:none;}
.tb {display:block;}
.pctb {display:block;}
.tbmb {display:block;}
.mb {display:none;}
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

article, aside, dialog, figure, footer, header, hgroup, nav, section {
  display:block;
}

ul,ol,li {
  list-style: none;
  zoom: normal;
}

.clear {
  clear: both;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
    visibility:hidden;
}

.clearfix {
    *zoom: 1;
}

/* -----------------------------------
	style
 ----------------------------------- */

body {
  background: #FFF;
  font-size: 15px;
  line-height: 1.5;
  color: #222;
  font-family: Roboto, "Droid Sans", "Helvetica Neue", Helvetica, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-y: scroll;
}

a {
  outline: none;
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
}

a img:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
}

img {
  vertical-align: bottom;
}

.imgfit {
  width: 100%;
  height: 100%;
  text-align:center;
  overflow:hidden;
  position: relative;
}
.imgfit img {
	position: relative;
	width: 100%;
	height: auto;
}

.hover-alpha:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
}

/* -----------------------------------
	container
 ----------------------------------- */
 
#container {
  width: 90%;
  max-width: 800px;
  margin: 30px auto;
  text-align:center;
}

.main{
  background:#FFF;
  width: 90%;
  max-width: 734px;
  margin:0 auto;
  text-align:center;
}

.item {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin: 0 auto;
}	
	
.item-image {
  width: 48.75%;
  max-width: 390px;
}

.item-image p {
  margin-bottom: 15px;
}

.item-image img {
  width: 100%;
  height: auto;
 }

.item-text {
  display: flex;
  flex-wrap: wrap;
  flex: 1;
  justify-content: center;
  align-content: center;
  align-items: center;
  text-align: left;
  padding: 2.8em 2em;
  background: #FBFBFB;
 }
	
h1, h2 {
  font-size: clamp( 16px, calc( 13.5px + 0.625vw ), 21px );
  font-weight:bold;
  margin:1.5em auto 0.8em auto;
}

.item-text p {
  line-height:1.8;
  text-align: left;
}

figure {
  width:100%;
  margin-bottom: 1.5em;
}

figure img {
  width:100%;
  height:auto;
}

dl {
  background-color: #FFF;
  border-top: 1px solid #E4E4E4;
  border-left: 1px solid #E4E4E4;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin: 0.8em auto 2em auto;
}

dl dt {
  width: 35%;
  background-color: #FBFBFB;
  font-weight: bold;
  padding: 15px;
  border-right:  1px solid #E4E4E4;
  border-bottom: 1px solid #E4E4E4;
}

dl dd {
  width: 65%;
  padding: 15px;
  border-right:  1px solid #E4E4E4;
  border-bottom: 1px solid #E4E4E4;
}

h3 {
  font-weight:bold;
  font-size:1.2rem;
  margin-bottom:0.1em;
}

p.data {
  font-weight:bold;
  font-size:1rem;
  margin:1em 0 0.1em -0.5em;
}

ul.access {
  margin-bottom: 10px;
}
ul.access li {
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 6px;
}

ul.flexbox-set2 {
  width: 100%;
}

ul.flexbox-set2 li {
  flex-basis: 100%;
  margin-bottom:2%;
  text-align:center;
}

ul.flexbox-set2 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
ul.flexbox-set2 li {
  flex-basis: 49%;
  margin-bottom:2%;
  text-align:center;
}
ul.flexbox-set2 li:not(:nth-child(even)) {
  margin-right: 2%;
  margin-bottom:2%;
}	
ul.flexbox-set2 li img {
  width: 100%;
  height:auto;
  padding-bottom:5px;
}

.hr-dots {
  border: 0;
  height: 1px;
  margin: 2.5rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hr-dots::before {
  content: '•••';
  font-size: 1.25em;
  letter-spacing: .75em;
  opacity: .75;
}

p.home {
width: 800px;
margin: 20px auto;
text-align:center;
}

@media screen and (max-width: 599px) {
.pc {display:none;}
.tb {display:none;}
.pctb {display:none;}
.tbmb {display:block;}
.mb {display:block;}
body { font-size: 14px;}
img { max-width: 100%; height:auto;}
#container { width: 100%; margin: 0 auto;}
.main{ width: 90%;}
ul.flexbox-set2 { flex-direction: column;}
ul { flex-direction: column;}
ul.flexbox-set2 li,ul.flexbox-set3 li { width: 100%; margin-bottom:10px;}
ul.flexbox-set2 li:not(:nth-child(even)) { margin-right: 0; margin-bottom:10px;}
.item { flex-direction: column;}	
.item-image { width: 100%; max-width: 664px;}
.item-text { flex-direction: column;}
p.data {font-size:0.9rem;}
p.home { width: 100%; margin: 20px auto; text-align:center;}
}

/*-----------------------------------------------
__margin_padding
-----------------------------------------------*/

.mt0{ margin:0 0 0 0 !important;}
.mt05{ margin-top:5px !important;}
.mt10{ margin-top:10px !important;}
.mt20{ margin-top:20px !important;}

.mb05{ margin-bottom:5px !important;}
.mb08{ margin-bottom:8px !important;}
.mb10{ margin-bottom:15px !important;}
.mb20{ margin-bottom:20px !important;}
.mb25{ margin-bottom:25px !important;}
.mb30{ margin-bottom:30px !important;}

.pt0{ padding:0 0 0 0 !important;}

.pb05{ padding-bottom:5px !important;}
.pb10{ padding-bottom:10px !important;}
.pb20{ padding-bottom:20px !important;}
.pb30{ padding-bottom:30px !important;}
.pb40{ padding-bottom:40px !important;}
