@charset "UTF-8";

/*--------------------------------------------
MV
---------------------------------------------*/

.component.mv {
  color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.component.mv .wrap {
  padding-top: 0;
  padding-bottom: 0;
}

.component.mv .title-mv {
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1.2;
}

@media screen and (max-width: 768px) {
  .component.mv {
    background-image: url("../images/components/mv/bg_sp.png");
  }
  .component.mv .wrap {
    height: calc( 719 * 100vw / 768);
  }
  .component.mv .title-mv {
    font-size: calc( 40 * 100vw / 768);
  }
}

@media print, screen and (min-width: 769px) {
  .component.mv {
    background-image: url("../images/components/mv/bg_pc.png");
  }
  .component.mv .wrap {
    height: 584px;
  }
  .component.mv .title-mv {
    font-size: 40px;
  }
}


/*--------------------------------------------
CONTENT HEADER
---------------------------------------------*/

.component.content-header {
  background-image: url("../images/components/content-header/bg.png");
  background-position: 0 0;
  background-repeat: repeat;
  overflow: hidden;
  border-top-style: solid;
  /*border-bottom-style : solid;*/
  border-top-color: #eee;
  /*border-bottom-color : #eee;*/
  font-weight: 300;
}

.component.content-header .wrap {
  /*display : flex;
	align-items : flex-end;*/
}

.component.content-header .title-header {
  letter-spacing: .1em;
  position: relative;
  font-weight: 300;
}

.component.content-header .title-header span {
  display: block;
  font-weight: 400;
  line-height: 1;
}

.component.content-header .title-header:before, .component.content-header .title-header:after {
  content: "";
  display: block;
  position: absolute;
}

.component.content-header .title-header:before {
  background-color: #ccc;
}

.component.content-header .title-header:after {
  background-color: #e4007f;
}

.component.content-header .title-header.green:after {
  background-color: #8fc31f;
}

.component.content-header .title-header.pink:after {
  background-color: #e26cb4;
}

.component.content-header .title-header.orange:after {
  background-color: #f93;
}

.component.content-header .title-header.blue:after {
  background-color: #6c96ca;
}

.component.content-header .title-header.purple:after {
  background-color: #800080;
}

.component.content-header .title-header.gold:after {
  background-color: #FFD700;
}

.component.content-header .date {
  position: relative;
}

.component.content-header .sub_title {
  letter-spacing: .1em;
  position: relative;
  font-weight: 300;
}

@media screen and (max-width: 768px) {
  .component.content-header {
    border-top-width: calc( 3 * 100vw / 768);
    border-bottom-width: calc( 3 * 100vw / 768);
  }
  .component.content-header .wrap {
    /*height : calc( 300 * 100vw / 768 );*/
    padding-bottom: calc( 46 * 100vw / 768);
  }
  .component.content-header .title-header {
    font-size: calc( 44 * 100vw / 768);
    line-height: 1.2;
    padding-left: calc( 5 * 100% / 720);
    padding-right: calc( 5 * 100% / 720);
    margin-bottom: calc( 43.6 * 100vw / 768);
    width: 100%;
  }
  .component.content-header .title-header span {
    font-size: calc( 26 * 100vw / 768);
    margin-bottom: calc( ( 23 - 4.4) * 100vw / 768);
  }
  .component.content-header .title-header:before {
    left: 0;
    height: calc( 6 * 100vw / 768);
    width: 100%;
    bottom: calc( ( -45 + 4.4) * 100vw / 768);
  }
  .component.content-header .title-header:after {
    right: 0;
    height: calc( 12 * 100vw / 768);
    width: calc( 200 * 100% / 720);
    bottom: calc( ( -42 + 4.4 - 6) * 100vw / 768);
  }
  .component.content-header .date {
    padding-left: calc( 5 * 100% / 720);
    /*margin-bottom : 12px;*/
    margin-bottom: calc( 18px - 3px);
  }
  .component.content-header .sub_title {
    position: relative;
    font-size: calc( 26 * 100vw / 768);
    line-height: 1.17;
    padding-left: calc( 5 * 100% / 720);
    padding-top: 12px;
  }
}

@media print, screen and (min-width: 769px) {
  .component.content-header {
    border-top-width: 1px;
    border-bottom-width: 1px;
  }
  .component.content-header .wrap {
    /*height : 200px;*/
    /*padding-bottom : 52px;*/
    padding-bottom: 30px;
  }
  .component.content-header .title-header {
    position: relative;
    font-size: 36px;
    line-height: 1.17;
    padding-left: 30px;
    margin-bottom: 22px;
  }
  .component.content-header .title-header span {
    font-size: 20px;
    margin-bottom: calc( 18px - 3px);
  }
  .component.content-header .title-header:before {
    width: 1200px;
    height: 2px;
    left: -70px;
    bottom: calc( -23px + 3px);
  }
  .component.content-header .title-header:after {
    width: 500px;
    height: 6px;
    left: 650px;
    bottom: calc( -21px + 3px - 4px);
  }
  .component.content-header .date {
    position: relative;
    padding-left: 30px;
    margin-bottom: 12px;
    text-align: right;
    margin-bottom: calc( 18px - 3px);
  }
  .component.content-header .sub_title {
    position: relative;
    font-size: 26px;
    line-height: 1.17;
    padding-left: 36px;
    padding-top: 12px;
  }
}


/*--------------------------------------------
column
---------------------------------------------*/

.component.column .main dl {
  border-color: #e5e5e5;
  border-style: solid;
  color: #222;
}

.component.column .main dl>div+div {
  border-top-style: dotted;
  border-top-color: #ccc;
}

.component.column .side li+li {
  border-top-color: #efefef;
  border-top-style: solid;
}

.component.column .side ul a {
  display: block;
}

@media screen and (max-width: 768px) {
  .component.column .main time {
    font-size: calc( 26 * 100vw / 768);
  }
  .component.column .main .title01 {
    margin-top: calc( ( 14 - 3) * 100vw / 768);
  }
  .component.column .main .text {
    margin-top: calc( ( 25 - 7) * 100vw / 768);
  }
  .component.column .main dl {
    margin-top: calc( ( 18 - 7) * 100vw / 768);
    border-width: calc( 6 * 100vw / 768);
    padding-left: calc( 34 * 100% / 720);
    padding-right: calc( 34 * 100% / 720);
    padding-top: calc( ( 41 - 22 - 7) * 100vw / 768);
    padding-bottom: calc( ( 39 - 22 - 7) * 100vw / 768);
  }
  .component.column .main dl>div {
    padding-top: calc( ( 22 - 7) * 100vw / 768);
    padding-bottom: calc( ( 22 - 7) * 100vw / 768);
  }
  .component.column .main dl>div+div {
    border-top-width: calc( 3 * 100vw / 768);
  }
  .component.column .main dl dt, .component.column .main dl dd {
    font-size: calc( 26 * 100vw / 768);
    line-height: 1.54;
  }
  .component.column .main dl dt {
    color: #d61518;
  }
  .component.column .main .pagination {
    margin-top: calc( 231 * 100vw / 768);
  }
  .component.column .side {
    margin-top: calc( 73 * 100vw / 768);
  }
  .component.column .side ul {
    margin-top: calc( 2 * 100vw / 768);
  }
  .component.column .side ul li+li {
    border-top-width: calc( 3 * 100vw / 768);
  }
  .component.column .side ul a {
    font-size: calc( 26 * 100vw / 768);
    line-height: 1.27;
    padding-top: calc( ( 23 - 3.5) * 100vw / 768);
    padding-bottom: calc( ( 23 - 3.5) * 100vw / 768);
  }
}

@media print, screen and (min-width: 769px) {
  .component.column .wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
  .component.column .main {
    /*width : 790px;*/
    width: 100%;
  }
  .component.column .main time {
    font-size: 14px;
  }
  .component.column .main .title01 {
    margin-top: calc( 14px * 1.2 - 2px);
  }
  .component.column .main .text {
    margin-top: calc( 19px - 3.5px);
  }
  .component.column .main dl {
    margin-top: calc( 15px - 3.5px);
    border-width: 5px;
    padding-left: 45px;
    padding-right: 45px;
    padding-top: calc( 31px - 11px - 3.5px);
    padding-bottom: calc( 36px - 11px - 3.5px);
  }
  .component.column .main dl>div {
    display: flex;
    align-items: flex-start;
    padding-top: calc( 11px - 3.5px);
    padding-bottom: calc( 11px - 3.5px);
  }
  .component.column .main dl>div+div {
    border-top-width: 1px;
  }
  .component.column .main dt, .component.column .main dd {
    font-size: 16px;
    line-height: 1.44;
    width: 100%;
    /*追加*/
  }
  .component.column .main dt {
    padding-left: 4px;
    padding-right: 4px;
    width: 173px;
  }
  .component.column .pagination {
    margin-top: 32px;
  }
  .component.column .side {
    width: 250px;
    padding-top: calc( 46px - 2.5px);
  }
  .component.column .side ul {
    margin-top: 2.5px;
  }
  .component.column .side ul li+li {
    border-top-width: 1px;
  }
  .component.column .side ul a {
    font-size: 14px;
    line-height: 1.29;
    padding-top: calc( 11.5px - 2px);
    padding-bottom: calc( 11.5px - 2px);
  }
  .component.column .section {
    width: 520px;
  }
}


/*--------------------------------------------
ARTICLES
---------------------------------------------*/

@media screen and (max-width: 768px) {
  .component.articles {
    padding-bottom: calc( 63 * 100vw / 768);
  }
  .component.articles .wrap {
    padding-top: calc( ( 63 - 4) * 100vw / 768);
    padding-bottom: calc( 33 * 100vw / 768);
  }
  .component.articles .article+.article {
    margin-top: calc( ( 107 - 4) * 100vw / 768);
  }
}

@media print, screen and (min-width: 769px) {
  .component.articles .wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-left: 0;
    padding-right: 0;
  }
  .component.articles .wrap>.article {
    background-color: #fff;
    box-shadow: 4px 4px #999;
    width: 530px;
    height: 537px;
    padding-top: calc( 32px - 3px);
    padding-left: 11px;
    padding-right: 11px;
  }
  .component.articles .wrap .title02:before {
    width: 480px;
  }
  .component.articles .ps:hover .ps__scrollbar-y-rail {
    background-color: #efefef;
    opacity: 1;
  }
  .component.articles .ps:hover .ps__scrollbar-y {
    background-color: #ccc;
    opacity: 1;
  }
  .component.articles .ps__scrollbar-y-rail {
    width: 10px;
    background-color: #efefef;
    opacity: 1;
  }
  .component.articles .ps__scrollbar-y-rail:hover .ps__scrollbar-y {
    width: 10px;
  }
  .component.articles .ps__scrollbar-y {
    width: 10px;
    background-color: #ccc;
    border-radius: 0;
    right: 0;
    opacity: 1;
  }
}

.component.articles01 li+li {
  border-top-color: #ccc;
  border-top-style: dashed;
}

.component.articles01 li a {
  display: block;
}

.component.articles01 .box {
  display: flex;
  align-items: center;
}

.component.articles01 .title {
  color: #222;
  line-height: 1.2;
}

.component.articles01>a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-style: solid;
  border-color: #aaa;
  margin-left: auto;
  margin-right: auto;
  color: #222;
}

@media screen and (max-width: 768px) {
  .component.articles01>ul {
    margin-top: calc( ( 41 - 28) * 100vw / 768);
  }
  .component.articles01 li+li {
    border-top-width: calc( 2 * 100vw / 768);
  }
  .component.articles01 li a {
    padding-top: calc( 28 * 100vw / 768);
    padding-bottom: calc( ( 25 - 5) * 100vw / 768);
  }
  .component.articles01 time {
    font-size: calc( 26 * 100vw / 768);
  }
  .component.articles01 .category {
    margin-left: calc( 23 * 100vw / 768);
    height: calc( 43 * 100vw / 768);
  }
  .component.articles01 .title {
    margin-top: calc( ( 14 - 3) * 100vw / 768);
    font-size: calc( 32 * 100vw / 768);
    line-height: 1.19;
    font-weight: 500;
  }
  .component.articles01 .text {
    margin-top: calc( ( 6 + 5 - 5) * 100vw / 768);
    font-size: calc( 26 * 100vw / 768);
    letter-spacing: .1em;
    line-height: 1.38;
  }
  .component.articles01>a {
    border-width: calc( 3 * 100vw / 768);
    width: calc( 300 * 100vw / 768);
    height: calc( 80 * 100vw / 768);
    font-size: calc( 26 * 100vw / 768);
    margin-top: calc( ( 50 - 5) * 100vw / 768);
  }
}

@media print, screen and (min-width: 769px) {
  .component.articles01>ul {
    margin-top: 31px;
    height: 364px;
    width: 100%;
    position: relative;
  }
  .component.articles01 li {
    width: 491px;
  }
  .component.articles01 li+li {
    border-top-width: 1px;
  }
  .component.articles01 li:first-child a {
    padding-top: 0;
  }
  .component.articles01 li a {
    padding-top: 16px;
    padding-bottom: calc( 16px - 3.5px);
    padding-left: 8px;
    padding-right: 8px;
  }
  .component.articles01 time {
    font-size: 13px;
  }
  .component.articles01 .category {
    margin-left: 8px;
    height: 17px;
  }
  .component.articles01 .title {
    font-size: 18px;
    margin-top: calc( 2.6px + 5px - 1.8px);
  }
  .component.articles01 .text {
    margin-top: calc( 3.6px + 5px - 3.5px);
    color: #555;
  }
  .component.articles01>a {
    margin-top: 10px;
    font-size: 16px;
    border-width: 1px;
    width: 205px;
    height: 37px;
  }
}

.component.articles02 li+li {
  border-top-color: #ccc;
  border-top-style: dashed;
}

.component.articles02 li a {
  display: flex;
  align-items: flex-start;
}

.component.articles02 .img {
  flex-shrink: 0;
}

.component.articles02 .category {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  padding-left: .5em;
  padding-right: .5em;
  margin-right: 10px;
  /*追加0305*/
  background-color: #aaa;
}

.component.articles02 .title {
  color: #222;
  line-height: 1.2;
}

.component.articles02 .box {
  display: flex;
  align-items: center;
  margin-top: calc( 3.6px + 5px);
}

.component.articles02 .box_date {
  align-items: center;
  margin-top: calc( 3.6px + 5px);
  font-size: 18px;
  line-height: 1.2;
}

.component.articles02>a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-style: solid;
  border-color: #aaa;
  margin-left: auto;
  margin-right: auto;
  color: #222;
}

@media screen and (max-width: 768px) {
  .component.articles02>ul {
    margin-top: calc( ( 44 - 21) * 100vw / 768);
  }
  .component.articles02 li+li {
    border-top-width: calc( 3 * 100vw / 768);
  }
  .component.articles02 li a {
    padding-top: calc( 21 * 100vw / 768);
    padding-bottom: calc( ( 25 - 5) * 100vw / 768);
  }
  .component.articles02 li a>div {
    margin-left: calc( 6 * 100vw / 768);
  }
  .component.articles02 .img {
    width: calc( 140 * 100vw / 768);
  }
  .component.articles02 .title {
    margin-top: calc( ( 1 - 3) * 100vw / 768);
    font-size: calc( 32 * 100vw / 768);
    line-height: 1.19;
    font-weight: 500;
  }
  .component.articles02 .category {
    font-size: calc( 26 * 100vw / 768);
    height: calc( 43 * 100vw / 768);
  }
  .component.articles02 time {
    /*font-size : calc( 26 * 100vw / 768 );*/
    /*margin-left : calc( 26 * 100vw / 768 );*/
  }
  .component.articles02 .text {
    margin-top: calc( ( 6 + 5 - 5) * 100vw / 768);
    color: #666;
    font-size: calc( 24 * 100vw / 768);
    line-height: 1.25;
    margin-top: calc( ( 6 - 3) * 100vw / 768);
  }
  .component.articles02>a {
    border-width: calc( 3 * 100vw / 768);
    width: calc( 300 * 100vw / 768);
    height: calc( 80 * 100vw / 768);
    font-size: calc( 26 * 100vw / 768);
    margin-top: calc( ( 48 - 3) * 100vw / 768);
  }
}

@media print, screen and (min-width: 769px) {
  .component.articles02>ul {
    margin-top: calc( 31px - 11px);
    height: 364px;
    width: 100%;
    position: relative;
  }
  .component.articles02 li {
    width: 491px;
  }
  .component.articles02 li+li {
    border-top-width: 1px;
  }
  .component.articles02 li:first-child a {
    padding-top: 0;
  }
  .component.articles02 li a {
    padding-top: 11px;
    padding-bottom: calc( 11px - 3.5px);
    padding-right: 8px;
  }
  .component.articles02 li a>div {
    margin-left: 7px;
  }
  .component.articles02 .img {
    width: 100px;
  }
  .component.articles02 .title {
    margin-top: calc( 3px - 1.8px);
    font-size: 18px;
  }
  .component.articles02 .category {
    font-size: 13px;
    height: 20px;
  }
  .component.articles02 time {
    /*font-size : 16px;*/
    /*margin-left : 11px;*/
  }
  .component.articles02 .text {
    margin-top: calc( 2.6px + 5px - 3.5px);
  }
  .component.articles02>a {
    margin-top: 10px;
    font-size: 16px;
    border-width: 1px;
    width: 205px;
    height: 37px;
  }
}


/*--------------------------------------------
GRID01
---------------------------------------------*/

@media screen and (max-width: 768px) {
  .component.grid01 .wrap {
    padding-bottom: calc( 54 * 100vw / 768);
  }
}

@media print, screen and (min-width: 769px) {
  .component.grid01 .wrap {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 520px 540px;
    grid-template-columns: 520px 540px;
    -ms-grid-rows: auto auto;
    grid-template-rows: auto auto;
    padding-top: 32px;
    padding-bottom: 32px;
  }
  .component.grid01 .wrap>section:nth-of-type(1) {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-row: 1/3;
    grid-column: 1/2;
    align-self: flex-start;
  }
  .component.grid01 .wrap>section:nth-of-type(2) {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-row: 1/1;
    grid-column: 2/2;
    margin-left: 20px;
  }
  .component.grid01 .wrap>section:nth-of-type(3) {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-row: 2/2;
    grid-column: 2/2;
    margin-left: 20px;
  }
 .component.grid01 .wrap>section:nth-of-type(4) {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-row: 3/3;
    grid-column: 2/2;
    margin-left: 20px;
  }
  .component.grid01 .title02:before {
    width: 100%;
  }
}


/*--------------------------------------------
LIST01
---------------------------------------------*/

.component.list01 .box {
  display: flex;
  align-items: center;
}

.component.list01 .img {
  border: solid 1px #ddd;
}

.component.list01 .img img {
  width: 100%;
  /*width:250px;
	height:250px;*/
  object-fit: cover !important;
  margin: auto;
}

.component.list01 time {
	color: #222;
	font-size:20px;
	font-weight: 700;
}

.component.list01 .event_time {
	border:solid 2px #ccc; 
	margin:5px 0 5px 0; 
	padding:7px;
	 line-height: 1.2;
}


.component.list01 .title {
  line-height: 1.2;
  letter-spacing: .1em;
}

.component.list01 .subtitle {
  line-height: 1.2;
  letter-spacing: .1em;
}

@media screen and (max-width: 768px) {
  .component.list01 li+li {
    margin-top: calc( ( 62 - 7) * 100vw / 768);
  }
  .component.list01 a {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    -ms-grid-columns: calc( 210 * 100% / 720) auto;
    grid-template-columns: calc( 210 * 100% / 720) auto;
  }
  .component.list01 .img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    grid-row: 1/4;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    align-self: flex-start;
    margin-right: calc( 10 * 100% / 210);
  }
  .component.list01 .box {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
  }
  .component.list01 time {
    font-size: calc( 32 * 100vw / 768);
  }
  .component.list01 .category {
    font-size: calc( * 100vw / 768);
    height: calc( 43 * 100vw / 768);
    /*margin-left : calc( 23 * 100vw / 768 );*/
  }
  .component.list01 .title {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    font-weight: 500;
    font-size: calc( 32 * 100vw / 768);
    padding-top: calc( ( 15 - 3.2) * 100vw / 768);
    color: #221815;
  }
  .component.list01 .subtitle {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    font-weight: 500 !important;
    font-size: calc( 24 * 100vw / 768) !important;
    color: #221815 !important;
    text-align: left !important;
  }
  .component.list01 .text {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    grid-row: 3/4;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    padding-top: calc( ( 6.4 + 5 - 7) * 100vw / 768);
  }
}

@media print, screen and (min-width: 769px) {
  .component.list01 {
    /*display : flex;*/
    justify-content: space-between;
  }
  .component.list01 .img {
    width: 250px;
    height: 250px;
  }
  .component.list01 .img img {}
  .component.list01>li {
    width: 250px;
    display: inline-table;
    margin: 0 5px 20px;
  }
  .component.list01>li>a {
    display: block;
  }
  .component.list01 .box {
    margin-top: 10px;
  }
  .component.list01 time {
    font-size: 18px;
    line-height: 1.4 !important;
  }
  .component.list01 .category {
    height: 17px;
    /*margin-left : 6px;*/
  }
  .component.list01 .title {
    font-size: 18px;
    margin-top: calc( 2.6px + 5px - 1.8px);
  }
  .component.list01 .subtitle {
    font-size: 16px !important;
    margin-top: calc( 2.6px + 5px - 1.8px) !important;
    text-align: left !important;
  }
  .component.list01 .text {
    margin-top: calc( 3.6px + 5px - 3.5px);
    color: #555;
  }
}


/*--------------------------------------------
LIST02 追加　変更0304
---------------------------------------------*/

.component.list02>li {}

.component.list02 .img {
  flex-shrink: 0;
  margin-bottom: 10px;
}

.component.list02 img {
  width: 339px;
  /*height:340px;*/
  object-fit: cover !important;
}

.component.list02 .box {
  display: flex;
  align-items: center;
}

.component.list02 time {
  font-size: 13px;
  color: #222;
}

.component.list02 .title {
  color: #222;
  line-height: 1.2;
}

@media screen and (max-width: 768px) {
  .component.list02 {
    text-align: center;
  }
  .component.list02 li+li {
    margin-top: calc( 84 * 100vw / 768);
  }
  .component.list02 time {
    font-size: calc( 26 * 100vw / 768);
  }
  .component.list02 .category {
    margin-left: calc( 23 * 100vw / 768);
    height: calc( 43 * 100vw / 768);
  }
  .component.list02 .title {
    font-size: calc( 32 * 100vw / 768);
    line-height: 1.19;
    margin-top: calc( ( 15 - 3) * 100vw / 768);
  }
  .component.list02 .text {
    margin-top: calc( ( 16 - 7) * 100vw / 768);
  }
  .component.list02 .btn-more {
    margin-top: calc( ( 39 - 7) * 100vw / 768);
  }
}

@media print, screen and (min-width: 769px) {
  .component.list02 {
    /*display : flex;*/
    justify-content: space-between;
  }
  .component.list02>li {
    width: 339px;
    display: inline-table;
    margin: 0 5px 20px;
  }
  .component.list02 time {
    font-size: 13px;
  }
  .component.list02 .category {
    margin-left: 6px;
    height: 17px;
  }
  .component.list02 .title {
    font-size: 18px;
    margin-top: calc( 2.6px + 5px - 1.8px);
  }
  .component.list02 .text {
    margin-top: calc( 10px - 3.5px);
  }
  .component.list02 .btn-more {
    margin-top: calc( 12px - 3.5px);
  }
}


/*--------------------------------------------
LIST03
---------------------------------------------*/

.component.list03>li {
  display: flex;
  align-items: flex-start;
}

.component.list03 .img {
  flex-shrink: 0;
  border: solid 1px #ddd;
}


/*追加*/


/*.component.list03 img{
	width:250px;
	height:250px;
	object-fit: cover !important;
}*/

.component.list03 .img img {
  width: 100%;
  /*width:250px;
	height:250px;*/
  object-fit: cover !important;
  margin: auto;
}

.component.list03 .box {
  display: flex;
  align-items: center;
}

.component.list03 time {
  font-size: 13px;
  color: #222;
}

.component.list03 .title {
  color: #222;
  line-height: 1.2;
}

@media screen and (max-width: 768px) {
  .component.list03>li+li {
    margin-top: calc( 62 * 100vw / 768);
  }
  .component.list03 .img {
    width: calc( 200 * 100% / 720);
  }
  .component.list03>li>div {
    margin-left: calc( 10 * 100% / 720);
  }
  .component.list03 time {
    font-size: calc( 26 * 100vw / 768);
  }
  .component.list03 .category {
    margin-left: calc( 23 * 100vw / 768);
    height: calc( 43 * 100vw / 768);
  }
  .component.list03 .title {
    font-size: calc( 32 * 100vw / 768);
    line-height: 1.19;
    margin-top: calc( ( 15 - 3) * 100vw / 768);
  }
  .component.list03 .text {
    color: #555;
    margin-top: calc( ( 12 + 5 - 7) * 100vw / 768);
  }
  .component.list03 .btn-more {
    margin-top: calc( ( 37 - 7) * 100vw / 768);
  }
}

@media print, screen and (min-width: 769px) {
  .component.list03 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .component.list03>li {
    width: 520px;
  }
  .component.list03>li:nth-child(n+3) {
    margin-top: 30px;
  }
  .component.list03 .img {
    width: 250px;
  }
  .component.list03>li>div {
    margin-left: 10px;
  }
  .component.list03 time {
    font-size: 13px;
  }
  .component.list03 .category {
    margin-left: 6px;
    height: 17px;
  }
  .component.list03 .title {
    font-size: 18px;
    margin-top: calc( 2.6px + 5px - 1.8px);
  }
  .component.list03 .text {
    color: #555;
    margin-top: calc( 3.6px + 5px - 3.5px);
  }
  .component.list03 .btn-more {
    margin-top: calc( 18px - 3.5px);
  }
}


/*--------------------------------------------
LIST03_2
---------------------------------------------*/

.component.list03_2>li {
  display: flex;
  align-items: flex-start;
}

.component.list03_2 .img {
  flex-shrink: 0;
  border: solid 1px #ddd;
}


/*追加*/


/*.component.list03_2 img{
	width:250px;
	height:250px;
	object-fit: cover !important;
}*/

.component.list03_2 .img img {
  width: 100%;
  /*width:250px;
	height:250px;*/
  object-fit: cover !important;
  margin: auto;
}

.component.list03_2 .box {
  display: flex;
  align-items: center;
  margin-top: 10px;
}

.component.list03_2 time {
  font-size: 13px;
  color: #222;
}

.component.list03_2 .title {
  color: #222;
  line-height: 1.2;
}

.component.list03_2 .subtitle {
  font-size: 16px !important;
  margin-top: calc( 2.6px + 5px - 1.8px) !important;
  text-align: left !important;
}

@media screen and (max-width: 768px) {
  .component.list03_2>li+li {
    margin-top: calc( 62 * 100vw / 768);
  }
  .component.list03_2 .img {
    /*width : calc( 200 * 100% / 720 );*/
  }
  .component.list03_2>li>div {
    margin-left: calc( 10 * 100% / 720);
  }
  .component.list03_2 time {
    font-size: calc( 26 * 100vw / 768);
  }
  .component.list03_2 .category {
    margin-left: calc( 23 * 100vw / 768);
    height: calc( 43 * 100vw / 768);
  }
  .component.list03_2 .title {
    font-size: calc( 32 * 100vw / 768);
    line-height: 1.19;
    margin-top: calc( ( 15 - 3) * 100vw / 768);
  }
  .component.list03_2 .text {
    color: #555;
    margin-top: calc( ( 12 + 5 - 7) * 100vw / 768);
  }
  .component.list03_2 .btn-more {
    margin-top: calc( ( 37 - 7) * 100vw / 768);
  }
}

@media print, screen and (min-width: 769px) {
  .component.list03_2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .component.list03_2>li {
    width: 520px;
  }
  .component.list03_2>li:nth-child(n+3) {
    margin-top: 30px;
  }
  .component.list03_2 .img {
    /*width : 250px;*/
    width: 516px;
  }
  .component.list03_2>li>div {
    margin-left: 10px;
  }
  .component.list03_2 time {
    font-size: 13px;
  }
  .component.list03_2 .category {
    margin-left: 6px;
    height: 17px;
  }
  .component.list03_2 .title {
    font-size: 18px;
    margin-top: calc( 2.6px + 5px - 1.8px);
  }
  .component.list03_2 .text {
    color: #555;
    margin-top: calc( 3.6px + 5px - 3.5px);
  }
  .component.list03_2 .btn-more {
    margin-top: calc( 18px - 3.5px);
  }
}


/*--------------------------------------------
LIST04
---------------------------------------------*/

.component.list04 {
  border-style: solid;
  border-color: #e5e5e5;
  background-color: #fff;
}

.component.list04 li+li {
  border-top-style: dotted;
  border-top-color: #ccc;
}

.component.list04 a {
  display: flex;
}

.component.list04 time {
  flex-shrink: 0;
}

.component.list04 .category {
  flex-shrink: 0;
}

.component.list04.numberlist {
  counter-reset: item;
  list-style-type: none;
}

.component.list04.numberlist li {
  margin: 20px;
}

.component.list04.numberlist li:before {
  counter-increment: item;
  content: counter(item)'';
  /* 以下は自由に装飾... */
  background: #000;
  display: inline-block;
  width: 2em;
  height: 2em;
  text-align: center;
  /*border-radius: 50%;*/
  color: #fff;
  margin-right: .3em;
  font-weight: 700;
  font-size: 120%;
  padding-top: 8px;
}

.component.list04.check {
  counter-reset: item;
  list-style-type: none;
}

.component.list04.check li {
  /*line-height: 1.5;
	padding: 0.5em 0;
	list-style-type: none!important;ポチ消す*/
}

.component.list04.check li:before {}

@media screen and (max-width: 768px) {
  .component.list04 {
    margin-top: calc( 13 * 100vw / 768);
    border-width: calc( 8 * 100vw / 768);
    padding-top: calc( ( 34 - 24) * 100vw / 768);
    padding-bottom: calc( ( 44 - 25 - 3) * 100vw / 768);
    padding-left: calc( 32 * 100% / 768);
    padding-right: calc( 32 * 100% / 768);
  }
  .component.list04 li {
    border-top-width: calc( 3 * 100vw / 768);
    padding: 10px 0 0;
    margin: 20px;
  }
  .component.list04 a {
    /*flex-wrap : wrap;*/
    padding-top: calc( 24 * 100vw / 768);
    padding-bottom: calc( ( 25 - 3) * 100vw / 768);
  }
  .component.list04 time {
    font-size: calc( 26 * 100vw / 768);
    padding-top: calc( 9 * 100vw / 768);
    width: calc( 182 * 100vw / 768);
    color: #221815;
  }
  .component.list04 .category {
    height: calc( 43 * 100vw / 768);
    margin-right: 5px;
  }
  .component.list04 .title {
    color: #221815;
    /*margin-top : calc( ( 15 - 3 ) * 100vw / 768 );*/
    margin-left: 4px;
    font-size: calc( 32 * 100vw / 768);
    line-height: 1.19;
    font-weight: 500;
  }
  .component.list04 .text {
    display: none;
  }
}

@media print, screen and (min-width: 769px) {
  .component.list04 {
    margin-top: 14px;
    border-width: 5px;
    padding-top: calc( 31px - 10px);
    padding-bottom: calc( 34px - 10px);
    padding-left: 45px;
    padding-right: 45px;
  }
  .component.list04 li+li {
    border-top-width: 1px;
    padding: 10px 0 0;
    margin-top: 20px;
  }
  .component.list04 a {
    padding-bottom: 10px;
    padding-top: 10px;
    /*padding-left : 4px;*/
    padding-right: 56px;
    align-items: flex-start;
  }
  .component.list04 time {
    width: 120px;
    font-size: 16px;
    padding-top: 7px;
    padding-left: 4px;
    color: #222;
  }
  .component.list04 .category {
    width: 160px;
    height: 30px;
    font-size: 14px;
    margin-right: 10px;
  }
  .component.list04 .title {
    color: #222;
    font-size: 22px;
    line-height: 1.44;
    padding-top: calc( 7px - 3.5px);
    margin-left: 20px;
  }
  .component.list04 .text {
    margin-top: 5px !important;
    margin-bottom: 10px !important;
    /*margin-left: 310px;*/
    margin-left: 20px;
  }
  .component.list04 .btn-more {
    margin: 10px 20px auto auto;
  }
  .component.list04 .btn-more a {
    padding: 10px 0 10px 0;
  }
}


/*--------------------------------------------
LIST_lecture
---------------------------------------------*/

.component.list_lecture .box {
  display: flex;
  align-items: center;
}

.component.list_lecture .img img {
  width: 100%;
  /*width:250px;
	height:250px;*/
  object-fit: cover !important;
  margin: auto;
}

.component.list_lecture time {
  color: #222;
}

.component.list_lecture .title {
  line-height: 1.4;
  letter-spacing: .1em;
}

.component.list_lecture .subtitle {
  line-height: 1.4;
  letter-spacing: .1em;
  font-size: 16px !important;
  font-weight: normal !important;
}

@media screen and (max-width: 768px) {
  .component.list_lecture li+li {
    margin-top: calc( ( 31 - 7) * 100vw / 768);
  }
  .component.list_lecture a {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    -ms-grid-columns: calc( 210 * 100% / 720) auto;
    grid-template-columns: calc( 210 * 100% / 720) auto;
  }
  .component.list_lecture .img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    grid-row: 1/4;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    align-self: flex-start;
    margin-right: calc( 10 * 100% / 210);
    border: 1px solid #003399;
  }
  .component.list_lecture .box {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
  }
  .component.list_lecture time {
    font-size: calc( 26 * 100vw / 768);
  }
  .component.list_lecture .category {
    font-size: calc( * 100vw / 768);
    height: calc( 43 * 100vw / 768);
    /*margin-left : calc( 23 * 100vw / 768 );*/
  }
  .component.list_lecture .title {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    font-weight: 500;
    font-size: calc( 32 * 100vw / 768);
    padding-top: calc( ( 15 - 3.2) * 100vw / 768);
    color: #221815;
  }
  .component.list_lecture .subtitle {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    font-weight: 500 !important;
    font-size: calc( 24 * 100vw / 768) !important;
    color: #221815 !important;
    text-align: left !important;
  }
  .component.list_lecture .text {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    grid-row: 3/4;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    padding-top: calc( ( 6.4 + 5 - 7) * 100vw / 768);
  }
}

@media print, screen and (min-width: 769px) {
  .component.list_lecture {
    /*display : flex;*/
    justify-content: space-between;
  }
  .component.list_lecture>li {
    width: 250px;
    display: inline-table;
    margin: 0 5px 20px;
  }
  .component.list_lecture>li>a {
    display: block;
  }
  .component.list_lecture .img {
    border: 2px solid #003399;
  }
  .component.list_lecture .img img {
    /*width : 100%;*/
    width: 250px;
  }
  .component.list_lecture .box {
    margin-top: 10px;
  }
  .component.list_lecture time {
    font-size: 13px;
  }
  .component.list_lecture .category {
    height: 17px;
    margin-left: 6px;
  }
  .component.list_lecture .title {
    font-size: 20px;
    font-weight: 700;
    /*margin-top : calc( 2.6px + 5px - 1.8px );*/
  }
  .component.list_lecture .text {
    margin-top: calc( 3.6px + 5px - 3.5px);
    color: #555;
  }
}


/*--------------------------------------------
LIST_brochure
---------------------------------------------*/

.component.list_brochure .box {
  display: flex;
  align-items: center;
}

.component.list_brochure .img img {
  width: 100%;
  border: solid 1px #ddd;
}

.component.list_brochure .title {
  line-height: 1.2;
  letter-spacing: .1em;
}

.component.list_brochure li label {
  text-align: left;
  color: #222;
  margin: 10px 0 0 0;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  padding: 0 0 0 30px;
  vertical-align: middle;
  cursor: pointer;
}

.component.list_brochure input[type=checkbox] {
  display: none;
  margin: 0;
}

.component.list_brochure li label:hover:after {
  border-color: #ccc;
}

.component.list_brochure li label:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 4px;
  display: block;
  margin-top: -10px;
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-radius: 6px;
  content: '';
}

.component.list_brochure li label:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 10px;
  display: block;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 3px solid #ccc;
  border-bottom: 3px solid #ccc;
  content: '';
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.component.list_brochure input[type=checkbox]:checked+label:before {
  opacity: 1;
}

.component.list_brochure input[type=checkbox]:checked+label {
  color: #F60;
}

@media screen and (max-width: 768px) {
  .component.list_brochure li+li {
    margin-top: calc( ( 62 - 7) * 100vw / 768);
  }
  .component.list_brochure a {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    -ms-grid-columns: calc( 210 * 100% / 720) auto;
    grid-template-columns: calc( 210 * 100% / 720) auto;
  }
  .component.list_brochure .img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    grid-row: 1/4;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    align-self: flex-start;
    padding-right: calc( 10 * 100% / 210);
  }
  .component.list_brochure .box {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
  }
  .component.list_brochure time {
    font-size: calc( 26 * 100vw / 768);
  }
  .component.list_brochure .category {
    font-size: calc( * 100vw / 768);
    height: calc( 43 * 100vw / 768);
    margin-left: calc( 23 * 100vw / 768);
  }
  .component.list_brochure .title {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    font-weight: 500;
    font-size: calc( 32 * 100vw / 768);
    padding-top: calc( ( 15 - 3.2) * 100vw / 768);
    color: #221815;
  }
  .component.list_brochure .text {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    grid-row: 3/4;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    padding-top: calc( ( 6.4 + 5 - 7) * 100vw / 768);
  }
}

@media print, screen and (min-width: 769px) {
  .component.list_brochure {
    /*display : flex;*/
    justify-content: space-between;
  }
  .component.list_brochure>li {
    width: 31%;
    display: inline-table;
    margin: 0 5px 20px;
  }
  .component.list_brochure>li>a {
    display: block;
  }
  .component.list_brochure .box {
    margin-top: 10px;
  }
  .component.list_brochure time {
    font-size: 13px;
  }
  .component.list_brochure .category {
    height: 17px;
    margin-left: 6px;
  }
  .component.list_brochure .title {
    font-size: 18px;
    margin-top: calc( 2.6px + 5px - 1.8px);
  }
  .component.list_brochure .text {
    margin-top: calc( 3.6px + 5px - 3.5px);
    color: #555;
  }
}


/*--------------------------------------------
LINK CONTROLLER
---------------------------------------------*/

.component.link-controller {
  /*display : flex;*/
  /*変更*/
  justify-content: center;
  text-align: center;
  /*追加*/
}

.component.link-controller a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 100%;
  border-style: solid;
  border-color: #aaa;
  color: #222;
  padding: 5px 20px 5px 20px;
}

@media screen and (max-width: 768px) {
  .component.link-controller li {
    /*width : calc( 308 * 100% / 720 );*/
    /*変更*/
    height: calc( 60 * 100vw / 768);
    margin: 0 0 5px 0;
    /*追加*/
  }
  .component.link-controller li+li {
    /*margin-left : calc( 25 * 100% / 720 );*/
    /*変更*/
  }
  .component.link-controller a {
    border-width: calc( 3 * 100vw / 768);
    font-size: calc( 23 * 100vw / 768);
  }
}

@media print, screen and (min-width: 769px) {
  .component.link-controller li {
    /*width : 225px;*/
    height: 50px;
    display: inline-block;
    margin: 0 10px 20px 10px;
    vertical-align: top;
    /*追加*/
  }
  .component.link-controller li+li {
    /*margin-left : 20px;*/
    /*変更*/
  }
  .component.link-controller a {
    border-width: 1px;
    font-size: 14px;
line-height:1.5;
  }
}

.component.link-target .fluid {
  overflow: hidden;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  background-position: center;
  background-repeat: no-repeat;
}

.component.link-target .fluid ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .component.link-target>li+li {
    margin-top: calc( ( 118 - 4) * 100vw / 768);
  }
  .component.link-target li>.text {
    margin-top: calc( ( 33 - 7) * 100vw / 768);
  }
  .component.link-target>li:nth-child(1) .fluid {
    padding-top: calc( 54 * 100vw / 768);
    padding-bottom: calc( 37 * 100vw / 768);
  }
  .component.link-target>li:nth-child(2) .fluid {
    padding-top: calc( 82 * 100vw / 768);
    padding-bottom: calc( 82 * 100vw / 768);
  }
  .component.link-target .fluid {
    margin-top: calc( ( 29 - 7) * 100vw / 768);
    background-size: 100% auto;
  }
  .component.link-target .fluid li {
    width: calc( 347 * 100vw / 768);
  }
  .component.link-target .fluid li:nth-child(even) {
    margin-left: calc( 26 * 100vw / 768);
  }
  .component.link-target .fluid li:nth-child(n+3) {
    margin-top: calc( 25 * 100vw / 768);
  }
}

@media print, screen and (min-width: 769px) {
  .component.link-target>li+li {
    margin-top: calc( 97px - 6px);
  }
  .component.link-target li>.text {
    margin-top: calc( 18px - 3.5px);
  }
  .component.link-target .fluid {
    padding-top: 51px;
    padding-bottom: 62px;
    margin-top: calc( 15px - 3.5px);
    background-size: cover;
  }
  .component.link-target .fluid li {
    width: 250px;
  }
  .component.link-target .fluid li+li {
    margin-left: 20px;
  }
}


/*--------------------------------------------
TABS
---------------------------------------------*/

.component.tab-controller {
  /*display : flex;*/
  text-align: center;
  justify-content: center;
}

.component.tab-controller li {
  float: left;
}

.component.tab-controller a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 100%;
  border-style: solid;
  border-color: #aaa;
  color: #222;
  backface-visibility: hidden;
  will-change: background-color, color, border-color;
  transition: background-color .3s ease-in, color .3s ease-in, border-color .3s ease-in;
}

.component.tab-controller .is-current, .component.tab-controller a:hover {
  background-color: #d61518;
  color: #fff;
  border-color: #d61518;
  opacity: 1;
}

.component.tab-controller .dist_end {
display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 100%;
background-color:#000;
  border-style: solid;
  border-color: #000;
  color: #fff;
  backface-visibility: hidden;
  will-change: background-color, color, border-color;
  transition: background-color .3s ease-in, color .3s ease-in, border-color .3s ease-in;
border-width: 1px;
width: 245px;
height: 37px;
font-size: 13px;
opacity:15%;
}

@media screen and (max-width: 768px) {
  .component.tab-controller {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-left: calc( 39 * 100% / 720);
    padding-right: calc( 39 * 100% / 720);
  }
  .component.tab-controller li:nth-child(even) {
    margin-left: calc( 25 * 100vw / 768);
  }
  .component.tab-controller li:nth-child(n+3) {
    margin-top: calc( 17 * 100vw / 768);
  }
  .component.tab-controller a {
    border-width: calc( 3 * 100vw / 768);
    width: calc( 308 * 100vw / 768);
    height: calc( 60 * 100vw / 768);
    font-size: calc( 20 * 100vw / 768);
  }
.component.tab-controller .dist_end {
   border-width: calc( 3 * 100vw / 768);
    width: calc( 308 * 100vw / 768);
    height: calc( 60 * 100vw / 768);
    font-size: calc( 20 * 100vw / 768);
}

}

@media print, screen and (min-width: 769px) {
  .component.tab-controller {
    justify-content: center;
  }
  /*.component.tab-controller li + li{
		margin-left : 20px;
	}*/
  .component.tab-controller li {
    margin: 5px 10px 5px 10px;
  }
  .component.tab-controller a {
    border-width: 1px;
    width: 245px;
    /*205px;*/
    height: 37px;
    font-size: 13px;
  }
}

.component.tab-target {
  clear: both;
}

.component.tab-target>li {
  display: none;
  margin-top: 30px;
}

.component.tab-target>li.is-current {
  display: block;
}

.component.tab-target dl {
  display: flex;
  align-items: center;
}

.component.tab-target dl>div {
  display: flex;
  align-items: center;
}

.component.tab-target dt {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #c9c5b9;
  color: #222;
  letter-spacing: .1em;
}

.component.tab-target dd {
  letter-spacing: .1em;
}

.component.tab-target .fluid {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  background: url("../images/ui/bg/fluid.png") left top repeat;
}

.component.tab-target .iframe-container {
  margin-left: auto;
  margin-right: auto;
}

.component.tab-target figcaption {
  display: flex;
  align-items: center;
  color: #fff;
  background-color: #0098d5;
  background-image: url("../images/ui/icon/chapter.png");
  background-repeat: no-repeat;
  background-position-y: center;
}

.component.tab-target figure ul {
  display: flex;
  align-items: center;
}

.component.tab-target figure button {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-color: #666;
  border-style: solid;
  color: #222;
  letter-spacing: .1em;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .component.tab-target {
    margin-top: calc( ( 36 - 3) * 100vw / 768);
  }
  .component.tab-target .box {
    margin-top: calc( ( 25 - 7) * 100vw / 768);
  }
  .component.tab-target dl {
    flex-wrap: wrap;
  }
  .component.tab-target dl>div {
    margin-top: calc( 7 * 100vw / 768);
  }
  .component.tab-target dl>div:nth-of-type(2) {
    margin-left: calc( 15 * 100vw / 768);
  }
  .component.tab-target dt {
    width: calc( 160 * 100vw / 768);
    height: calc( 34 * 100vw / 768);
    font-size: calc( 26 * 100vw / 768);
  }
  .component.tab-target dd {
    margin-left: calc( 9 * 100vw / 768);
    font-size: calc( 26 * 100vw / 768);
  }
  .component.tab-target .btn-resume {
    margin-top: calc( 10 * 100vw / 768);
  }
  .component.tab-target .fluid {
    padding-top: calc( 52 * 100vw / 768);
    padding-bottom: calc( 40 * 100vw / 768);
    margin-top: calc( 25 * 100vw / 768);
  }
  .component.tab-target .iframe-container {
    width: calc( 720 * 100vw / 768);
    height: calc( 442 * 100vw / 768);
  }
  .component.tab-target figure {
    margin-top: calc( 36 * 100vw / 768);
  }
  .component.tab-target figcaption {
    width: 100%;
    height: calc( 60 * 100vw / 768);
    background-size: calc( 38 * 100vw / 768) calc( 24 * 100vw / 768);
    background-position-x: calc( 20 * 100vw / 768);
    padding-left: calc( 66 * 100vw / 768);
    font-size: calc( 26 * 100vw / 768);
  }
  .component.tab-target figure ul {
    margin-top: calc( ( 21 - 10) * 100vw / 768);
    margin-left: calc( -9 * 100vw / 768);
    flex-wrap: wrap;
  }
  .component.tab-target figure li {
    margin-left: calc( 9 * 100vw / 768);
    margin-top: calc( 10 * 100vw / 768);
  }
  .component.tab-target figure button {
    width: calc( 266 * 100vw / 768);
    height: calc( 50 * 100vw / 768);
    font-size: calc( 26 * 100vw / 768);
    border-width: 1px;
  }
}

@media print, screen and (min-width: 769px) {
  .component.tab-target {
    /*margin-top : calc( 39px - 2px ); 変更0228*/
    margin-top: calc( 19px - 2px);
    padding-top: 10px;
  }
  .component.tab-target .box {
    margin-top: 6px;
    display: flex;
    align-items: center;
  }
  .component.tab-target dl>div:nth-of-type(2) {
    margin-left: 29px;
  }
  .component.tab-target dl>div:nth-of-type(3) {
    margin-left: 35px;
  }
  .component.tab-target dt {
    width: 100px;
    height: 24px;
    font-size: 14px;
  }
  .component.tab-target dd {
    margin-left: 6px;
    font-size: 14px;
  }
  .component.tab-target .btn-resume {
    /*margin-left : 48px;*/
    margin-right: 48px;
  }
  .component.tab-target .fluid {
    padding-top: 19px;
    padding-bottom: 26px;
    margin-top: 7px;
  }
  .component.tab-target .iframe-container {
    width: 870px;
    height: 533px;
  }
  .component.tab-target figure {
    margin-top: 17px;
    display: flex;
    align-items: center;
  }
  .component.tab-target figcaption {
    width: 175px;
    height: 39px;
    background-size: 38px 24px;
    background-position-x: 10px;
    padding-left: 56px;
    font-size: 14px;
  }
  .component.tab-target figure ul {
    margin-left: 14px;
  }
  .component.tab-target figure li+li {
    margin-left: 11px;
  }
  .component.tab-target figure button {
    width: 175px;
    height: 39px;
    font-size: 14px;
    border-width: 1px;
  }
}


/*--------------------------------------------
EXPERIENCE
---------------------------------------------*/

.component.experience dt {
  display: flex;
  align-items: center;
  color: #fff;
}

.component.experience dt.college {
  background-color: #00c4aa;
}

.component.experience dt.course {
  background-color: #f39800;
}

.component.experience dt.result {
  background-color: #dd5a6f;
}

.component.experience dd {
  color: #555;
}

@media screen and (max-width: 768px) {
  .component.experience .college {
    display: none;
  }
  .component.experience .img {
    width: calc( 220 * 100% / 660);
    float: left;
    margin-right: calc( 15 * 100% / 660);
    margin-bottom: calc( 16 * 100vw / 768);
  }
  .component.experience .title03, .component.experience .title04 {
    margin-top: calc( 11px - 1.8px);
    width: calc( 425 * 100% / 660);
    display: inline-block;
  }
  .component.experience dt {
    width: calc( 117 * 100vw / 768);
    height: calc( 34 * 100vw / 768);
    font-size: calc( 24 * 100vw / 768);
    padding-left: calc( 6 * 100vw / 768);
    padding-right: calc( 6 * 100vw / 768);
    margin-top: 6px;
    float: left;
    clear: left;
  }
  .component.experience dd {
    font-size: calc( 23 * 100vw / 768);
    line-height: 1.27;
    margin-top: 6px;
width:78%;
    float: left;
  }
  @media print, screen and (min-width: 769px) {
    .component.experience dl>div {
      display: flex;
      align-items: flex-start;
    }
  }
  .component.experience.articles>li {
    border-style: solid;
    border-color: #eee;
  }
  .component.experience.articles>li>a {
    width: 100%;
    height: 100%;
    display: block;
  }
  .component.experience.articles>li>a>p {
    color: #555;
  }
  @media screen and (max-width: 768px) {
    .component.experience.articles>li {
      border-width: calc( 8 * 100vw / 768);
      padding-left: calc( 22 * 100% / 720);
      padding-right: calc( 22 * 100% / 720);
      padding-top: calc( 24 * 100vw / 768);
      padding-bottom: calc( 23 * 100vw / 768);
    }
    .component.experience.articles>li+li {
      margin-top: calc( 34 * 100vw / 768);
    }
    .component.experience.articles a>p {
      margin-top: calc( 20 * 100vw / 768);
      font-size: calc( 32 * 100vw / 768);
    }
    .component.experience.articles dl {
      margin-top: calc( ( 1 + 15 - 3.5) * 100vw / 768);
    }
    .component.experience.articles dl>div:nth-of-type(2) {
      margin-top: calc( ( 19 - 3.5) * 100vw / 768);
    }
    .component.experience.articles dl>div:nth-of-type(2) dd {
      margin-top: calc( ( 12 - 3.5) * 100vw / 768);
    }
    .component.experience.articles dl>div:nth-of-type(3) {
      clear: both;
      margin-top: calc( ( 34 - 3.5 - 16) * 100vw / 768);
      display: flex;
      align-items: flex-start;
    }
    .component.experience.articles dl>div:nth-of-type(3) dd {
      margin-left: calc( 19 * 100vw / 768);
    }
    .component.experience.articles .btn-more {
      display: none;
    }
  }
  @media print, screen and (min-width: 769px) {
    .component.experience.articles {
      display: flex;
      flex-wrap: wrap;
    }
    .component.experience.articles>li {
      width: 250px;
      border-width: 5px;
      padding-left: 10px;
      padding-right: 10px;
      padding-top: 8px;
      padding-bottom: 13px;
    }
    .component.experience.articles>li:not(:nth-child(4n+1)) {
      margin-left: 19px;
    }
    .component.experience.articles>li:nth-child(n+5) {
      margin-top: 17px;
    }
    .component.experience.articles .title03 {
      margin-top: calc( 11px - 1.8px);
    }
    .component.experience.articles a>p {
      text-align: center;
      margin-top: 8px;
      font-size: 16px;
    }
    .component.experience.articles dl {
      margin-top: 10px;
    }
    .component.experience.articles dl>div+div {
      margin-top: 7px;
    }
    .component.experience.articles dt {
      width: 51px;
      height: 16px;
      font-size: 12px;
      padding-left: 2px;
      padding-right: 2px;
      flex-shrink: 0;
      white-space: nowrap;
    }
    .component.experience.articles dd {
      margin-left: 3px;
      font-size: 14px;
      line-height: 1.14;
    }
    .component.experience.articles .btn-more {
      margin-top: calc( 18px - 1px);
    }
    .component.experience.single {
      border-style: solid;
      border-color: #eee;
      margin: 0 0 20px 0;
      /*追加:0301*/
    }
    .component.experience.single .box div p {
      color: #555;
    }
    .component.experience.single>p {
      color: #555;
    }
    .component.experience.single p.indent {
      text-indent: 1em;
    }
    /*追加 0301*/
    .component.experience.single .chart {
      text-align: center;
      margin: 15px 0 15px 0;
    }
  }
  /*追加 0301*/
  @media screen and (max-width: 768px) {
    .component.experience.single .box {
      border-style: solid;
      border-color: #eee;
      border-width: calc( 8 * 100vw / 768);
      padding-left: calc( 14 * 100% / 720);
      padding-right: calc( 31 * 100% / 720);
      padding-top: calc( 30 * 100vw / 768);
      padding-bottom: calc( 15 * 100vw / 768);
    }
    .component.experience.single .box div p {
      font-size: calc( 32 * 100vw / 768);
      margin-top: calc( 20 * 100vw / 768);
    }
    .component.experience.single .box div span {
      margin-top: calc( ( 1 + 15) * 100vw / 768);
      margin-left: 15px;
      display: block;
      font-size: calc( 20 * 100vw / 768);
    }
    .component.experience.single .box div span:after {
      content: "";
      clear: both;
      display: block;
    }
    .component.experience.single dl {
      margin-top: calc( 20 * 100vw / 768);
      display: block;
    }
    .component.experience.single dl:after {
      content: "";
      clear: both;
      display: block;
    }
    /*
	.component.experience.single dl > div:nth-of-type(1) dd
		margin-top : calc( ( 12 - 3.5 ) * 100vw / 768 );
	}

	.component.experience.single dl > div:nth-of-type(2){
		clear : both;
		margin-top : calc( ( 34 - 3.5 - 16 ) * 100vw / 768 );
		display : flex;
		align-items : flex-start;
	}
	.component.experience.single dl > div:nth-of-type(2) dd{
		margin-left : calc( 19 * 100vw / 768 );
	}

	.component.experience.single h4:nth-of-type(1){
		margin-top : calc( ( 53 - 3 ) * 100vw / 768 );
	}

.component.experience.single dl {
		clear : both;
		margin-top : calc( ( 34 - 3.5 - 16 ) * 100vw / 768 );
		/*display : flex;*/
    align-items: flex-start;
  }
  .component.experience.single dl dd {
    margin-left: calc( 19 * 100vw / 768);
  }
  */ .component.experience.single>p {
    font-size: calc( 26 * 100vw / 768);
    line-height: 1.54;
  }
  .component.experience.single>p+p {
    margin-top: calc( ( 20) * 100vw / 768);
  }
  .component.experience.single h4+p {
    margin-top: calc( ( 19 - 7) * 100vw / 768);
  }
  .component.experience.single p+h4 {
    margin-top: calc( ( 100 - 7 - 3) * 100vw / 768);
  }
}

@media print, screen and (min-width: 769px) {
  .component.experience.single {
    /*border-width : 5px;
	padding-left : 26px;
	padding-right : 26px;
	padding-top : 28px;
	padding-bottom : 100px; */
    border-width: 5px;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom:20px;
    /*変更 0301*/
  }
  .component.experience.single .box {
    display: flex;
    align-items: center;
    border-style: solid;
    border-color: #eee;
    border-width: 5px;	
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .component.experience.single .img {
    /*width : 271px;*/
    width: 170px;
  }
  .component.experience.single .box>div {
    margin-left: 24px;
    width: 700px;
  }
  .component.experience.single .title03:after {
    width: 250px;
  }
  .component.experience.single .box div p {
    font-size: 20px;
    margin-top: 20px;
    width: 40%;
    float: left;
  }
  .component.experience.single .box div span {
    font-size: 16px;
    margin-top: 20px;
    padding: 5px 0 5px 0;
    margin-left: 1em;
    display: block;
  }
  .component.experience.single .box div span:after {
    content: "";
    clear: both;
    display: block;
  }
  .component.experience.single dl {
    margin-top: 20px;
  }
  .component.experience.single dl>div+div {
    margin-top: 8px;
  }
  .component.experience.single dt {
    width: 90px;
    height: 28px;
    font-size: 16px;
    padding-left: 12px;
    padding-right: 12px;
    flex-shrink: 0;
    white-space: nowrap;
    margin-top: 6px;
    float: left;
    clear: left;
  }
  .component.experience.single dd {
    margin-left: 3px;
    font-size: 16px;
    line-height: 1.14;
    margin-left: 10px;
    margin-top: 12px;
    float: left;
  }
  .component.experience.single h4:nth-of-type(1) {
    margin-top: calc( 50px - 2px);
  }
  .component.experience.single>p {
    font-size: 13px;
    line-height: 1.5;
  }
  .component.experience.single h4+p {
    margin-top: calc( 24px - 3.25px);
  }
  .component.experience.single p+h4 {
    margin-top: calc( 80px - 3.25px - 2px);
  }
  .component.experience.single>p+p:not(.nospace) {
    margin-top: 18px;
  }
}


/*--------------------------------------------
staff_profile
---------------------------------------------*/

.component.staff_profile dt {
  display: flex;
  align-items: center;
  color: #fff;
}

.component.staff_profile dt.profile {
  background-color: #aaa;
}

.component.staff_profile dd {
  color: #555;
}

@media screen and (max-width: 768px) {
  .component.staff_profile .college {
    display: none;
  }
  .component.staff_profile .img {
    width: calc( 220 * 100% / 660);
    float: left;
    margin-right: calc( 15 * 100% / 660);
    margin-bottom: calc( 16 * 100vw / 768);
  }
  .component.staff_profile .title03, .component.staff_profile .title04 {
    margin-top: calc( 11px - 1.8px);
    width: calc( 425 * 100% / 660);
    display: inline-block;
  }
  .component.staff_profile dt {
   width: calc( 117 * 100vw / 768);
    height: calc( 34 * 100vw / 768);
    font-size: calc( 24 * 100vw / 768);
    padding-left: calc( 6 * 100vw / 768);
    padding-right: calc( 6 * 100vw / 768);
    padding-top: calc( 6 * 100vw / 768);
    padding-bottom: calc( 6 * 100vw / 768);
  }
  .component.staff_profile dd {
    font-size: calc( 26 * 100vw / 768);
    line-height: 1.27;
  }
}

@media print, screen and (min-width: 769px) {

  .component.staff_profile dl>div {
    display: flex;
    align-items: flex-start;
  }
}

.component.staff_profile.articles>li {
  border-style: solid;
  border-color: #eee;
}

.component.staff_profile.articles>li>a {
  width: 100%;
  height: 100%;
  display: block;
}

.component.staff_profile.articles>li>a>p {
  color: #555;
}

@media screen and (max-width: 768px) {
 .component.staff_profile dt {
   width: 100%;
margin-top: calc( 10 * 100vw / 768);
    font-size: calc( 24 * 100vw / 768);
    padding-left: calc( 6 * 100vw / 768);
    padding-right: calc( 6 * 100vw / 768);
    padding-top: calc( 6 * 100vw / 768);
    padding-bottom: calc( 6 * 100vw / 768);
  }

  .component.staff_profile.articles>li {
    border-width: calc( 8 * 100vw / 768);
    padding-left: calc( 22 * 100% / 720);
    padding-right: calc( 22 * 100% / 720);
    padding-top: calc( 24 * 100vw / 768);
    padding-bottom: calc( 23 * 100vw / 768);
  }
  .component.staff_profile.articles>li+li {
    margin-top: calc( 34 * 100vw / 768);
  }
  .component.staff_profile.articles a>p {
    margin-top: calc( 20 * 100vw / 768);
    font-size: calc( 32 * 100vw / 768);
  }
  .component.staff_profile.articles dl {
    margin-top: calc( ( 1 + 15 - 3.5) * 100vw / 768);
  }
 /*
 .component.staff_profile.articles dl>div:nth-of-type(2) {
    margin-top: calc( ( 19 - 3.5) * 100vw / 768);
  }
  .component.staff_profile.articles dl>div:nth-of-type(2) dd {
    margin-top: calc( ( 12 - 3.5) * 100vw / 768);
  }
  .component.staff_profile.articles dl>div:nth-of-type(3) {
    clear: both;
    margin-top: calc( ( 34 - 3.5 - 16) * 100vw / 768);
    display: flex;
    align-items: flex-start;
  }
  .component.staff_profile.articles dl>div:nth-of-type(3) dd {
    margin-left: calc( 19 * 100vw / 768);
  }
*/
  .component.staff_profile.articles .btn-more {
    display: none;
  }
}

@media print, screen and (min-width: 769px) {
  .component.staff_profile.articles {
    display: flex;
    flex-wrap: wrap;
  }
  .component.staff_profile.articles>li {
    width: 250px;
    border-width: 5px;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 8px;
    padding-bottom: 13px;
  }
  .component.staff_profile.articles>li:not(:nth-child(4n+1)) {
    margin-left: 19px;
  }
  .component.staff_profile.articles>li:nth-child(n+5) {
    margin-top: 17px;
  }
  .component.staff_profile.articles .title03 {
    margin-top: calc( 11px - 1.8px);
  }
  .component.staff_profile.articles a>p {
    text-align: center;
    margin-top: 8px;
    font-size: 16px;
  }
  .component.staff_profile.articles dl {
    margin-top: 10px;
  }
  .component.staff_profile.articles dl>div+div {
    margin-top: 7px;
  }
  .component.staff_profile.articles dt {
    width: 51px;
    height: 16px;
    font-size: 12px;
    padding-left: 2px;
    padding-right: 2px;
    flex-shrink: 0;
    white-space: nowrap;
  }
  .component.staff_profile.articles dd {
    margin-left: 3px;
    font-size: 14px;
    line-height: 1.14;
  }
  .component.staff_profile.articles .btn-more {
    margin-top: calc( 18px - 1px);
  }
}

.component.staff_profile.single {
  border-style: solid;
  border-color: #eee;
  margin: 0 0 20px 0;
  /*追加:0301*/
}

.component.staff_profile.single .box div p {
  color: #555;
}

.component.staff_profile.single>p {
  color: #555;
}

.component.staff_profile.single p.indent {
  text-indent: 1em;
}


/*追加 0301*/

.component.staff_profile.single .chart {
  text-align: center;
  margin: 15px 0 15px 0;
}


/*追加 0301*/

@media screen and (max-width: 768px) {
  .component.staff_profile.single .box {
    border-style: solid;
    border-color: #eee;
    border-width: calc( 8 * 100vw / 768);
    padding-left: calc( 14 * 100% / 720);
    padding-right: calc( 31 * 100% / 720);
    padding-top: calc( 30 * 100vw / 768);
    padding-bottom: calc( 15 * 100vw / 768);
  }
  .component.staff_profile.single .box div p {
    font-size: calc( 32 * 100vw / 768);
    margin-top: calc( 20 * 100vw / 768);
  }
  .component.staff_profile.single .box div p span {
    margin-top: calc( ( 1 + 15) * 100vw / 768);
    display: block;
    font-size: calc( 26 * 100vw / 768);
  }
  .component.staff_profile.single dl {
    margin-top: calc( 20 * 100vw / 768);
  }
 .component.staff_profile.single dl dd {
    margin-top: calc( ( 12 - 3.5) * 100vw / 768);
  }
/*
  .component.staff_profile.single dl>div:nth-of-type(1) dd {
    margin-top: calc( ( 12 - 3.5) * 100vw / 768);
  }
  .component.staff_profile.single dl>div:nth-of-type(2) {
    clear: both;
    margin-top: calc( ( 34 - 3.5 - 16) * 100vw / 768);
    display: flex;
    align-items: flex-start;
  }
  .component.staff_profile.single dl>div:nth-of-type(2) dd {
    margin-left: calc( 19 * 100vw / 768);
  }
  .component.staff_profile.single h4:nth-of-type(1) {
    margin-top: calc( ( 53 - 3) * 100vw / 768);
  }
*/
  .component.staff_profile.single>p {
    font-size: calc( 26 * 100vw / 768);
    line-height: 1.54;
  }
  .component.staff_profile.single>p+p {
    margin-top: calc( ( 20) * 100vw / 768);
  }
  .component.staff_profile.single h4+p {
    margin-top: calc( ( 19 - 7) * 100vw / 768);
  }
  .component.staff_profile.single p+h4 {
    margin-top: calc( ( 100 - 7 - 3) * 100vw / 768);
  }
}

@media print, screen and (min-width: 769px) {
  .component.staff_profile.single {
    /*border-width : 5px;
		padding-left : 26px;
		padding-right : 26px;
		padding-top : 28px;
		padding-bottom : 100px; */
    border-width: 5px;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .component.staff_profile.single .box {
    display: flex;
    align-items: center;
  }
  .component.staff_profile.single .img {
    width: 271px;
    margin: 0 0 auto;
  }
  .component.staff_profile.single .box>div {
    margin-left: 24px;
    width: 90%;
  }
  .component.staff_profile.single .title03:after {
    width: 250px;
  }
  .component.staff_profile.single .box div p {
    font-size: 20px;
    margin-top: 20px;
  }
  .component.staff_profile.single .box div p span {
    font-size: 16px;
    margin-left: 1em;
  }
  .component.staff_profile.single dl {
    margin-top: 20px;
  }
  .component.staff_profile.single dl>div+div {
    margin-top: 8px;
  }
  .component.staff_profile.single dt {
    width: 170px;
    /*height : 38px;*/
    font-size: 16px;
    /*padding-left : 12px;
		padding-right : 12px;*/
    padding: 12px;
    flex-shrink: 0;
    /*white-space : nowrap;*/
  }
  .component.staff_profile.single dd {
    margin-left: 3px;
    font-size: 16px;
    line-height: 1.14;
    margin-left: 10px;
    /*margin-top : 6px;*/
  }
  .component.staff_profile.single h4:nth-of-type(1) {
    margin-top: calc( 50px - 2px);
  }

  .component.staff_profile.single h4+p {
    margin-top: calc( 24px - 3.25px);
  }
  .component.staff_profile.single p+h4 {
    margin-top: calc( 80px - 3.25px - 2px);
  }
  .component.staff_profile.single>p+p:not(.nospace) {
    margin-top: 18px;
  }
}


/*--------------------------------------------
event
---------------------------------------------*/

.component.event dt {
  display: flex;
  align-items: center;
  color: #fff;
}

.component.event dt.item {
  background-color: #bbb;
}

.component.event dd {
  color: #555;
}

@media screen and (max-width: 768px) {
  .component.event .college {
    display: none;
  }
  .component.event .img {
    width: calc( 220 * 100% / 660);
    float: left;
    margin-right: calc( 15 * 100% / 660);
    margin-bottom: calc( 16 * 100vw / 768);
  }
  .component.event .title03, .component.event .title04 {
    margin-top: calc( 11px - 1.8px);
    width: calc( 425 * 100% / 660);
    display: inline-block;
  }
  .component.event dt {
    width: calc( 117 * 100vw / 768);
    height: calc( 34 * 100vw / 768);
    font-size: calc( 24 * 100vw / 768);
    padding-left: calc( 6 * 100vw / 768);
    padding-right: calc( 6 * 100vw / 768);
  }
  .component.event dd {
    /*font-size: calc( 26 * 100vw / 768);*/
font-size: calc( 32 * 100vw / 768);
    line-height: 1.27;
  }
}

@media print, screen and (min-width: 769px) {
  .component.event dl>div {
    display: flex;
    align-items: flex-start;
  }
}

.component.event.articles>li {
  border-style: solid;
  border-color: #eee;
}

.component.event.articles>li>a {
  width: 100%;
  height: 100%;
  display: block;
}

.component.event.articles>li>a>p {
  color: #555;
}

@media screen and (max-width: 768px) {
  .component.event.articles>li {
    border-width: calc( 8 * 100vw / 768);
    padding-left: calc( 22 * 100% / 720);
    padding-right: calc( 22 * 100% / 720);
    padding-top: calc( 24 * 100vw / 768);
    padding-bottom: calc( 23 * 100vw / 768);
  }
  .component.event.articles>li+li {
    margin-top: calc( 34 * 100vw / 768);
  }
  .component.event.articles a>p {
    margin-top: calc( 20 * 100vw / 768);
    font-size: calc( 32 * 100vw / 768);
  }
  .component.event.articles dl {
    margin-top: calc( ( 1 + 15 - 3.5) * 100vw / 768);
  }
  .component.event.articles dl>div:nth-of-type(2) {
    margin-top: calc( ( 19 - 3.5) * 100vw / 768);
  }
  .component.event.articles dl>div:nth-of-type(2) dd {
    margin-top: calc( ( 12 - 3.5) * 100vw / 768);
  }
  .component.event.articles dl>div:nth-of-type(3) {
    clear: both;
    margin-top: calc( ( 34 - 3.5 - 16) * 100vw / 768);
    display: flex;
    align-items: flex-start;
  }
  .component.event.articles dl>div:nth-of-type(3) dd {
    margin-left: calc( 19 * 100vw / 768);
  }
  .component.event.articles .btn-more {
    display: none;
  }
}

@media print, screen and (min-width: 769px) {
  .component.event.articles {
    display: flex;
    flex-wrap: wrap;
  }
  .component.event.articles>li {
    width: 250px;
    border-width: 5px;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 8px;
    padding-bottom: 13px;
  }
  .component.event.articles>li:not(:nth-child(4n+1)) {
    margin-left: 19px;
  }
  .component.event.articles>li:nth-child(n+5) {
    margin-top: 17px;
  }
  .component.event.articles .title03 {
    margin-top: calc( 11px - 1.8px);
  }
  .component.event.articles a>p {
    text-align: center;
    margin-top: 8px;
    font-size: 16px;
  }
  .component.event.articles dl {
    margin-top: 10px;
  }
  .component.event.articles dl>div+div {
    margin-top: 7px;
  }
  .component.event.articles dt {
    width: 51px;
    height: 16px;
    font-size: 12px;
    padding-left: 2px;
    padding-right: 2px;
    flex-shrink: 0;
    white-space: nowrap;
  }
  .component.event.articles dd {
    margin-left: 3px;
    font-size: 14px;
    line-height: 1.14;
  }
  .component.event.articles .btn-more {
    margin-top: calc( 18px - 1px);
  }
}

.component.event.single {
  border-style: solid;
  border-color: #eee;
  margin: 0 0 20px 0;
  /*追加:0301*/
}

.component.event.single .box div p {
  color: #555;
}

.component.event.single>p {
  color: #555;
}

.component.event.single p.indent {
  text-indent: 1em;
}


/*追加 0301*/

.component.event.single .chart {
  text-align: center;
  margin: 15px 0 15px 0;
}


/*追加 0301*/

@media screen and (max-width: 768px) {
  .component.event.single .box {
    border-style: solid;
    border-color: #eee;
    border-width: calc( 8 * 100vw / 768);
    padding-left: calc( 14 * 100% / 720);
    padding-right: calc( 31 * 100% / 720);
    padding-top: calc( 30 * 100vw / 768);
    padding-bottom: calc( 15 * 100vw / 768);
  }
  .component.event.single .box div p {
    font-size: calc( 32 * 100vw / 768);
    margin-top: calc( 20 * 100vw / 768);
  }
  .component.event.single .box div p span {
    margin-top: calc( ( 1 + 15) * 100vw / 768);
    display: block;
    font-size: calc( 26 * 100vw / 768);
  }
  .component.event.single dl {
    margin-top: calc( 20 * 100vw / 768);
    clear: both;
  }
  .component.event.single dl>div:nth-of-type(1) dd {
    margin-top: calc( ( 12 - 3.5) * 100vw / 768);
    margin-bottom: calc( ( 12 - 3.5) * 100vw / 768);
  }
  .component.event.single dl>div:nth-of-type(2) {
    clear: both;
    /*display : flex;
		align-items : flex-start;*/
    margin-top: calc( ( 34 - 3.5 - 16) * 100vw / 768);
  }
  .component.event.single dl>div:nth-of-type(2) dd {
    margin-top: calc( ( 12 - 3.5) * 100vw / 768);
    margin-bottom: calc( ( 12 - 3.5) * 100vw / 768);
    /*margin-left : calc( 19 * 100vw / 768 );
		
	}
	.component.event.single dl > div:nth-of-type(3){
		clear : both;
		/*display : flex;
		align-items : flex-start;*/
    margin-top: calc( ( 34 - 3.5 - 16) * 100vw / 768);
  }
  .component.event.single dl>div:nth-of-type(3) dd {
    margin-top: calc( ( 12 - 3.5) * 100vw / 768);
    margin-bottom: calc( ( 12 - 3.5) * 100vw / 768);
    /*margin-left : calc( 19 * 100vw / 768 );*/
  }
  .component.event.single dl>div:nth-of-type(4) {
    clear: both;
    /*display : flex;
		align-items : flex-start;*/
    margin-top: calc( ( 34 - 3.5 - 16) * 100vw / 768);
  }
  .component.event.single dl>div:nth-of-type(4) dd {
    margin-top: calc( ( 12 - 3.5) * 100vw / 768);
    margin-bottom: calc( ( 12 - 3.5) * 100vw / 768);
    /*margin-left : calc( 19 * 100vw / 768 );*/
  }
  .component.event.single h4:nth-of-type(1) {
    margin-top: calc( ( 53 - 3) * 100vw / 768);
  }
  .component.event.single>p {
    font-size: calc( 26 * 100vw / 768);
    line-height: 1.54;
  }
  .component.event.single>p+p {
    margin-top: calc( ( 20) * 100vw / 768);
  }
  .component.event.single h4+p {
    margin-top: calc( ( 19 - 7) * 100vw / 768);
  }
  .component.event.single p+h4 {
    margin-top: calc( ( 100 - 7 - 3) * 100vw / 768);
  }
}

@media print, screen and (min-width: 769px) {
  /*20200727追加ページ内リンクズレ調整*/
  #event {
    /*padding-top: 140px;*/
  }
  .component.event.single {
    /*border-width : 5px;
		padding-left : 26px;
		padding-right : 26px;
		padding-top : 28px;
		padding-bottom : 100px; */
    /*border-width : 5px;
		padding-left : 10px;
		padding-right : 10px;
padding-bottom : 20px; 
*/
    padding-top: 140px;
    margin-top: -140px;
    /*20200727追加*/
  }
  .component.event.single .box {
    display: flex;
    align-items: center;
    border-width: 5px;
    border-style: solid;
    border-color: #eee;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .component.event.single .img {
    width: 310px;
    margin: 0 0 auto;
  }
  .component.event.single .box>div {
    margin-left: 24px;
    /*width : 90%;*/
    width: 99%;
  }
  .component.event.single .title03:after {
    width: 250px;
  }
  .component.event.single .box div p {
    font-size: 20px;
    margin-top: 20px;
    line-height: 1.4;
  }
  .component.event.single .box div p span {
    font-size: 16px;
    margin-left: 1em;
  }
  .component.event.single dl {
    margin-top: 20px;
  }
  .component.event.single dl>div+div {
    margin-top: 8px;
  }
  .component.event.single dt {
    width: 170px;
    /*height : 38px;*/
    font-size: 16px;
    /*padding-left : 12px;
		padding-right : 12px;*/
    padding: 12px;
    flex-shrink: 0;
    /*white-space : nowrap;*/
  }
  .component.event.single dd {
    margin-left: 3px;
    font-size: 18px;
    line-height: 1.4;
    margin-left: 10px;
    /*margin-top : 6px;*/
  }
  .component.event.single h4:nth-of-type(1) {
    margin-top: calc( 50px - 2px);
  }
  .component.event.single>p {
    font-size: 13px;
    line-height: 1.5;
  }
  .component.event.single h4+p {
    margin-top: calc( 24px - 3.25px);
  }
  .component.event.single p+h4 {
    margin-top: calc( 80px - 3.25px - 2px);
  }
  .component.event.single>p+p:not(.nospace) {
    margin-top: 18px;
  }
}


/*-追加0228*/

.taiken .hideContent {
  display: none;
}

.taiken .inner li {
  padding: 10px 0;
}

@media screen and (max-width: 768px) {
  .taiken .btn-more {
    cursor: pointer;
    margin: 20px auto;
  }
}

@media print, screen and (min-width: 769px) {
  .taiken .btn-more {
    cursor: pointer;
    padding: 10px;
    margin-top: 20px;
  }
}


/*-追加0422*/

.countdown .hideContent {
  display: none;
}

@media screen and (max-width: 768px) {
  .countdown .btn-more {
    cursor: pointer;
  }
}

@media print, screen and (min-width: 769px) {
  .countdown .btn-more {
    cursor: pointer;
    padding: 10px;
  }
}

.article_module .hideContent {
  display: none;
  margin-top: 18px;
}

@media screen and (max-width: 768px) {
  .article_module .btn-more {
    cursor: pointer;
    margin-bottom: 20px;
  }
}

@media print, screen and (min-width: 769px) {
  .article_module .btn-more {
    cursor: pointer;
    padding: 10px;
    margin-bottom: 20px;
  }
}

.rss_contents .hideContent {
  display: none;
  margin-top: 18px;
}

@media screen and (max-width: 768px) {
  .rss_contents .btn-more {
    cursor: pointer;
  }
}

@media print, screen and (min-width: 769px) {
  .rss_contents .btn-more {
    cursor: pointer;
    padding: 10px;
    margin-top: 18px;
    margin-bottom: 18px;
  }
}


/*--------------------------------------------
BLOG
---------------------------------------------*/

.component.blogs .box {
  display: flex;
  align-items: center;
}

.component.blogs time, .component.blogs .title {
  color: #222;
}

.component.blogs .text {
  letter-spacing: 0;
  color: #333;
}

@media screen and (max-width: 768px) {
  .component.blogs {
    margin-top: calc( ( 51 - 28) * 100vw / 768);
  }
  .component.blogs li+li {
    border-top: dashed calc( 2 * 100vw / 768) #c9b9b9;
  }
  .component.blogs li a {
    padding-top: calc( 28 * 100vw / 768);
    padding-bottom: calc( ( 28 - 5) * 100vw / 768);
    display: block;
    letter-spacing: .1em;
  }
  .component.blogs time {
    font-size: calc( 26 * 100vw / 768);
    margin-right: calc( 23 * 100vw / 768);
  }
  .component.blogs .category {
    height: calc( 43 * 100vw / 768);
  }
  .component.blogs .title {
    font-size: calc( 32 * 100vw / 768);
    line-height: 1.19;
    margin-top: calc( ( 15 - 3) * 100vw / 768);
  }
  .component.blogs .text {
    font-size: calc( 26 * 100vw / 768);
    line-height: 1.38;
    margin-top: calc( 5 * 100vw / 768);
  }
  .component.blogs li .btn-more {
    display: none;
  }
}

@media print, screen and (min-width: 769px) {
  .component.blogs {
    /*margin-top : 45px;*/
    display: flex;
    align-items: center;
  }
  .component.blogs li {
    background-color: #fff;
    box-shadow: 3px 3px #999;
    width: 250px;
    height: 250px;
  }
  .component.blogs li a {
    display: flex;
    flex-direction: column;
    padding-top: 16px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 17px;
    height: 100%;
  }
  .component.blogs li:not(:nth-child(4n+1)) {
    margin-left: 20px;
  }
  .component.blogs time {
    font-size: 13px;
    margin-right: 8px;
  }
  .component.blogs .category {
    height: 17px;
  }
  .component.blogs .title {
    font-size: 18px;
    line-height: 1.2;
    margin-top: calc( 5px + 2.6px - 1.8px);
  }
  .component.blogs .text {
    margin-top: calc( 5px + 3.6px - 3.5px) !important;
    color: #555;
  }
  .component.blogs li .btn-more {
    margin-top: auto;
  }
}


/*# sourceMappingURL=../maps/component.css.map */
.component.content-header{
background-image:url("/common/css/ti2bev00000014wl-img/bg.png");
}@media screen and (max-width: 768px){.component.mv{

}}.component.tab-target .fluid{
background-image:url("/common/css/ti2bev00000014wl-img/fluid.png");
}.component.tab-target figcaption{
background-image:url("/common/css/ti2bev00000014wl-img/chapter.png");
}.component.list04.check li{
list-style-image:url("/common/css/ti2bev00000014wl-img/check.png");
}